인코딩 된 디코딩 된 샘플을 사용하여 PGP 개인 키 추론


9

인코딩 된 메시지와 원본 메시지가 모두있는 경우 개인 키를 유추 할 수 있습니까?

답변:


9

아닙니다. 이는 암호화되지 않은 메시지가있는 공개 키로 메시지를 쉽게 인코딩 할 수 있으므로 비대칭 키 (공개 및 개인) 의 요점입니다 . 그러나 암호화 된 메시지의 암호 해독은 개인 키로 만 가능합니다. 개인 키는 재생성 할 수 없습니다.


10

언급되지 않았기 때문에 이것은 알려진 일반 텍스트 공격 으로 알려져 있으며 암호가 갖는 매우 나쁜 취약점입니다. 실제로 공개 키 암호화에서이 공격은 선택한 일반 텍스트 공격 과 동일합니다. 누구나 메시지를 암호화 할 수 있기 때문입니다!

사실 RSA에 대한 몇 가지 알려진 / 선택 평문 공격하고 (대부분 대칭 키를 암호화 PGP에서 사용되는 공개 키 암호화) ,하지만 그들은 일반적으로 포함 사이드 채널 공격 에 대한 가난한 구현을 , 또는 필요 미친 수를 암호문 또는 특정 희귀 키에 대해서만 작동합니다 .

그러나 일반적으로 귀하의 질문에 대한 대답은 "아니오"입니다. 이것이 암호를 안전하게 만드는 것입니다.


5

아니 이것은 매우 나쁘다. PGP 암호화는 해싱, 데이터 압축, 대칭 키 암호화 및 공개 키 암호화의 직렬 조합을 사용합니다. 해싱은 단방향 함수를 사용 합니다 . 단방향 함수는 계산하기 쉽지만 반전하기 어려운 함수입니다. 공개 키 암호화 는 비대칭 알고리즘을 사용합니다.

공개 키 암호화에 사용되는 알고리즘은 아마도 효율적인 솔루션이없는 수학적 관계 (정수 인수 분해 및 이산 대수 문제 중 가장 눈에 띄는 관계)를 기반으로합니다. 의도 된 수신자가 공개 키와 개인 키를 생성하는 것이 쉽고, 개인 키를 사용하여 메시지를 해독하고, 발신자가 공개 키를 사용하여 메시지를 쉽게 암호화 할 수는 있지만 매우 어렵습니다 (또는 사실상 불가능합니다). 공개 키에 대한 지식만으로 개인 키를 파생시킬 수 있습니다.

원본 메시지 만 있으면 개인 키를 유추 할 수 없습니다.


2

이에 대한 두 가지 답변이 있습니다.

이론적으로 가능합니까? 예. 가짜 키를 생성하고 암호화를 시도하여 일치하는지 확인하십시오. 그렇지 않은 경우 다른 가짜 키를 사용해 암호화하고 출력이 일치하는지 확인하십시오. 이것을 일반적으로 무차별 대입 공격 이라고합니다.

실제로는이 작업을 수행 할 수 없습니다. 이것을 시도하는 데 0이 아닌 시간과 컴퓨팅 능력이 필요합니다. PGP 암호화는 보통 적당한 크기의 키, 아마도 512, 1024, 2048 또는 더 많은 비트를 사용합니다. 키 공간 (가능한 키 수)이 너무 커서이 조합을 찾는 데 영원히 걸릴 수 있습니다.

내 생각 엔 당신이 이론이 아니라 실제로 이것을 할 수 있는지 묻는 것입니다. 답은 '아니요'입니다. 세계에는이를위한 컴퓨팅 능력이 충분하지 않습니다. security.stackexchange.com에 요청 하면 알고리즘과 수학에 익숙한 사람이이 과정이 얼마나 오래 걸릴지 알려줄 수 있습니다 (아마도 태양이 전이되어 지구를 끓일 때까지). 짧은 대답은 "일생 안에 있지 않다"


0

아마 도움이 될 수는 있지만 너무 멀리 가지 않아야합니다. 보안 양식이 아마도 더 좋은 곳일 것입니다.

암호화에는 여러 단계가 있어야합니다. 최소한 괜찮은 수준이라도 시드, 해시 및 소금이 있어야합니다.

예를 들어, 모든 암호를 64 비트 길이로 만든 다음 해시를 통해 실행할 수 있습니다. 해시 일뿐이라면 쉽게 해독 할 수 있습니다.

이것은 매우 간단한 버전이지만 ... 쉽지 않습니다.

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