[암호화] 2. 종류

암호화의 종류를 구분하면 다음과 같다.

encrypt2
* 해쉬 함수 (단방향 암호화)
평문을 고정된 길이의 암호문(해쉬값)을 출력하게되는데 암호화 키를 사용하지 않아 항상 동일한 값이 출력된다. 그러므로 복호화가 필요한 경우에는 사용할 수 없으며 누군가의 신원인증을 위해 사용된다.
>> ex) 사용자 password의 데이터 베이스 저장
* 대칭키 암호화 (비밀키 암호화)
송신자와 수신자가 동일한 키를 가지고 암호화 / 복호화 하므로 암호화 키가 노출되지 않아야 하는 단점이 있으나 암호화 연산 속도가 빨라 효율적으로 시스템을 구축할 수 있다.
– 블록 암호 : 고정된 크기의 블롣단위로 암·복호화 연산을 수행하며 각 블록의 연산에는 동일한 키가 이용된다. 전치와 환자를 반복시켜 암호화하면 평문의 통계적 성질이나 암호 키와의 관계가 나타나지 않아 안전한 암호를 구성할 수 있다.
– 스트림 암호 : 이진화된 평문 스트림과 이진 키스트림 수열의 XOR 연산으로 암호문을 생성하는 방식으로 주기, 선형 복잡도 등 안전성과 관련된 수학적 분석이 가능하고 알고리즘 구현이 쉬운 특징이 있다.
* 비대칭키 암호화 (공개키 암호화)
송신자는 수신자의 공개키에 해당하는 정보를 사용하여 데이터를 암호화하여 네트워크를 통해 전송하고 수신자는 자신의 공개키에 해당하는 비밀키로 암호화된 데이터를 복호화하여 평문을 복원한다.
다른 유저와 키를 공유하지 않더라도 암호를 통한 안전한 통신을 한다는 장점을 갖는다. 각 사용자는 자신에게 전송하기 위해 사용될 키를 공개하고, 공개된 키 정보로 암호화된 정보를 복호화할 수 있는 키를 비밀로 보유하고 있음으로써 누구나 암호화할 수 있지만 공개키에 대응되는 비밀키를 가진 당사자만 복호화할 수 있는 특징을 가진다.
공개키 암호는 수학적인 난제를 기반으로 설계되어 있고, 암호화나 복호화를 수행하기 위한 연산이 복잡한 수학 연산을 기반으로 구성되기 때문에 효율성은 비밀키 암호에 비해 높지 않다. 공개키 암호의 경우에는 모두가 확인할 수 있는 공개키에 대응되는 비밀키가 각 사용자만 알고 있는 정보이기 때문에 광범위한 인증 기능이 제공된다.
※ 자세한 설명은 [KISA 홈페이지] 참조

댓글 남기기