Knowledge
비밀키 / 공개키
De1fin
2019. 8. 31. 23:31
암호 시스템의 설계에 있어서 가장 중요한 것은
알고리즘(Algorithm)과 키(Key)라고 할 수 있다.
알고리즘(Algorithm)
- 암호화/복호화에 적용된 수학적 원리 및 수행절차
- 암호화 알고리즘과 복호화 알고리즘으로 구분
- 알고리즘의 이해와 구현은 쉬워야 하나 공격에는 대신 강해야 한다.
키(Key)
- 암호화 혹은 복호화 능력을 얻기 위한 지식
- 동일한 알고리즘을 여러 사용자들이 고유하게 활용할 수 있게 해준다.
이러한 키 알고리즘은 크게 비밀키와 공개키 방식으로 구분할 수 있다.
비밀키(Private Key)
암호화 / 복호화를 위해 비밀 메시지를 교환하는 당사자만이 알고 있는 키
- 등장시기 : BC 500년경
- 키 대칭성 : 암호화 키 = 복호화키 ( 대칭키 )
- 키 개수 : N*(N-1)/2
- 장점
- 계산속도 빠름
- 알고리즘이 다양
- 공격에 더 강함
- 단점
- 키 분배가 어려움
- 관리 대상 키가 많음
- 인증 / 무결성 검증 불가
- 부인 방지 불가
- 예 : DES, AES, IDEA, MASK, ARIA 등
- 실생활에서의 예 : 일반 가정집 열쇠
공개키(Public Key)
지정된 인증기관에 의해 제공되는 키
공개키로부터 생성된 개인키와 함께 결합되어 메시지 및 전자서명의 암호화, 복호화에 사용
- 등장시기 : 1976년
- 키 대칭성 : 암호화 키 ≠ 복호화 키 ( 비대칭키 )
- 키 개수 : 2*N
- 장점
- 키의 사전 공유 불필요
- 통신 대상의 추가에도 용이함 ( = 키 분배 용이 )
- 인증 기능 제공
- 부인 방지 기능
- 단점
- 계산 속도 느림
- 공격에 약함
- 무결성 검증이 안됨
- 예 : DH, RSA, ECC, DSA 등
- 실생활에서의 예 : 지하철 물품보관함 >> 동전을 넣어 잠그고(암호화), 열쇠나 비밀번호로 여는(복호화) 방식
참고:
https://codedragon.tistory.com
현대암호학 제5판, 원동호 저