ex ) 사용자 비밀번호. 사용자가 입력한 비밀번호를 암호화하여 db에 저장이 될때, 모든 접근자는 암호화 된 코드를 다시 평문으로 볼 수 없다. 이는 해킹이 되어도 복호화가 매우 힘들다
해쉬 방식이 대표적
해쉬 함수: 해쉬 함수는 임의의 길이의 데이터를 입력받아 일정한 길이의 비트열로 반환 시켜주는 함수로 입력값의 길이가 달라도 출력값은 언제나 동일한 길이로 반환되며 동일한 값이 입력되면 언제나 동일한 출력값을 보장하는 함수를 의미한다.
ex) MD5 encrypt : key 필요없고 , 암호화 속도 빠르다 보안성 부족
양방향 암호화 : 암호화와 복화화 모두 가능한 것이 특징
ex) 이메일 , 번호 또는 전자 서명. 이와 같이 재사용성이 있는 정보는 암호화 , 복호화 모두 이루어져야 한다.
대칭키, 비대칭키 방식이 대표적
- 양방향 알고리즘
대칭형(비밀키 암호): 암호화 , 복호화 시 모두 동일한 키를 사용
비대칭형(공개키 암호) : 암호화, 복호화에 서로 다른 키를 사용
대칭형(비공개키 암호) 알고리즘
암호화 , 복호화에 서로 동일한 키가 사용되는 암호화 방식으로 키를 비공개하는 것이 특징이다. 속도가 빠르다는 장점이 존재하지만 키 배송 위험성이 존재해 송신측에서 수신측에 암호키를 전달하는 과정에서 키가 노출된 우려가 있다는 단점이 존재한다. 대표적으로 AES존재
대게 암호화 알고리즘이라고 하면 이 알고리즘을 가리킨다. 현재 가장 보편적으로 쓰이는 암호화 방식은 현 미국 표전 방식은 AES로 128 ~256비트 키를 적용할 수 있어 보안성이 뛰어나면 공개된 알고리즘이라 누구나 사용 가능하지만 키 배송과정에서 털리게 되면 아무리 뛰어난 암호화 알고리즘을 사용해도 속절없이 평문이 드러나게 된다. 이런 키 배송문제를 해결하기 위해 타나난 방식이 비대칭형 암호이다.
비대칭형 ( 공개키 암호 ) 알고리즘
암호화 , 복호화에 서로 다른 키가 사용되는 방식으로 하나의 키는 공개키로 사용하는 것이 특징이다. 키 배송문제를 차단해 안정성이 높지만 대칭키 방식에 비해 느리다. 대표적으로는 RSA가 있다.
RSA : 공개키 암호 시스템의 하나로 암호화뿐만 아니라 전자서명이 가능항 최초의 알고리즘으로 주로 적은양의 데이터나 전자서명에 사용합니다. 대칭키인 DES, AES 보다 속도가 느리기 때문에 메세지 암호화에는 쓰이지 않고 주로 키를 암호화하는데에 사용된다.
public key for encrypt (외부 공용), private key for decrypt (내부 용)
암호화를 하면 하나의 키 쌍이 생기고, 이 두 개의 키는 수학적으로 밀접한 관계를 가지게 된다. 두개의 키를 각각 A키 ,B키라고 A키로 암호화한 암호문은 B 키로만 복호화 할 수 있고, B키로 암호화 한 암호문은 A키로만 복호화 할 수 있다. 이중 하나의 키만 비밀로 하고( = 비밀키 , 개인키) 다른 하나의 키는 누구에게 공개해도(= 공개키) 가능한 키가 된다. 하지만 매우 느리기 때문에 현실적으로 비대칭형 암호를 이용해 대칭형 암호의 키를 배송하고, 실제 암호문은 대칭형 암호를 사용하는 식으로 상호 보완적으로 이용하는 것이 일반적이다.