디피-헬먼 키 교환 알고리즘(Diffie-Hellman key exchange algorithm)
디피-헬먼 키 교환 알고리즘(Diffie-Hellman key exchange algorithm)에 대해서 알아보겠습니다.
디피-헬먼 키 교환 알고리즘은 비밀키와 공개키를 활용하여 암호 키를 교환
방식입니다.
우선 철수와 가희로 설명하겠습니다.
철수와 가희는 소수인 'ㅅ'을 선택합니다.
철수와 가희는 'ㅅ'의 원시근인 'ㅇ'을 선택합니다.(원시근의 경우 ㅅ-1과 같거나
작습니다.)
철수와 가희는 'ㅅ'과 'ㅇ'의 값을 알고 있습니다.
철수는 임의의 정수 'ㅊ'을 몰래 선택합니다.
가희도 임의의 정수 'ㄱ'을 몰래 선택합니다.
철수는 철 = ㅇ^ㅊ (mod ㅅ)를 구합니다.
가희는 가 = ㅇ^ㄱ (mod ㅅ)를 구합니다.
철수와 가희는 '철'과 '가'의 값을 공유합니다.
철수는 가희로부터 받은 '가'를 이용하여 비밀 값 'ㅂ'을 구합니다.
ㅂ = 가^ㅊ (mod ㅅ)
가희는 철수로부터 받은 '철'을 이용하여 비밀 값 'ㅂ'을 구합니다.
ㅂ = 철^ㄱ (mod ㅅ)
'ㅂ'의 값이 같은 이유는 가^ㅊ (mod ㅅ) = ㅇ^ㄱㅊ (mod ㅅ) = 철^ㄱ (mod ㅅ)이기
때문입니다.
철수와 가희가 서로 공유하는 과정을 우리는 엿볼 수 있기 때문에, 'ㅅ', 'ㅇ',
'철', '가'는 우리가 알 수 있습니다.
하지만, 'ㅊ'과 'ㄱ'은 각자 개인만 알기 때문에, 'ㅂ' 값을 찾기가 어렵습니다.
영어 p, g, a, b, A, B로 설명되어 있는 것을 보니 볼 때마다 헷갈려서 한글로 한
번 수식을 만들어보았습니다.
영어로 보고 싶으신 분은 다음과 같이 보면 됩니다.
'철수' = Bob, '가희' = Alice, 'ㅇ' = g, 'ㅅ' = p, 'ㅊ' = b, 'ㄱ' = a, '철' =
B, '가' = A, 'ㅂ' = s
끝.
카테고리: network
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.