엘가말 암호

testwiki
둘러보기로 이동 검색으로 이동

틀:위키데이터 속성 추적 엘가말 암호(틀:Lang)는 타헤르 엘가말이 1985년에 고안한, 디피-헬먼 키 교환을 바탕으로 한 공개 키 암호 방식이다.

절차

아래는 엘가말 암호 알고리즘을 이용하여 송신인 앨리스가 수신인 밥에게 메시지를 전달하는 절차를 설명한 것이다.

준비

  • 차수가 소수 p순환군 G와 이의 한 생성원 α를 정한다.
  • 밥은 정수 y를 선택한다. (0yp1)
  • β:=αy을 계산한다.
  • (p,α,β)공개 키가 된다.

암호화

  • 앨리스는 밥의 공개 키를 전달받는다.
  • 앨리스는 밥에게 전달할 메시지 mG을 선택한다.
  • 앨리스는 무작위로 정수 k를 선택한다. (0kp1)
  • c1:=αkc2:=βkm을 계산한다.
  • 앨리스가 밥에게 암호문 (c1,c2)를 전달한다.

복호화

  • 밥은 s:=c1y을 계산한다. (이는 βk와 그 값이 동일하다.)
  • 밥이 c2s1을 계산하면 앨리스가 전달하고자 했던 메시지 m이 나온다.

안전성

위 절차에서 제3자가 공개 키 (p,α,β)와 암호문 (c1,c2)를 모두 안다 하더라도 여기에서 m을 찾으려면 밥만이 아는 정보인 y를 (또는 앨리스가 일회용으로 정한 수인 k를) 알아야 하는데, 이는 이산 로그 방정식 β=αx의 해 x를 구하는 것과 동일하며, p가 크면 클수록 해를 구하기 어려워진다.

같이 보기

참고 문헌


틀:공개 키 암호 방식