-
공개키 암호 - 디피헬먼(DH)전공/컴퓨터보안 2020. 6. 4. 15:25
디피-헬먼(DH)은 암호화, 복호화를 하는 알고리즘이 아닌, 키 교환을 하는 알고리즘이다.
공개키에서는 키 교환을 할 필요가 없다.
그러므로 디피헬먼은 공개키가 아닌 대칭키 암호 방식에서 키 교환을 위해 쓰인다.
키교환을 하기 위해 필요한 식이 있다.
p를 소수라고 하고, g를 생성자라고 하며, p와 g는 공개키이다.
앨리스와 밥이 대칭키에 필요한 키를 교환한다고 가정하자.
앨리스와 밥은 각각 개인키 a 와 b를 가지고 있다.
앨리스(a소유)는 밥(b소유)에게 g^a mod p 를 보내고, 밥은 g^b mod p 를 앨리스에게 보낸다.
앨리스는 a를 가지고 있기 때문에 g^b mod p를 밥에게서 받은 뒤,
자신의 개인키인 a를 제곱하면 (g^b)^a mod p 라는 값을 얻을 수 있다.
밥은 b를 가지고 있기 때문에 g^a mod p를 앨리스에게서 받고,
자신의 개인키인 b를 제곱하면 (g^a)^b mod p 라는 값을 얻을 수 있다.
이때 g^ab mod p가 대칭키가 된다.
이러한 상황에서 트루디가 g^a mod p, g^b mod p의 값을 알게 되었다고 하자.
그렇게 되면 break된다. 가 아니다!
왜냐하면 트루디는 a, b 값을 모르기 때문이다.
g^a mod p, g^b mod p를 곱해봐야 g^(a+b) mod p 가 되지, g^ab mod p가 되지는 않기 때문이다.
다만 이때, 트루디가 앨리스와 밥에게 주는 정보를 조작하는 것은 비교적 쉽다.
이것을 중간자 공격(Man-in-the-Middle, MiM)이라고 한다.
트루디는 앨리스와 밥의 중간에서 g^a mod p와 g^b mod p에 t를 제곱시켜 각각 g^at mod p, g^bt mod p 라는 값을 전달하게 한다.
그러면 앨리스와 밥은 그 값들이 틀린지도 모르고 대칭키로 사용하게 된다.
디피헬먼 방식은 공개키로 대칭키를 만드는 방식이기 때문에, 합성 암호체계이다.
'전공 > 컴퓨터보안' 카테고리의 다른 글
공개키 - 서명과 부인봉쇄(Non-repudiation) (0) 2020.06.05 합성 암호체계(hybrid cryptosystem) (0) 2020.06.05 공개키암호 - RSA (0) 2020.06.04 공개키암호 - 배낭암호 (0) 2020.06.04 혼돈과 확산, 대칭키 암호 (1) 2020.06.04