동일한 일회용 패드로 암호화하는 것이 왜 좋지 않습니까?


20

메시지를 암호화하는 1 회 키 패드와 K 는 수행 E N C ( m 1 , K ) = m 1케이 .미디엄1케이이자형기음(미디엄1,케이)=미디엄1케이

동일한 를 사용하여 다른 메시지 m 2 를 암호화 하면 E n c ( m 2 , k ) = m 2k 이고 두 암호문 중 Xor를 수행하면 ( m 1k ) ( m 2K ) = m 1m 2케이미디엄2이자형기음(미디엄2,케이)=미디엄2케이

(미디엄1케이)(미디엄2케이)=미디엄1미디엄2

그래서, 당신이 를 배우기 때문에 약간의 정보 유출이 있지만, 왜 안전하지 않습니까? 내가 (말) 배울 수있는 방법이 없다 m 일을 내가 알지 못한다면 m 2 . k를 두 번 사용하는 것이 왜 잘못 되었습니까?미디엄1미디엄2미디엄1미디엄2케이


예, 이것은 파종입니다. 주로 crypto.se와 cs.se의 경계에 대한 논쟁을 심어주었습니다.
Ran G.

사용 된 태그에 대한 설명 은 여기 를 참조 하십시오 .
Raphael

시각화가 실제로 명확 해 보이지만 지금은 찾을 수 없습니다. 내가 무슨 말을하는지 아는 사람 있나요? (나는 ECB linux-pinguin 등과 같은 다른 암호 그림과 혼동하지 않기를 바랍니다.)
Ran G.

1
@RanG. : 옳음-해당 crypto.se 질문이 일회용 패드 키 재사용을 활용하고 있습니까?
David Cary

답변:


14

내가 (말) 배울 수있는 방법이 없다 미디엄1미디엄2

(미디엄2케이)미디엄2=케이

케이

암호화 시스템을 파괴하는이 일반적인 전략을 알려진 일반 텍스트 공격이라고 합니다. AES 및 RSA와 같은 많은 시스템이 이러한 공격에 대해 안전하다고 생각됩니다. 그러나 모든 암호화에 새 패드를 사용하지 않으면 일회용 패드가 완전히 안전하지 않기 때문에 "일회용 패드"라고합니다.


11

언급 한 이유 때문에 정확하게 안전하지 않습니다. 정보 유출이 있습니다.

기본적으로 일반 텍스트 (영어 텍스트, 알려진 구조의 파일 등)에 대한 가정이 있으면 쉬운 통계 분석이 가능합니다. 아마도이 도구를 두 번 사용 하더라도 공격의 실용성이 크게 변하지는 않지만 무작위가 아닌 일반 텍스트로 여러 번 사용하면 결국 키를 복구하기에 충분한 정보가 나타납니다.

마지막으로, 당신이 그것을 사용할 수있는 능력이 있다면 번만 사용할 수있는 경우 한 번만 사용할 수 있습니다. 이러한 일회용 패드는 시간이 지남에 따라 알 수없고 시간이 지남에 따라 사용되지 않아 여러 번 손상 될 수 있습니다.

미디엄1미디엄2 입니다.

알려진 일반 텍스트 공격은 매우 일반적이며, 암호화 메커니즘을 강제로 설정하여 이전에 알고있는 것을 암호화하는 것이 합리적입니다. 그렇지 않은 경우 일반적으로 합리적인 통계적 가정을 할 수 있습니다.


또한 한 번의 패드에는 암호문 및 일반 텍스트의 일부를 알고 있으면 키의 해당 부분을 즉시 복구 할 수있는 특성이 있습니다. 이는 동일한 패드로 암호화 된 모든 미래 메시지의 일부가 명확합니다 (일반 텍스트를 더 쉽게 추측하고 더 많은 키를 표시하는 등). 전자 메일 또는 HTTP 요청과 같은 많은 것을 암호화하는 경우 공격자는 이러한 프로토콜의 구조로 인해 거의 항상 평문의 일부를 알 수 있습니다.
Ben

6

(미디엄1케이)(미디엄2케이)=미디엄1미디엄2

로그226=4.7 당 비트가됩니다. 이것은 두 개의 영어 텍스트의 XOR을 가져도 이론적으로이 두 텍스트를 해독하기에 충분한 정보가 있음을 의미합니다. 또한, 나는 암호 분석가가 실제로 그것을 할 수 있다는 것을 읽었습니다.

일회용 패드를 두 번 사용하려면 먼저 메시지를 압축해야합니다. 그럼에도 불구하고 거의 완벽한 압축 알고리즘을 사용하지 않고 일회용 패드를 여러 번 사용하는 경우 이론적으로 메시지를 복구하기에 충분한 엔트로피가 남아 있습니다. 실제로 얼마나 힘든지 모르겠습니다.


4

미디엄1미디엄2미디엄1미디엄2

실제로 많은 경우에 매우 간단합니다. 다음 은 간단한 시각화입니다.


2

수학에 의지하지 않고 접근 방식을 표현하는 직관적 인 방법이 있습니다. 동일한 한 시간 패드로 암호화 된 두 개의 암호화 된 메시지가 있다고 가정합니다.

  1. 메시지 중 하나에 포함될 수있는 단어 나 문구를 추측하십시오. "날씨 보고서"라는 문구를 가정 해 봅시다.
  2. 메시지 1부터 시작하여 첫 글자 위치에서 "날씨 보고서"가 발생한다고 가정하십시오.
  3. 한 시간 패드의 처음 14자를 역 계산하십시오.
  4. 역 계산 된 OTP를 사용하여 메시지 2의 처음 14자를 해독하십시오.
  5. 일반 텍스트가 gobble-di-gook처럼 보이면 2 단계로 돌아가서 두 번째 문자 위치에서 반복하십시오. 그러나 의미있는 텍스트를 얻는 경우 (예 : "Good Morning I", 축하합니다) OTP의 첫 14 자 (각 문자의 첫 14 자)를 해결했습니다.
  6. 임의의 문자가 아닌 다른 메시지를 던지지 않고 메시지 1의 끝에 도달하면 메시지 1에서 "날씨 보고서"라는 문구가 나타나지 않는다는 결론을 내릴 수 있습니다. "친애하는 대령"과 같은 다른 문구로 1 단계로 돌아가십시오. "
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.