선릉역 1번 출구

[9-5] The Digital Signature Algorithm 본문

Computer/Cryptology

[9-5] The Digital Signature Algorithm

choideu 2021. 8. 25. 15:34

미국 국립표준기술원은 1991년 디지털 서명 알고리즘(DSA)을 제안했고 1994년 이를 표준으로 채택했다.

 

이 케이스에서 해시 함수는 160bit output을 가지고 메세지 m이 이미 해시되었다는 가정 하에 그 output에 서명을 진행하려고 한다.

 

DSA용 키 생성에 대해서 알아보자

먼저 초기화 단계가 있다.

1. 엘리스는 160bit 길이의 소수 q를 찾고 q|p-1를 만족하는소수 p를 찾는다. 이산 로그 문제는 p의 선택에 대해서 어려워야한다. (초기 버전에서 p는 512bit를 가졌고 이후 버전의 알고리즘은 더 긴 소수를 허용한다.)

2. mod p에 대해서 g를 원시근으로 하고, alpha는

를 만족하고 그러면

 

이 된다.

3. 엘리스는 1 <= a <= q-1인 비밀키 a를 골라서 beta ≡ alpha^a(mod p)를 계산한다.

4. 엘리스는 (p, q, alpha, beta)-공개키를 게시하고 a를 비밀로 유지한다.

 

엘리스가 m에 대해서 sign하는 과정에 대해서 알아보자

1. 랜덤으로 0 < k < q-1을 만족하는 시크릿 키인 k를 선택한다.

2.

 

를 계산한다.

3.

를 계산한다.

 

4. m에 대한 엘리스의 서명이 (r, s)이고 m과 함께 bob에게 보낸다.

 

밥이 증명하는 과정을 알아보자

1. 엘리스의 공개키인 (p, q, alpha, beta)를 다운받는다.

2.

를 계산한다.

 

3.

를 계산한다.

 

4. v = r인 경우에만 서명을 승인한다.

 

*증명

엘리스가 m에 대해서 sign하는 과정의 3번째 수식에서 우리는 m ≡ (-ar + ks) (mod q) 을 얻을 수 있었고 이는

s^-1*m ≡ (-ar*s^-1+k) (mod q)이다. 즉 k ≡ s^-1*m +ar*s^-1이고 이는 u(1)+au(2)이다.(밥이 증명하는 과정 2번째 내용)

이다. (beta ≡ alpha^a(mod p)이기 때문) 그래서 v = r이 된다.

 

 

ElGamal에서처럼 정수 a는 비밀로 유지해야한다. a에 대해서 knowledge가 있는 사람은 자신이 원하는 문서에 서명할 수 있다. 또 k값이 두번 사용된다면 동일한 절차에 의해 a를 찾는 것이 가능하다.

그리고 ElGamal과 대조적으로 정수 r은 k에 대한 전체 정보를 포함하지 않는다. 그래서 r을 알면 그냥 mod q의 value만 찾을 수 있다. 

원시근을 사용하는 것보다 alpha^q ≡ 1 (mod p)를 사용하는 것의 이점은 a에 대한 mod q정보를 제외하고 모든 정보를 제거해 문제를 방지한다는 것이다.

▼문제

더보기

이산 로그 문제를 해결하기 위한 Pohlig-hellman 공격을 다시 생각해보자.

그 공격은 mod p - 1이 작은 수로 이루어졌다면 가능하지만 큰 소수 q와 같은 경우에는 불가능하다.

ElGamal에서 공격자는 a (mod 2^t), (2^t 가  p - 1을 나누는 2의 거듭제곱) 를 결정할 수 있다. 이것은 a를 찾는 데 근접하지 않지만 일반적인 철학, 진리는 이런 작은 정보들이 모이면 집합적으로 유용할 수 있다는 것이다. 

ElGamal는 검증 단계에서 3개의 modular exponentiations 가 필요했는데 DSA에서는 2개의 모듈식 지수만 필요하게 수정되었다.  modular exponentiation이 계산의 느린 부분 중 하나이기 때문에 이 변경으로 검증 속도가 ElGamal보다 빨라졌다.

'Computer > Cryptology' 카테고리의 다른 글

Cryptology 도입  (0) 2023.02.06
Sumcheck protocol  (0) 2022.01.26
[6-3] Primality Testing  (0) 2021.08.19
[3-5] Modular Exponentiation  (0) 2021.08.13
[3-9] Square Roots Mod n  (0) 2021.08.13
Comments