DSA
IT위키
더 많은 작업
- ElGamal 알고리즘을 기반으로 만들어졌다.
- 소수 p 와 p-1 을 나누는 소수 q 를 고르고, 위수가 q 인 원소 g 로 키를 만든다. 이 부분군 구조는 Schnorr 서명에서 왔다
- 개인키 x, 공개키 y = gx mod p 이고 서명은 q 크기의 값 두 개 (r, s) 다
- 타원 곡선 위로 옮긴 것이 ECDSA 다
- FIPS 186-5(2023)부터 새 서명을 만드는 용도에서는 빠지고, 이미 만든 서명을 검증하는 용도로만 남았다. 대신 ECDSA 와 EdDSA 를 쓴다
- 1991년 NIST 가 제안해 1994년 전자서명 표준(DSS, FIPS 186)으로 채택했다
- 서명 전용 알고리즘이다. RSA 와 달리 메시지 암호화에는 쓸 수 없어 기밀성은 제공하지 않는다. 서명으로 인증·무결성·부인 방지를 준다
- 서명을 만들 때와 검증할 때 모두 메시지의 해시값(SHA 계열)을 쓴다. 서명 대상은 메시지 자체가 아니라 해시값이다
- 안전성은 유한체 위의 이산대수 문제의 어려움에 기댄다
- 서명마다 새 난수 k 를 써야 한다. 같은 k 를 두 번 쓰면 개인키가 드러난다
- 국내 표준 KCDSA 도 같은 이산대수 기반 서명 방식이다