공개키 암호화 방식은 암호방식중 한종류로 사전에 비밀키를 나눠가지지 않은 사용자들이 안전하게 통신할 수 있도록 설계된 것입니다. 공개키 알고리즘은 비대칭 암호라고 부르기도 합니다. 왜냐면 공개키 암호화 방식은 암/복호화에 다른 암호키를 사용하기 때문입니다.
통신을 위해 필요한 키 종류는 2가지입니다.
1) 공개 키 : 누구나 알 수 있음
2) 비밀(개인) 키 : 소유자만 알 수 있음
공개키 암호 방식은 2가지로 나뉩니다.
1) 공개 키 암호 : 비밀키를 가지고 있는 사람만 내용을 확인 가능
2) 공개 키 서명 : 특정한 비밀키로 만들었다는 것을 누구나 확인 가능
공개 키 암호방식 통신 예제
A사용자에게서 B사용자에게로 데이터를 전달하고 싶을 때, Destination인 B사용자 이외 사람은 해독이 불가능 해야 안전하게 전달 할 수 있습니다.
1. B사용자는 자신의 공개 키를 공개합니다. 이 공개 키는 암호화에 사용되는 키 이며, 누구든지 열람할 수 있습니다.(복호화에 사용되는 키는 자신만 가지고 있음. 이 키를 잃어버리면 안됨)
2. A사용자는 B사용자의 공개 키로 데이터를 암호화합니다.
3. 암호화된 문서를 B에게 전송합니다.
4. 전송받은 암호화 문서를 B는 자신만의 개인 키(복호화 키)로 복호화하여 데이터를 열람합니다.
공개 키(비대칭) 암호화 방식의 종류
- 디피-헬만 키 교환
- RSA 암호화
- Rabin 암호
- Rabin 암호
- ElGamal
- DSA
등..
반면 대칭키 암호화 방식은?
공개 키 암호방식과 다소 다른 대칭키 암호화 방식은 암/복호화 에서 동일한 암호를 사용합니다. 대표적으로 AES(Advanced Encryption Standard)가 있습니다. 높은 안정성과 속도로 인해 전세계적으로 많이 사용되고 있습니다.
'개발이야기' 카테고리의 다른 글
개발자 유튜버, 구독자 1000명 달성까지의 여정. 그리고 수익창출 (2) | 2020.03.12 |
---|---|
NAT IP란? (0) | 2020.03.08 |
system call이란? (0) | 2020.03.08 |
티스토리 블로그에 눈⛄내리게 하기! 간단한 Javascript, html 편집 (2) | 2019.12.24 |
Udacity 데이터 스트리밍 강의정리 - Faust python module 소개 (0) | 2019.11.21 |
Udacity 데이터 스트리밍 강의정리 - 데이터 스트리밍 기초 (0) | 2019.11.20 |