PromleeBlog
sitemap
aboutMe

posting thumbnail
디피-헬만 키 교환
Diffie-Hellman Key Exchange

📅

🚀

키 교환 (Key Exchange) 🔗

통신을 위한 공통 키를 안전하게 교환하는 방법
앨리스와 밥은
공개 채널
을 통해 데이터 교환을 사용하여 공유된 비밀 키 생성
앨리스와 밥을 제외한 제3자는 공개 채널을 통해 전송된 데이터를 가로채도 키를 알 수 없음

🚀

디피-헬만 키 교환 (Diffie-Hellman Key Exchange) 🔗

공개 키 암호화 방식 중 하나로, 비밀 키를 안전하게 교환하는 방법
사전 공유된 매개변수: 소수 pp, 원시근 gg이 있는 유한 군 Zp\mathbb{Z}_p^*
앨리스와 밥의 행동
KAB=Ba=(gb)a=gab=(ga)b=Ab=KBAK_{AB} = B^a = (g^b)^a = g^{ab} = (g^a)^b = A^b = K_{BA}

예시 (디피-헬만 키 교환) 🔗

p=31p = 31, g=3g = 3
키 교환 결과

🚀

디피-헬만 키 교환의 보안성 (Security of Diffie-Hellman Key Exchange) 🔗

중간자 공격
👨‍💻
디피-헬만 계산 문제 (CDH, Computational Diffie-Hellman)

🚀

중간자 공격 시나리오 (Man-in-the-Middle Attack Scenario) 🔗

  1. 앨리스와 밥이 키 교환을 수행
  2. 이브는 앨리스와 밥 사이에 있음
  3. 앨리스에게 geg^e를 전송
  4. 밥에게 gfg^f를 전송
  5. 앨리스와 밥은 gefg^{ef}를 계산
  6. 이브는 gefg^{ef}를 계산하여 앨리스와 밥 사이의 통신을 가로챔

🚀

중간자 공격 설명 & 예방 (Man-in-the-Middle Attack Description & Prevention) 🔗

설명 (중간자 공격) 🔗

  1. 이브가 개인 키 ee를 생성하고 E=gemodpE = g^e \mod p를 계산
  2. 앨리스와 밥이 각각 AABB를 서로에게 전송
  3. 이브는 이를 가로채고, 모두에게 EE를 전송
  4. 앨리스와 밥은 EE를 수신하고,
    KAE=Ea=geamodpK_{AE} = E^a = g^{ea} \mod p, KBE=Eb=gebmodpK_{BE} = E^b = g^{eb} \mod p를 계산

예방 (중간자 공격) 🔗

➡️

정리 (중간자 공격) 🔗