[암호학] 9. 엘 가말 암호
홀수 소수 p에 의해 Zp={0,1,...,p−1}은 체이므로 Z∗p=Zp−{0}는 곱셈에 대한 군이고 a∈Z∗p를 법 p에 대한 원시근이라고 하면 다음이 성립한다.Z∗p={a0,a1,...,ap−1},ap−1=1ap−2⋅a=ap−1=1,a−1=ap−2임의의 양의 정수 r에 대하여 a−r=(a−1)r라 하면 모든 정수 s에 대하여 (as)−r=a−sr=(a−1)sr이며 이것은 다음의 합동식이 성립함을 뜻한다.a⋅a−1≡1(modp),(as)−r≡a−sr≡(a−1)sr(modp)정리. 홀수 소수 p에 대하여 곱셈군 Z∗p={1,2,...,p−1}에서 a∈Z∗p를 법 p에 대한 원시근이라 하고, 양의 정수 r에 대하여 d=ar이라 할 때, 양의 정수 k에 대하여 두 함수 E, D를 다음과 같이 정의하자.E:Z∗p→{ak}×Z∗pE(x)=(ak,xdk)D:{ak}×Z∗p→Z∗p,D(ak,x)=(ak)−rxE,D는 일대일 대응이고 E−1=D이다.
증명: 임의의 g∈Z∗p에 대하여 다음이 성립한다.D(E(g))=D(ak,gdk)=(ak)−rgdk=a−rkarkg=g따라서 두 함수 E,D는 일대일 대응이고 E−1=D이다.
엘 가말(ElGamal) 암호체계는 1985년에 엘 가말이 개발한 것으로 앞의 정리에 기반을 두고 있다.
엘 가말 암호체계 프로토콜
1단계: 수신자 A는 충분히 큰 소수 p와 법 p에 대한 원시근 a(2≤a≤p−2)를 고르고, 1≤r≤p−2인 정수 r을 선택해d≡ar(modp)1≤d≤p−1인 d의 값을 구하고 p,a,d는 공개하고 r은 공개하지 않는다.
즉, 사용자 A의 공개 키는 p,a,d이고, r은 비공개 키이다.
2단계: 송신자 U는 평문을 0≤g≤p−1인 정수 g로 나타낸다.
3단계: 송신자 U는 1≤k≤p−1인 정수 k를 임의로 고르고h≡gdk(modp),0≤h≤p−1인 정수 h를 구해 암호문 (ak,h)를 A에게 송신한다.
4단계: 수신자 A는 암호문 (ak,h)와 비밀 키 r을 이용해(ak)−rh≡(ak)−rgdk≡(ak)−rgark≡g(modp)이고 0≤g≤p−1인 정수 g를 구한다.
2단계에서 s를 임의로 선택하는 이유는 암호문이 노출되는 경우 통계적 분석에 의한 공격의 가능성을 줄이려 하기 때문이다. 평문 g에 대한 암호문 (ak,h)의 길이는 a의 길이의 2배 정도이다.
홀수 소수 p=37에 대하여 a=2는 법 p에 대한 원시근이고 2를 밑으로 갖는 법 37에 대한 이산로그표는 다음과 같다.
r=31이라 하면d=ar≡231≡22(mod37)이고 k=7이라 하면 평문 g=19에 대하여 다음이 성립한다.ak≡27≡17(mod37)h≡gdk≡19⋅227≡19⋅2≡1(mod37)(ak)−r≡17−31≡175(mod37)(ak)−rh≡175⋅1≡19≡g(mod37)앞에서 보았듯이 엘 가말 암호체계는 이산로그 문제에 근거를 두고 있다.d≡ar(modp)1≤d≤p−1이므로 공개된 d를 이용하여 비밀 키 r(1≤r≤p−2)를 구하는 것은 상당히 어렵다.
엘 가말 암호체계에서 임의의 정수 k를 선택할 때 여러 개의 평문에 동일한 k를 사용하면 특정한 한 평문의 내용을 알 때 다른 평문의 내용을 모두 알아낼 수 있기 때문에 서로 다른 평문에 대하여 동일한 k를 사용하는 것을 피해야 한다.
참고자료:
암호학과 부호이론, 박승안, 경문사
'응용수학 > 암호학' 카테고리의 다른 글
[암호학] 11. 영지식 증명(2) (0) | 2020.10.19 |
---|---|
[암호학] 10. 영지식 증명(1. 2차잉여, 르장드르 기호) (0) | 2020.10.18 |
[암호학] 8. RSA 암호체계 (0) | 2020.10.16 |
[암호학] 7. 공개 열쇠 암호체계 (0) | 2020.10.15 |
[암호학] 6. 힐 암호, 폴리그-헬만 암호 (0) | 2020.10.14 |