휫필드 디피
휘트필드 디피(Whitfield Diffie)는 1944년 06월 05일 미국 워싱턴 D.C.에서 태어났다. 휘트필드 디피와 마틴 헬만은 1976년 논문 〈New Directions in Cryptography〉에서 암호학적 열쇠를 분배하는 혁신적인 방법(디피-헬만 키 교환)을 제안했다. 이 방식에서부터 현대적인 공개키 암호 알고리즘이 시작되었다.
개요
휫필드 디피는 마틴 헬만에게 고용되어서 스탠포드 대학의 전기공학 박사과정을 하였으나 학위를 따지는 않았고 1976년 논문 〈New Directions in Cryptography〉에서 암호학적 열쇠를 분배하는 혁신적인 방법인 디피-헬만 키 교환)을 제안했고 1978년까지 연구 조교로 일하였다. 디피-헬만 키교환(Diffie–Hellman key exchange)부터 현대적인 공개키 암호 알고리즘이 시작되었다.
수상경력
휘트필드 디피는 1944년 06월 05일 미국 워싱터 D.C.에서 태어났고 1991년부터 썬 마이크로시스템즈에서 암호학 관련 분야를 연구하고 있다. 1965년 : MIT에서 수학 석사 학위를 받았다. 1976년 : 논문 〈New Directions in Cryptography〉에서 암호학적 열쇠를 분배하는 혁신적인 방법(디피-헬만 키 교환)을 제안했다. 1996년 : 파리 카넬라키스 상 을 수상 2000년 : 마르코니 상 수상 2010년 : IEEE 리처드 W. 해밍 메달 수상 2011년 : 컴퓨터 역사박물관 펠로우 2015년 : 튜링상(Turing Award ) 수상, 이상은 ACM(Association for Computing Machinery)에서 컴퓨터 과학 분야에 업적을 남긴 사람에게 매년 시상하는 상이다. "컴퓨터 과학의 노벨상"이라고도 불린다. 영국의 수학자이며 현대 전산학의 아버지라 할 수 있는 앨런 튜링의 이름을 땄다.
특징
주요 업적으로 디피-헬만 키교환(Diffie–Hellman key exchange)은 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다. 휫필드 디피와 마틴 헬만이 1976년에 발표하였다. 디피-헬만 키교환은 기초적인 암호학적 통신 방법을 수립하였으며, 이후 1978년 공개키 암호 방식인 RSA 암호가 제안되었다.
- 공개키암호방식
알고리즘 : DH RSA 라빈 ElGamal DSA ECDH ECDSA EdDSA 이론 : 소인수분해 이산 로그 타원곡선 암호 RSA 문제 표준 : ANS X9F1 CRYPTREC IEEE P1363 NESSIE 기타 : 전자 서명 공개 키 기반 구조(PKI) Web of trust 키 크기
방식
- 앨리스와 밥이 공개된 통신망에서 디피-헬먼 키 교환을 하기 위해서는 다음과 같은 절차를 거친다.
- 앨리스가 소수 p, 그리고 1부터 p-1까지의 정수 g를 선택하여 사전에 밥과 공유한다.
- 앨리스가 정수 a를 선택한다. 이 정수는 외부에 공개되지 않으며, 밥 또한 알 수 없다.
- 앨리스가 즉 를 p로 나눈 나머지를 계산한다.
- 밥이 마찬가지로 정수 b를 선택하여 를 계산한다.
- 앨리스와 밥이 서로에게 A와 B를 전송한다.
- 앨리스가 를, 밥이 를 계산한다.
- 마지막 단계에서 이며 따라서 앨리스와 밥은 라는 공통의 비밀 키를 공유하게 된다. 앨리스와 밥 이외의 인물은 a와 b를 알 수 없으며,를 알 수 있다.
예제
- 이 과정을 실제 숫자를 통해 예를 들면 다음과 같다. 여기서는 설명을 위해 작은 크기의 소수를 사용하지만, 실제 응용에서는 안전을 위해 10진수 수백~수천자리 크기의 큰 소수를 사용한다.
- 앨리스와 밥은 p=23, g=5를 사용하기로 합의한다.
- 앨리스가 비밀 정보를 전송하기 위해 임의의 정수 a=6을 고른 후, 밥에게 을 전송한다.
- A = 15,625 mod 23
- A = 8
- 밥은 임의의 정수 b=15 를 고르고, 앨리스에게 를 전송한다.
- B = 30,517,578,125 mod 23
- B = 19
- 앨리스는 밥에게서 받은 B 를 바탕으로 를 계산한다.
- s = 47,045,881 mod 23
- s = 2
- 밥은 앨리스에게서 받은 A 를 바탕으로 를 계산한다.
- s = 35,184,372,088,832 mod 23
- s = 2
- 앨리스와 밥은 이제 비밀 키 s = 2 를 공유하게 되었다. 여기서 p가 충분히 클 경우, 외부에서 비밀 키를 알아내기 위해 도청을 하는 도청자 이브는 g^a나 g^b를 통해 s를 알아낼 수 없는 것으로 알려져 있다. 앨리스와 밥은 두 사람 만이 아는 비밀 키 s를 갖게 되었으므로, 대칭 키 암호를 이용해 이후의 통신을 암호화할 수 있다. 그러나 p나 a, b가 너무 작을 경우, 도청자는 가능한 모든 조합을 다 계산해보는 방식으로 s를 계산해낼 수 있다. 따라서 실제 비밀 통신에는 충분히 큰 소수를 사용해야 한다. 만약 p가 최소 300자리의 소수이고, a와 b가 각각 100자리 이상의 정수일 경우, 현재 인류가 보유한 모든 컴퓨터를 동원해도 공개된 정보로부터 비밀 키를 알아낼 수 없는 것으로 알려져 있다.
안전성
디피-헬만 키교환은 소수 p와 g를 적절하게 고르면 도청에 대해 안전한 것으로 알려져 있다. 도청자 이브가 비밀키를 얻어내기 위해서는 앨리스와 밥 사이의 통신에서 도청할 수 있는 정보인 와 로부터 를 구해야 한다. 이 문제를 디피-헬만 문제(Diffie-Hellman problem)로 부르며, 이 문제를 푸는 효율적인 알고리즘은 아직까지 알려지지 않았다. 이산 로그 문제를 효율적으로 풀 수 있을 경우 디피-헬만 문제 또한 효율적으로 풀 수 있지만, 그 역이 참인지는 알려지지 않았다. 안전한 키 교환을 위해서는 p와 g를 신중하게 선택해야 한다. g는 순환군 G의 차수가 소수이거나, 인수분해하기 어려운 큰 소수를 약수로 갖도록 해야 한다. 이 때문에 p와 이 모두 소수인 안전 소수를 고르기도 한다. p가 안전 소수일 경우 G의 차수는 2 또는 만을 약수로 갖게 된다.
각주
참고자료
- howlingpixel 공식 홈페이지 - https://howlingpixel.com
같이 보기