1. . 다음은 Diffie-Hellman 알고리즘을 통한 키 교환 과정이다. (A), (B)에 대해서 각각 기술하시오.
1. 앨리스가 소수 p, 그리고 1부터 p-1까지의
정수 g를 선택하여 사전에 밥과 공유한다.
2. 앨리스는 임의의 정수 a를 선택해 (A) 를
계산하고 밥도 마찬가지로 임의의 정수 b를 선택하여
(B)를 계산한다.
3. 앨리스와 밥이 서로에게 A와 B를 전송한다.
4. 앨리스가 Ba mod p를, 밥이 Ab mod p를 계산한다.
5. 앨리스와 밥은 공통의 비밀키를 공유한다.
(A) : ga mod p, (B) : gb mod p
*해설
Diffie-Hellman Key Exchange
디피라는 사람과 헬만 이라는 사람이 공동 개발했다고 해서 '디피-헬만'이다. 디피-헬만 키 교환법, 디피-헬만 알고리즘, 디피-헬만 프로토콜등 다양한 이름으로 불린다.
디피-헬만법은 이산대수의 어려움을 이용한 알고리즘이다. 쉽게 말해 주어진 g, x, p 를 이용하여 y = g^x mod p 를 구하기는 쉽지만 g, y , p 값을 이용하여 원래의 x를 찾기 어렵다는 원리를 이용한 것이다.
비대칭키(공개키) 알고리즘에서 사용되는 키 교환 방식이다.
상대방의 공개키와 나의 개인키를 이용하여 비밀키를 생성한다.
A의 공개키와 B의 개인키를 DH연산하면 B의 비밀키가 되고
B의 공개키와 A의 개인키를 DH연산하면 A의 비밀키가 된다.
이산대수법에 의거한 수학적 공식에 의해 A의 비밀키와 B의 비밀키는 같아진다.
송신자와 수신자는 안전하게 교환된 비밀키를 사용하여 데이터를 암호화한 후 전달한다.