디피-헬먼 키 교환 알고리즘(Diffie-Hellman key exchange algorithm)
디피-헬먼 키 교환 알고리즘(Diffie-Hellman key exchange algorithm)에 대해서 알아보겠습니다. 디피-헬먼 키 교환 알고리즘은 비밀키와 공개키를 활용하여 암호 키를 교환 방식입니다. 우선 철수와 가희로 설명하겠습니다. 철수와 가희는 소수인 'ㅅ'을 선택합니다. 철수와 가희는 'ㅅ'의 원시근인 'ㅇ'을 선택합니다.(원시근의 경우 ㅅ-1과 같거나 작습니다.) 철수와 가희는 'ㅅ'과 'ㅇ'의 값을 알고 있습니다. 철수는 임의의 정수 'ㅊ'을 몰래 선택합니다. 가희도 임의의 정수 'ㄱ'을 몰래 선택합니다. 철수는 철 = ㅇ^ㅊ (mod ㅅ)를 구합니다. 가희는 가 = ㅇ^ㄱ (mod ㅅ)를 구합니다. 철수와 가희는 '철'과 '가'의 값을 공유합니다. 철수는 가희로부터 받은 '가'를 이용하여 비밀 값 'ㅂ'을 구합니다. ㅂ = 가^ㅊ (mod ㅅ) 가희는 철수로부터 받은 '철'을 이용하여 비밀 값 'ㅂ'을 구합니다. ㅂ = 철^ㄱ (mod ㅅ) 'ㅂ'의 값이 같은 이유는 가^ㅊ (mod ㅅ) = ㅇ^ㄱㅊ (mod ㅅ) = 철^ㄱ (mod ㅅ)이기 때문입니다. 철수와 가희가 서로 공유하는 과정을 우리는 엿볼 수 있기 때문에, 'ㅅ', 'ㅇ', '철', '가'는 우리가 알 수 있습니다. 하지만, 'ㅊ'과 'ㄱ'은 각자 개인만 알기 때문에, 'ㅂ' 값을 찾기가 어렵습니다. 영어 p, g, a, b, A, B로 설명되어 있는 것을 보니 볼 때마다 헷갈려서 한글로 한 번 수식을 ...