공개키 암호 알고리즘
공개키 암호 알고리즘(public key cryptosystem) 또는 비대칭키 암호 알고리즘이란 암호화 알고리즘의 한 종류로, 암호화헐 때 사용하는 암호키와 복호화할 때 사용하는 암호키가 서로 다르다.
목차
개요
공개키 암호는 대칭키 암호의 키 전달에 있어서 취약점을 해결하고자 한 노력의 결과로 탄생했다. 한 쌍의 키가 존재하며, 하나는 특정 사람만이 가지는 개인키(또는 비밀키)이고 다른 하나는 누구나 가질 수 있는 공개키이다.[1] 공개키 암호화 방식은 암호학적으로 연관된 두 개의 키를 만들어서 하나는 자기가 안전하게 보관하고 다른 하나는 상대방에게 공개한다.[2] 개인키로 암호화 한 정보는 그 쌍이 되는 공개키로만 복호화가 가능하고, 공개키로 암호화한 정보는 그 쌍이 되는 개인키로만 복호화가 가능하다. 개인이 비밀통신을 할 경우엔 대칭키 암호를 사용할 수 있지만, 다수가 통신을 할 때에는 키의 개수가 급증하게 되어 큰 어려움이 따른다. 이런 어려움을 극복하기 위해 나타난 것이 공개키 암호이다. 공개키 암호는 다른 유저와 키를 공유하지 않더라도 암호를 통한 안전한 통신을 할 수 있다는 장점을 갖는다.[1]
특징
장단점
종류
대표적인 공개키 암호 알고리즘은 다음과 같다.
RSA(Rivest, Shamir and Adleman)
RSA[25]는 공개키 암호 시스템으로 암호화와 인증에 사용된다. RSA는 일반 정수론적인 면에서 정의되었다. 이 시스템은 큰 수의 인수분해의 어려움에 안전성을 두고 있다. RSA는 수 많은 국제기구의 표준일 뿐만 아니라 산업 표준으로 권장되고 있다.
ElGamal
이산 대수 문제의 어려움에 기반을 둔 최초의 공개키 암호 알고리즘인 ElGamal[26]은 1984년 스탠퍼드 대학의 암호 학자 T. ElGamal에 의해 제안되었다. ElGamal으로 암호화하면 메시지의 길이가 두 배로 늘어나는 특징이 있다. 하지만 암호화할 때 난수를 이용하므로 같은 메시지에 대해 암호화하여도 암호화할 때마다 서로 다른 암호문을 얻게 되는데, 이것은 정보보호 측면에서 큰 장점이 된다. RSA에서는 난수를 사용하지 않기 때문에 같은 메시지에 대한 암호문은 항상 같다는 특징이 있는데, 이것은 공격자가 암호문을 복호화하지 않고도 평문을 추측할 수 있는 단점이 된다. 그러므로 실제 적용 시 RSA는 난수를 사용하는 OAEP(Optimal Asymmetric Encryption Padding)이라는 난수화 패딩 알고리즘과 함께 사용된다.
ECC(Elliptic Curve Cryptosystem, 타원 곡선 암호 시스템)
타원 곡선(Elliptic Curves)은 약 150년 전부터 수학적으로 광범위한 연구가 있어 왔다. ECC[27]는 10여 년 전 비트 당 안전도가 타 공개키 시스템보다 효율적이라는 것이 알려졌고, 최근 높은 속도의 구현이 가능하게 되었다. 또한, ECC는 전원의 양이 한정된 이동 통신 기기의 암호화에 적용될 수 있으며, 차세대 공개키 암호 방법으로 주목 받고 있다.
전자서명(Digital signature)
전자 서명(Digital signature)은 우리가 일상생활에서 신원을 확인하거나 거래를 하려고 할 때 주민등록증이나 인김 날인 또는 서명 등이 필요하듯이, 인터넷 상에서도 이를 확실히 보장해 줄 수 있는 수단이 전자 서명이다. 한마디로 전자 서명은 이증서 형태로 발급되는 자신만의 디지털 인감이며 서명인 것이다. 결국 전자 서명은 어떠한 사람이 그 문서를 작성했는지 증명하는 법이므로 전자 서명을 하기 위해선 어떤 문서에 자신의 개인키로 암호화해서 첨부하는 것이다.
각주
- ↑ 1.0 1.1 불곰, 〈암호(대팅키 암호, 공개키 암호)〉, 《티스토리》, 2017-03-14
- ↑ 〈공개키 암호화〉, 《깃북스》
참고자료
- 불곰, 〈암호(대팅키 암호, 공개키 암호)〉, 《티스토리》, 2017-03-14
- 〈공개키 암호화〉, 《깃북스》
같이 보기
이 공개키 암호 알고리즘 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.