"디피-헬만"의 두 판 사이의 차이
잔글 |
잔글 |
||
1번째 줄: | 1번째 줄: | ||
− | '''디피-헬만'''<!--디피 헬만, 디피헬만-->(Diffie-Hellman)은 1976년 미국 [[스탠퍼드 대학교]]의 [[휘트필드 디피]](Whitfield Diffie)와 [[마틴 헬만]](Martin Hellman)이 "New Directions in Cryptography"(암호학의 새로운 방향)이라는 논문에서 처음으로 공개 발표한 [[암호 알고리즘]]이다. 이 논문을 통해 디피-헬만 키 교환은 제일 기초가 되는 암호학적 통신 방법을 만들었다. [[RSA]] 암호화 알고리즘의 바탕이 되기도 하였다. | + | '''디피-헬만'''<!--디피 헬만, 디피헬만, 디피헬만 알고리즘, 디피 헬만 알고리즘, 디피-헬만 알고리즘, 디피-헬만알고리즘-->(Diffie-Hellman)은 1976년 미국 [[스탠퍼드 대학교]]의 [[휘트필드 디피]](Whitfield Diffie)와 [[마틴 헬만]](Martin Hellman)이 "New Directions in Cryptography"(암호학의 새로운 방향)이라는 논문에서 처음으로 공개 발표한 [[암호 알고리즘]]이다. 이 논문을 통해 디피-헬만 키 교환은 제일 기초가 되는 암호학적 통신 방법을 만들었다. [[RSA]] 암호화 알고리즘의 바탕이 되기도 하였다. |
== 개요 == | == 개요 == | ||
− | 디피-헬만 알고리즘(Diffie-Hellman Algorithm)의 핵심은 상대방의 공개키와 나의 공개키를 이용하여 계산을 하면 비밀키가 나온다는 것이다. | + | 디피-헬만 알고리즘(Diffie-Hellman Algorithm)의 핵심은 상대방의 공개키와 나의 공개키를 이용하여 계산을 하면 비밀키가 나온다는 것이다. 그 후에 나와 상대방은 비밀키를 사용하여 데이터를 암호화한 후 전달하면 된다. 이러한 디피-헬만 알고리즘(DH 알고리즘)은 키 교환(Key exchange) 알고리즘으로 대칭키를 공유하는데 사용한다. 하지만 이는 암호화나 서명을 위한 것은 아니다. |
== 동작 원리 == | == 동작 원리 == | ||
* 공개적으로 교환할 발생기(generator)를 생성한다. (p는 [[소수]], g는 생성자) | * 공개적으로 교환할 발생기(generator)를 생성한다. (p는 [[소수]], g는 생성자) | ||
− | * A는 개인키 a를 이용하여 g^a mod | + | * A는 개인키 a를 이용하여 ''g^a mod p''를 생성한다. (여기서 mod는 나눗셈의 나머지를 구하는 연산이다.) |
− | * B는 개인키 b를 이용하여 g^b mod | + | * B는 개인키 b를 이용하여 ''g^b mod p''를 생성한다. |
− | * A는 B에게 g^a mod | + | * A는 B에게 ''g^a mod p''를 보내고 B는 A에게 ''g^b mod p''를 보낸다. |
− | * A는 자신의 개인키 a를 이용하여 g^ab mod p 를 생성하고 B는 자신의 개인키 b를 이용하여 g^ab mod | + | * A는 자신의 개인키 a를 이용하여 ''g^ab mod p''를 생성하고 B는 자신의 개인키 b를 이용하여 ''g^ab mod p''를 생성한다. |
* A와 B는 새롭게 생성된 키를 [[대칭키]](비밀키)로 이용한다. (A와 B가 교환하여 결합한 값이 서로 같다는 것을 확인한다.) | * A와 B는 새롭게 생성된 키를 [[대칭키]](비밀키)로 이용한다. (A와 B가 교환하여 결합한 값이 서로 같다는 것을 확인한다.) | ||
− | * A와 | + | * 이때 A와 B사이에서 데이터를 가로챈 공격자는 가로챈 값들로 ''g^ab mod p''를 만들수 없다. 공격자는 ''g^a+b mod p''밖에 만들지 못한다. |
== 특징 == | == 특징 == |
2019년 8월 1일 (목) 09:48 판
디피-헬만(Diffie-Hellman)은 1976년 미국 스탠퍼드 대학교의 휘트필드 디피(Whitfield Diffie)와 마틴 헬만(Martin Hellman)이 "New Directions in Cryptography"(암호학의 새로운 방향)이라는 논문에서 처음으로 공개 발표한 암호 알고리즘이다. 이 논문을 통해 디피-헬만 키 교환은 제일 기초가 되는 암호학적 통신 방법을 만들었다. RSA 암호화 알고리즘의 바탕이 되기도 하였다.
개요
디피-헬만 알고리즘(Diffie-Hellman Algorithm)의 핵심은 상대방의 공개키와 나의 공개키를 이용하여 계산을 하면 비밀키가 나온다는 것이다. 그 후에 나와 상대방은 비밀키를 사용하여 데이터를 암호화한 후 전달하면 된다. 이러한 디피-헬만 알고리즘(DH 알고리즘)은 키 교환(Key exchange) 알고리즘으로 대칭키를 공유하는데 사용한다. 하지만 이는 암호화나 서명을 위한 것은 아니다.
동작 원리
- 공개적으로 교환할 발생기(generator)를 생성한다. (p는 소수, g는 생성자)
- A는 개인키 a를 이용하여 g^a mod p를 생성한다. (여기서 mod는 나눗셈의 나머지를 구하는 연산이다.)
- B는 개인키 b를 이용하여 g^b mod p를 생성한다.
- A는 B에게 g^a mod p를 보내고 B는 A에게 g^b mod p를 보낸다.
- A는 자신의 개인키 a를 이용하여 g^ab mod p를 생성하고 B는 자신의 개인키 b를 이용하여 g^ab mod p를 생성한다.
- A와 B는 새롭게 생성된 키를 대칭키(비밀키)로 이용한다. (A와 B가 교환하여 결합한 값이 서로 같다는 것을 확인한다.)
- 이때 A와 B사이에서 데이터를 가로챈 공격자는 가로챈 값들로 g^ab mod p를 만들수 없다. 공격자는 g^a+b mod p밖에 만들지 못한다.
특징
장점
- 이산 대수 문제의 어려움에 기반하여 안전성이 유지된다.
- 디피-헬만 알고리즘은 대칭키를 비밀스럽게 만들 수 있다.
- 비밀키를 필요할 때마다 다르게 생성하여, 비밀키 보관에 따른 노출 위험성이 작아진다.
단점
단점에 대한 해결책
참고자료
- 〈디피-헬만 알고리즘(Diffie-Hellman Algorithm〉, 《개인 블로그》, 2018-04-22
- 〈공개키 암호 시스템〉, 《안동대학교 교수 차영욱》
같이 보기