it-swarm-korea.com

DES를 무차별 대입 할 때 일반 텍스트에 대해 아는 것이 도움이됩니까?

데이터 암호화 표준 (Wikipedia)

무차별 대입으로 확인할 수있는 키가 2 ^ 56 개 있다는 것을 알고 있습니다 (56 비트, 각각 1 또는 0). 하지만 메시지 자체가 문자 (a-z, A-Z)로만 구성되어 있다는 것을 알고 있다고 가정 해 보겠습니다.

일반 텍스트에 대한 정보 (예 : 문자에 대한 제한)를 아는 것이 암호화를 더 쉽게 해제 할 수 있습니까?

10
AStanton

표준 무차별 대입 검색에서는 사용자가 이미 하나 이상의 일반 텍스트 및 주어진 키와 관련된 암호화를 알고 있다고 가정합니다. 따라서 일반 텍스트를 제한된 집합에서 가져 오는 것은 다른 약점이없는 한 도움이되지 않습니다.

무차별 대입 공격이 실제로 성공하려면 (이론적 방식으로도) 공격자는 올바른 키를 찾았는지 여부를 알기 위해 일반 텍스트에 대한 "뭔가"를 알아야합니다. 달리 말하면 공격자가 일반 텍스트에 대해 알고있는 경우 임의의 바이트가 많은 경우 시도 된 각 키에 대해 정확히 임의의 바이트로 표시됩니다.

반면에 공격자가 시스템을 공격 할 가치가 있다고 판단하면 (256 철저한 검색은 실현 가능하지만 비용이 많이 들지만 반드시 자신이 찾을 내용에 대한 사전 지식이 있어야합니다. 이는 표준 형식 (예 : 데이터가 XML 헤더로 시작하는 XML이거나 데이터가 gzip로 압축되어 gzip 헤더로 시작됨) 또는 다음과 같은 일부 기본 정보와 같을 수 있습니다. "일반 텍스트는 '이치에 맞는'텍스트입니다.".

ASCII 인코딩이 포함 된 영어 텍스트는 일부 바이트 값, 즉 32에서 126 (포함)까지의 바이트 값 및 가능하면 9 (가로 표), 10 및 13 (각각 LF 및 CR)) 만 사용합니다. , 줄 끝), 12 (세로 표) 및 26 (DOS/Windows 시스템의 파일 끝). 따라서 가능한 255 바이트 값 중 100 개입니다. 단일 DES 잘못된 키가있는 블록 (8 바이트)은 약 (100/255))8 이 "그럴듯한 문자"세트로만 구성됩니다. 공격자는 2를 가지고 있기 때문에56 시도하려면 키를 해독해야합니다 n 블록을 해독하여 잘못된 키를 받아 들일 확률이 2 개 이하가되도록합니다.-56. 이것은 n = 6 ((100/255) 때문에8 * 6 ≤ 2-56). 이로 인해 공격자가 잠재적 키당 6 블록을 해독하여 획득 한 문자를보고 잘못된 키를 필터링하는 철저한 검색 공격이 발생합니다.

이제, "8g.; = 7Zf"는 정확히 "이치에 맞는 텍스트"가 아닙니다. 따라서 공격자는 실제로 "일반 텍스트가 인쇄 가능한 ASCII 문자로만 구성됨)"이상을 알고 있습니다. 인쇄 가능한 문자 만 생성하고 그럴듯한 텍스트 발췌를 생성하지 않는 잘못된 암호 해독을 걸러 낼 수 있습니다. 예를 들어, 수천 개의 "가능한 키"(각각 컴퓨터의 관점에서 센스있는 텍스트를 생성하는 무언가를 생성)하고 손으로 작업을 완료합니다 (인간의 두뇌는 실제 텍스트를 찾아내는 데 매우 능숙합니다. 횡설수설 문자 목록 중) 따라서 공격자는 예를 들어 2 ~ 3 개의 블록을 사용하여 작업을 수행 할 수 있습니다.

수량화 공격자가 잘못된 암호 해독을 걸러내는 데 얼마나 효율적일지는 매우 어렵습니다. 왜냐하면 공격자가 컴퓨터 과학이 아닌 심리학 영역에있는 것을 "추측"하는 것에 달려 있기 때문입니다. 따라서 학계에서는 공격자가 알려진 일반 텍스트 블록을 가지고 있다고 간주하는 "안전한 규칙"을 사용합니다. 그는 또한 해당 암호문이있는 8 바이트 일반 텍스트를 100 % 확실하게 알고 있습니다. 실제 공격 상황에서는 사실이 아닐 수도 있지만 실제로 예측할 수는 없습니다.

3
Thomas Pornin

각 키를 확인하는 방법에 따라 다릅니다. 0에서 시작하여 계속 증가하면 문자 집합으로 변환하고 해당 문자가 유효한지 확인해야합니다. 또는 다른 방식으로 작업을 수행하고 문자로 시작하여 세트 내에서 문자만큼만 증가합니다.

비트 대신 문자 단위로 증가하면 훨씬 더 작은 작업 세트를 가지므로 모든 조합을 실행하는 데 시간이 덜 걸릴 것이라고 생각합니다.

2
Steve

가능한 솔루션이 제한된 집합에 속한다는 것을 알면 해독 프로세스를 일찍 종료 할 수 있으므로 도움이됩니다.
귀하의 경우에는 제한된 양의 암호화 된/암호화 텍스트 (예 : 처음 8/16/... 바이트) 만 복호화하고 나중에 사용할 수있는 복호화/일반 텍스트 만 저장할 수 있습니다. 문자로만 구성됩니다 (az, AZ). 다음으로 저장된 솔루션 공간이 너무 크면 해독하는 양을 늘리거나 단순히 모든 솔루션을 살펴보고 어느 것이 맞는지 결정할 수 있습니다.

0

짧은 대답은 "이론적으로 예"입니다.

하지만 : 그것은 DES 자신의 발을 넘어서게하는 주된 이유가 아닙니다.

더 많은 정보를 제공하겠습니다 ...

요즘 DES는 대부분의 응용 프로그램에서 안전하지 않은 것으로 간주됩니다. 이는 주로 56 비트 키 크기가 너무 작기 때문에 발생합니다. 1999 년 1 월에 "Electronic Frontier Foundation"과 "distributed.net"이 협력하여 공개적으로 DES 키를 22 시간 15 분만에 ...

작은 키 크기는 DES가 National Institute of Standards and Technology에서 표준으로 철회 된 이유 중 하나입니다.

그러나 알고리즘은 이론적 인 공격이 있지만 Triple DES의 형태로 실질적으로 안전하다고 믿어집니다. 최근 몇 년 동안 암호는 AES (Advanced Encryption Standard)로 대체되었습니다.

내 2 센트 : "DES를 피할 수 있다면 DES를 피하세요!"

0
user6373