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 |
댓글