본문 바로가기
보안&네트워크/리눅스, 윈도우(OS 관련)

Diffie-Hellman (디피헬만)

by kakk789 2022. 1. 12.

Diffie-Hellman (디피헬만) 키 공유 절차

- 이산 대수의 어려움 이용(y=gx mod p라고 한다면 g,y,p를 알땐 x를 구하기 어렵다는 점 이용)


- a,b,p
는 충분히 커야함. 그래야 안전. 중간자 공격에 취약.


- 
대칭키를 교환. (사실 교환이라기 보다는 각자 계산하여 같은 값을 사용하는 것)


- 
공개키의 개념을 사용함.


- 
비밀키(개인키)가 노출되더라도 그 후의 키 분배 과정에서 얻는 세션키(대칭키)의 안전성에는 영향을 미치면 안된다.

0. p = 
소수, q= p-1까지의 정수 중 하나, a, b = 난수(제곱근으로 이용, 개인키의 개념)

0-1. 공유키 계산식은 qab mod p (난수 a,b를 모두 알고 있을 때 사용 가능.)

0-2. 만약 모를 때는 [상대의공개키나의개인키 mod p]


1. 
송신자는 소수 p, 정수 q 사전에 공유한다.


2. 
송신자는 난수 a를 생성한다.(송신자만 알 수 있음)

2-1. 수신자는 난수 b를 생성.


3. 
공식을 이용하여 계산한다.


4. 
수신자도 난수 b를 선택하여 공식에 a승을 b승으로 치환하여 계산한다. (qb mod p)==공개키


5. 
서로에게 결과 값을 전송한다. (이게 공개키를 전달하는 개념)


6. 
송신자는 = 결과값a mod p, 수신자 = 결과값b mod p를 계산

 

 

https://ko.wikipedia.org/wiki/%EB%94%94%ED%94%BC-%ED%97%AC%EB%A8%BC_%ED%82%A4_%EA%B5%90%ED%99%98

반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

레지스트리 루트키 설명  (0) 2022.01.12
RSA (공개키 암호 알고리즘)  (0) 2022.01.12
Sha 해시 함수  (0) 2022.01.12
스케줄링  (0) 2021.12.31
MBR(Master Boot Record) 과 부팅  (0) 2021.12.31

댓글