> 작성일 : 2017-03-04
> 수정일 : 2025-01-02
① Encryption : 송신자는 해쉬함수를 이용해 평문을 암호화 한다.
② Transmit : 암호문을 수신자에게 전송한다.
③ Compare : 전송된 암호문과 저장된 암호문을 비교한다.
※ 암호문을 복호화 하는것은 불가능하다.
# 장점
- 암호화키를 사용하지 않으므로 공유절차 없이 보안을 유지할 수 있음
# 단점
- 복호화가 필요한 경우에는 사용이 불가능함
# 사용예
- 사용자 개인정보를 암호화 하여 디비에 저장하고 인증시 암호화된 값으로만 비교
암호화 키를 생성하여 송신자(A)와 수신자(B)가 공유하는 방식.
① Create Private Key And Share : 암호화키를 생성하여 서로 공유한다.
② Encryption : 공유된 암호화키를 이용해 평문을 암호화 한다.
③ Transmit : 암호문을 수신자에게 전송한다.
④ Decryption : 공유된 암호화키를 이용해 암호문을 복호화 한다.
# 장점
- 암호화 연산 속도가 빨라 효율적으로 시스템 구축가능
# 단점
- 암호화 / 복호화를 위해 키가 공유되어야 하므로 노출되기 쉬움
- 키가 노출될 우려 때문에 개발 버전업 또는 일정 주기로 변경관리 해주어야 함
(노출될 우려가 전혀 없다면 최초 생성된 키를 계속 사용하기도 함)
고정된 크기의 블롣단위로 암·복호화 연산을 수행하며 각 블록의 연산에는 동일한 키가 이용된다. 전치와 환자를 반복시켜 암호화하면 평문의 통계적 성질이나 암호 키와의 관계가 나타나지 않아 안전한 암호를 구성할 수 있다.
이진화된 평문 스트림과 이진 키스트림 수열의 XOR 연산으로 암호문을 생성하는 방식으로 주기, 선형 복잡도 등 안전성과 관련된 수학적 분석이 가능하고 알고리즘 구현이 쉬운 특징이 있다.
송신자(A)는 수신자(B)의 공개키(Public Key)로 암호화하여 전송하고 수신자(B)는 비밀키(Secret Key)로 복호화함.
① Create Key Pair And Share Public Key : 키쌍을 생성하고 공개키를 공유한다.
② Encryption : 공유된 공개키로 평문을 암호화 한다.
③ Transmit : 암호문을 수신자에게 전송한다.
④ Decryption : 자신만 알고있는 비밀키를 이용해 암호문을 복호화 한다.
# 장점
- 다른 유저와 키를 공유하지 않더라도 암호화가 가능함.
- 공개키로 누구나 암호화를 할 수는 있지만 송신자만 보유한 비밀키가 없으면 복원이 불가함.
- 연산이 많고 복잡하나 공개키와 비밀키를 활용한 광범위한 인증이 제공됨.
# 단점
- 수학적인 난제를 기반으로 설계되어 연산비용이 높아 효율성이 떨어짐.
Tags : 암호화, 암호화유형, 단방향 암호화, 해쉬함수, 양방향 암호화, 대칭키 암호화, 비밀키 암호화, 블록 암호, 스트림 암호, 비대칭키 암호화, 공개키 암호화