타원곡선 암호

타원곡선 암호(楕圓曲線暗號, )는 타원곡선 이론에 기반한 공개 키 암호 방식이다. 줄여서 ECC라고 쓰기도 한다. 타원곡선을 이용한 암호 방식은 닐 코블리츠와 빅터 밀러가 1985년에 각각 독립적으로 제안했다.

타원곡선 암호가 RSA나 엘가말 암호과 같은 기존 공개 키 암호 방식에 비하여 갖는 가장 대표적인 장점은 보다 짧은 키를 사용하면서도 그와 비슷한 수준의 안전성을 제공한다는 것이다. 이런 장점으로 인해 학계에서는 많은 연구가 진행되어 왔으며, 특히 무선 환경과 같이 전송량과 계산량이 상대적으로 열악한 환경에 적합하다는 것이 일반적인 의견이다.

그러나 상대적으로 배경 이론이 복잡하고 실제로 구현하기 위해서는 해당 분야의 전문 지식을 어느 정도 필요로 하기 때문에 산업계에 널리 사용되는 데에는 시간이 더 걸릴 것으로 보인다. 산업계에 실제 적용되는 정도가 더딘 이유 중 또 하나로는 암호학 전문 지식을 갖지 않은 개발자나 정책 결정자들의 관점에서는 RSA 등에 비교하여 상대적으로 지명도가 떨어진다는 것을 들 수도 있다.

정의 
공개 키 암호 방식은 계산 복잡도 이론에 의해 이론상 유한한 시간 이내에 계산이 가능하지만 실제로 계산하기엔 너무 오랜시간이 걸리는 점(Intractability)을 이용한다. 초기 공개 키 암호 방식은 아주 큰 정수를 2개 이상의 소수로 나누는 것이 오래걸리는 것에 기반을 두고 있다. 타원곡선 암호 또한 알려진 특정한 점에 대한 무작위 타원 곡선의 이산 로그를 찾는 것이 오래걸린다는 점에서 착안하였다.

암호화 목적으로 타원곡선은 평면곡선의 한 종류로 다음의 방정식을 만족하는 점(무한 원점포함)들의 집합이다. (곡선의 단순함을 위해 점들은 표수가 2나 3이 아닌 고정된 유한체이다.)
 
위 집합은 타원곡선의 군의 연산과 함께 무한 원점을 항등원으로 하는 아벨 군을 형성한다. 군의 구조는 대수다양체를 밑으로 하는 인자를 따른다.

참고 자료 
Certicom은 타원곡선암호와 관련된 원천기술을 가진 회사이며, 2003년에 미국 NSA와 타원곡선암호 기술에 관한 라이선스 계약을 맺었다.

외부 링크 
 Certicom 공식 홈페이지
 SEC 1: 타원곡선 암호 표준, 버전 1.0, 2000년 9월 20일.
 SEC 2: 제안된 곡선들

공개 소스 
 OpenSSL: Open source library written in C with ECC library
 NSS: Open source crypto libraries with ECC
 Crypto++: Open source Crypto Package written in C++ with ECC library
 MIRACL: Multiprecision Integer and Rational Arithmetic C/C++ Library
 seccure: minimal footprint GPLed ECC tool with public key encryption and digital signatures
 SKS: very small open source tool for ECC (like a simplified PGP)
 eccGnuPG: An experimental patch to GnuPG 
 Curve25519: A state-of-the-art Diffie-Hellman function by Dan Bernstein
 TinyECC: a software package providing ECC operations on TinyOS
 libecc: Open source ECC library
 Bouncy Castle: Open source crypto package for Java and C# that includes ECC

 
암호학
수론
대수기하학
공개 키 암호
유한체