개념
가 주어졌을 때는 계산하기 쉽지만
가 주어졌을 때인 를 찾아내는 것이 어렵다는 것, 실수 범위에서는 대소 관계를 통해서 를 쉽게 찾을 수도있지만, '군'에서는 를 쉽게 찾을 수 없음
가 주어졌을 때 를 만족하는 는 쉽게 찾을 수 있음
가 주어졌을 때 를 만족하는 는 쉽게 찾을 수 없음
(one-way function)
위에서 언급한 DLP를 사용한 공개키 암호화 기법
의 원시근 은 인 모든 에 대하여 내에 를 만족하는 를 가지고있다.
, 이라면 안에서 즉 상에서 3의 거듭제곱을 나열해보면
모든 에 대응되는 모든값이 3의 거듭제곱 형태이므로 3은 5의 원시근이다
모듈로 상에서 제곱근 값을 찾는 것의 어려움에 기반
A가 B와 키를 공유하기를 원한다고 가정, 신뢰할 수 있는 제 3자를 통해서 키를 교환
1) A->Lockmaster:
2) Lockmasket->A:
3) A->B:
A가 B와 키를 공유하기를 원한다고 가정, 로컬에서 세션키를 암호화해서 전달
1) A->B:
이산 대수계산의 어려움에서 고안한 방법
세션키를 암호화하여 전달할 필요 없음
A가 B와 키를 공유하기를 원한다면
소수 , 원시근 를 공개하고 각자의 비밀값 선택 후
A: 를 계산해서 B에게 전송
B: 를 계산해서 A에게 전송
A: 계산
B: 계산
위의 두 식의 계산 결과는 같음, 따라서 같은 키를 공유하게 됨