Diffie Hellman: Key exchange
2022. 12. 8. 15:52ㆍ프로그래밍/보안
DH 존재의 이유: 키교환 알고리즘
불안전한 채널에서(도청, 수정) 안전하게 키를 교환하기 위한 방법
암호화, 서명을 위한 방법이 아님
사용된 난제: discrete log problem : 로그 푸는 문제
- 주어지는것: g, p and g^k mod p
- 찾아야 하는것: k
prime p가 주어지고
g^k mod p 한 수들이 p 보다 작은 모든수 {1,2,3...,p-1} 을 거쳐가게 되는 수 g

Alice 는 a 선택(비밀),
Bob은 b 선택 (비밀)
A -> B :g^a mod p
B -> A: g^b mod p
이제 서로가 전달받은것에 자신의 수 a, b를 각각 곱해 g^ab mod p를 구함 -> symmetric key 생성


man in the middle attack
Trudy가 중간에 가로서 a, b대신 Trudy의 t를 전달하여 이후 주고받는 정보를 보게된

MiM을 막는 방법:
어떻게든 서로를 Authentication해야한다.
DH 교환할 때 서로의 public key로 암호화해서 보낸다.(서로의 진짜 public key를 알고있다는 가정)
'프로그래밍 > 보안' 카테고리의 다른 글
Hash (0) | 2022.12.09 |
---|---|
Elliptic Curve Cryptography, Perfect Forward Secrecy (0) | 2022.12.08 |
Digital Signature, Public Key Infrastructure(PKI) (0) | 2022.12.08 |
Public Key Cryptography, RSA (0) | 2022.12.08 |
Modular Arithmetic (0) | 2022.12.08 |