GPG 키 (RSA 또는 DSA)의 장점은 무엇입니까?


58

ssh-keygen기본적으로 RSA 키를 생성하지만 gpg --gen-keyDSA / ElGamal을 선호합니다.

RPG 또는 DSA 중 어느 것이 GPG에 더 적합합니까?


1
이 StackOverflow 질문 과 해당 질문에 대한 내 답변 을 참조하십시오. 이 질문에 대한 은 2010 년과 오늘날 알려진 취약점 (모두 DSA에 대한 취약점)과 함께 RSA가 DSA보다 훨씬 더 안전한 이유 를 설명 합니다.
Adam Katz

답변:



25

RSA 및 DSA-오해와 유용한 정보
에는 몇 가지 이전 RSA 참조와 최근 DSA 참조가 있습니다.


2003 년, RSA DSA 서명 대 - 우승자는 ... - RSA .

따라서 기본적으로 DSA의 경우 키 생성이 엄청나게 빠릅니다. 알고리즘을 이해하면 이해가됩니다. DSA의 서명도 빠르지 만 크게 고려하지는 않습니다. RSA의 강점은 DSA보다 훨씬 빠른 것을 검증 하는 것 입니다.

최근 IETF 초안 : 2010 년 1 월 7 일에 만료되는 DNSSEC 용 SHA-2
가 포함 된 DSA. 현재 RSA보다 DSA를 홍보하는 데에는 몇 가지 이유가 있습니다.

DNSSEC에서 SHA-256과 함께 DSA 를 사용하면 2048 비트 키를 사용할 때 SHA-256과 함께 RSA를 사용하는 것과 관련하여 몇 가지 장점단점이 있습니다. DSA 서명은 RSA 서명보다 훨씬 짧습니다 . 이 크기에서 차이는 512 비트 대 2048 비트입니다. 2048 비트 키를 사용하는 일반 플랫폼에서 DSA 서명은 RSA 보다 약 3 배 빠르지 만 RSA 서명 확인은 DSA보다 10 배 이상 빠릅니다 .

DSA 공개 키와 RSA 공개 키의 크기가 같은 경우 DSA의 암호화 강도는 일반적으로 RSA와 동등한 것으로 간주됩니다. 물론 이러한 평가는 하나 또는 다른 알고리즘과 더 잘 작동하는 새로운 공격이 발견되면 미래에 변경 될 수 있습니다.

현재이 문서에서 선택한 특정 DSA 매개 변수에 대한 알려진 공격은 없습니다. 물론 이러한 평가는 미래에도 변할 수 있습니다.

그러나 이것은 현재로서는 초안 일뿐 입니다.

누구나 RSA (!)의 검증 속도를 좋아합니다.



6

포럼 토론 인용 :

암호화에 RSA 서명 키 ( "기본"또는 "마스터"키)와 RSA 하위 키를 사용하는 것이 좋습니다. 서명에 RSA를 사용하는 이유는 주로 RSA를 사용하면 DSA보다 더 큰 해시를 사용할 수 있기 때문입니다. 또한 DSA2를 사용하면 더 큰 해시를 사용할 수 있지만 RSA는 DSA2보다 수년 더 오래 지원되었습니다.

표준 방식으로 사용하면 (즉, 대량의 데이터를 암호화하지 않으면) 둘 다 잘 될 것이라고 생각합니다.

알고리즘을 배웠기 때문에 개인적으로 RSA를 선택했을 것입니다.이 알고리즘은 내가 본 것 중 가장 아름다운 알고리즘 중 하나입니다.


4

또한 현재 DSS 개정 이후 SHA-2 알고리즘을 사용할 수 있습니다. 그러나 GPG가 따르는 개정판을 찾을 수 없었습니다.

현재 DSS 사양 ( FIPS-186-3 , p. i)과 관련하여 SHS (FIPS-180-3, p. iv)에 지정된 해시 함수를 사용할 수 있습니다.

DSS :

FIPS 승인 디지털 서명 알고리즘은 SHS에 지정된 적절한 해시 기능과 함께 사용해야합니다.

SHS :

이 표준은 전자 데이터 (메시지)의 요약 표현을 계산하기 위해 5 개의 보안 해시 알고리즘 (SHA-1, SHA-224, SHA-256, SHA-384 및 SHA-512)을 지정합니다.


질문 : 두 알고리즘은 안전하지 않은 수학적 문제를 기반으로합니다 (RSA는 숫자를 인수 분해하는 문제를 사용하고 DSA는 이산 로그 문제를 사용합니다). 문제도 해결되지 않았습니다.

그러나 SHA-1과 함께 DSA를 사용하면 이미 pgs에서 언급 했듯이 보안 문제가 발생할 수 있습니다 .


1

사실은 아마도 당신에게 중요하지 않을 것입니다 :) 키 페어 생성 준비와 기존 키 페어 유지의 일부-당신이 선택하는 비대칭 암호화에 관계없이 : 1) 현재 권장 사항 확인 키 길이 2) 서명 또는 검증을 위해 최적화하기 위해 기본 / 모듈로를 선택했습니다. 더 자주 수행 될 사항에 따라 (모든 웹 브라우저가 서명을 확인하므로 TLS / SSL 서버 인증서 발급에 사용되는 키는 검증을 위해 최적화되어야합니다. ... 서명 소프트웨어에 사용 된 키는 비슷하게 최적화되어야합니다.) 3) 키의 노화를 확인하십시오-몇 년 동안 ssh-auth에 동일한 키를 사용하고 있습니다. 키를 선택한 경우에도 재생성 시간이있을 수 있습니다 오늘날에도 응용에 적합한 크기입니다.

RSA와 DSA는 실질적으로 평가되었습니다. 실현 가능한 코드 기반 (RSAREF, RSA 상업용, Mozilla / Netscape, Microsoft, OpenSSL 등)을 사용하는 경우 올바르게 사용하고 현재 모범 사례를 활용하는 한 어떤 암호화 시스템을 사용하든 상관 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.