ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 공개키 암호 - 디피헬먼(DH)
    전공/컴퓨터보안 2020. 6. 4. 15:25

    디피-헬먼(DH)은 암호화, 복호화를 하는 알고리즘이 아닌, 키 교환을 하는 알고리즘이다.

    공개키에서는 키 교환을 할 필요가 없다.

    그러므로 디피헬먼은 공개키가 아닌 대칭키 암호 방식에서 키 교환을 위해 쓰인다.

    키교환을 하기 위해 필요한 식이 있다.

    p를 소수라고 하고, g를 생성자라고 하며, pg는 공개키이다.

    앨리스와 밥이 대칭키에 필요한 키를 교환한다고 가정하자.

    앨리스와 밥은 각각 개인키 ab를 가지고 있다.

    앨리스(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 라는 값을 전달하게 한다.

    그러면 앨리스와 밥은 그 값들이 틀린지도 모르고 대칭키로 사용하게 된다.

    디피헬먼 방식은 공개키로 대칭키를 만드는 방식이기 때문에, 합성 암호체계이다.

    댓글

Designed by Tistory.