답변:
@Jens Erat의 답변은 다소 포괄적이지만 RSA (OpenPGP의 알고리즘)를 깨는 것에 대한 연구를 했으므로 다음과 같이 동의했습니다.
나는 규범을 어 기고 TL; DR을 먼저 줄 것이다 : 당신이 그 열쇠를 깰 수는 없다. 우리가 이것을 현실적으로보고 있다면, 1024 비트 정수를 인수 분해 할 방법이 없습니다. 가장 좋은 방법은 보안 체인의 다른 부분 (예 : 수신자가 전자 메일을 확인하는 데스크톱)을 위반하는 것입니다.
현실감이 떨어지면 가능한 전략을 고려해 봅시다.
맹인 추측 / 과실 강제. 1024 비트 semiprime을 사용하면 이것이 작동 할 가능성이 거의 없습니다. 추첨 번호를 추측하려고 무작위로 시간을 사용하는 것이 좋습니다.
레인보우 테이블 생성. 2 ^ 1024 미만의 모든 소수를 취하고 다른 모든 소수를 곱하여 결과를 테이블에 저장하여 추측을 고려하십시오. 그런 다음 올바른 쌍을 찾아보기 만하면됩니다. 당신이 상상할 수 있듯이, 이것도 불가능합니다. 이것은 x를 포함합니다! x 소수의 소수. 에 의해 소수 계량 함수 , 당신은 307 ^ 10 * 2.95에 대한 소수보고있는 - 비교를 위해, obserable 우주에있는 원자의 수는 너무도 우리가 할 수있는 경우, 10 ^ (83)의 크기에 있다고 추정된다 우리의 컴퓨터가 색인을 생성 할 수없는 방식으로 모든 원자 저장소에 두 개의 소수와 제품을 만들 수 없습니다.
General Number Field Sieve를 사용하십시오 . GNFS는 큰 세미 프라임을 고려하는 가장 좋은 방법입니다. Kleinjung과 그의 팀은 768 비트 세미 프라임 인 RSA-768을 고려하여 사용했습니다. 불행히도, 그의 팀은 달성하는 데 3 년이 걸렸으며,이 수치는 당신이 고려하고자하는 숫자보다 훨씬 작습니다. 최고 수퍼 컴퓨터를 최대 용량으로 대여하기 위해 하루에 수백만 달러를 소비하더라도 그 수를 고려하는 것은 거의 불가능합니다. GNFS의 첫 번째 단계는 하위 문제를 해결할 수있는 충분한 "상관 관계"를 찾는 것이므로 시간이 오래 걸릴 수 있습니다.
마지막 방법은 양자 컴퓨터를 사용하는 것입니다.이 컴퓨터를 사용하면 가능한 시간 내에 숫자를 고려할 수 있습니다. 불행히도, 이것들은 아직 유용한 점으로 개발되지 않았습니다. 따라서 현재로서는 1024 비트 이상의 세미 프라임 (및 이에 의존하는 알고리즘)을 고려할 수 없습니다.
먼저, RSA 1024 비트 암호화에 대해 말하고 있다고 가정합니다.
일반적으로 주제는 간단한 숫자를 제공하기에는 너무 복잡합니다.
tl; dr : 단일 CPU에서 OpenPGP 암호화 된 메시지를 크래킹하는 것은 불가능하며 대규모 컴퓨팅 클러스터에서도 몇 년이 걸릴 수 있습니다. 양자 컴퓨터가 미래의 어느 시점에서 ( "인터넷 시대"의 관점에서) 멀어 질 수 있기 때문에, 아직까지 알려지지 않은 (일반인에게) 수학적 결함은 이것을 순서대로 변경할 수있다.
약간 긴 버전 :
RSA 1024 비트 키 외에도 더 큰 키 크기에도 적용됩니다. 키가 클수록 더 많은 보안이 제공되지만 (크래킹하는 컴퓨팅 성능의 형태로) 키 크기에 따라 보안이 증가 하지는 않습니다 .
Information Security Stack Exchange에는 "RSA 암호화를 해독하는 데 필요한 시간을 어떻게 추정 할 수 있습니까?" 라는 좋은 소식이 있습니다. "Core i7 모델 xy를 사용하면 추정 된 z 시간에 RSA 1024 비트 키를 해독 할 수 있습니다"와 같은 추정치가 완료되지는 않지만 "개인은 RSA 1024 비트 키를 해독 할 수 없습니다"라는 대답에 동의합니다. 합리적인 시간에 일반적으로 사용 가능한 컴퓨팅 성능 (즉, 소수의 고급 컴퓨터)을 사용합니다.
훨씬 더 많은 계산 능력으로 1024 비트 키를 깨는 것에 대한 논의는 학문적 관점에서만 고려되었습니다.
최근에 1024 비트 숫자 분해를위한 매개 변수 선택이 시작되었다는 것을 알게되었습니다 ( "두뇌"부분). 체질은 기술적으로 실현 가능하지만 (많은 대학 클러스터에서 수년간의 계산 시간이 소요될 수 있지만) 현재로서는 1024 비트 정수에 대해 선형 축소 부분을 수행하는 방법을 아무도 모릅니다. 따라서 언제든지 1024 비트 중단을 기대하지 마십시오.
이것은 아마도 NSA와 같은 많은 컴퓨팅 능력을 갖춘 대규모의 자금이 지원되는 기관에도 적용됩니다.
다음과 같은 경우 상황이 빠르게 바뀔 수 있습니다
DSA / ElGamal의 경우 상황이 약간 다릅니다. 동일한 크기의 RSA 키를 가진 DSA 키는 더 많은 보안을 제공하지만 동시에 DSA는 잘못된 난수에 더 취약합니다 ( Debian 난수 생성기 결함 과 비교 ). 현재 OpenPGP에서 곧 출시 될 타원 곡선 암호화는 아직 지원되는 알고리즘에 대한 알려진 공격은 없지만 일반적으로 안전하다고 여겨지지만 NIST 권장 곡선에 특히 의심의 여지가 있습니다 (NIST는 무작위로 깨진 것으로 인해 명성을 잃었습니다) 숫자 생성기 표준) 및 일부 구현 nitpicks.
성능 저하의 경우 OpenPGP는 하이브리드 암호화를 사용하므로 메시지는 대칭 암호화 및 임의 대칭 키 (OpenPGP의 경우 종종 "세션 키"라고 함)로 암호화됩니다. 이 세션 키는 다시 비대칭 암호화 알고리즘을 사용하여 암호화됩니다. RSA.
메시지의 대칭 암호화 키를 해독 할 수있는 경우이 키로 암호화 된 모든 메시지를 읽을 수있는 비대칭 키를 해독하는 것과 달리 메시지를 읽을 수도 있습니다.
와 달리 초기 (자신이라고 짐머만에 의해 디자인 대칭 암호화 알고리즘을 사용 PGP의 버전 BassOmatic을 깨진 것으로 간주), OpenPGP를 위해 정의 된 모든 대칭 알고리즘은 하지 않는 관련 알려진 공격이있다.
누군가가 대칭 암호화 를 사용 하지 않는 한 (실제로 가능합니다!) 대칭 암호화 알고리즘을 사용하여 메시지를 차단하는 것은 당분간 실현 가능하지 않아야합니다.