2010-09-02 29 views
7

Khi tôi nghe về phương pháp phá vỡ thuật toán mã hóa, tôi nhận thấy thường tập trung vào cách giải mã rất nhanh và cách giảm không gian tìm kiếm. Tuy nhiên, tôi luôn tự hỏi làm thế nào bạn có thể nhận ra một giải mã thành công, và tại sao điều này không tạo thành một nút cổ chai. Hoặc là nó thường giả định rằng một cặp mã hóa/giải mã được biết đến?Không khó để nhận ra một giải mã thành công?

+1

đặc biệt là trong công viên Bletchly với Turings "Bom" ... Làm thế nào những máy đó biết khi nào họ đã bẻ mã? –

+0

Bombes hoạt động bằng cách tìm kiếm các giải pháp phù hợp trong nội bộ: nhiều giả thuyết cho khóa của ngày không tương thích với các thuật toán mã hóa được tạo ra, và các quả bom loại bỏ chúng, chỉ để lại những phân tích phù hợp để phân tích thủ công. Xem http://en.wikipedia.org/wiki/Bombe –

Trả lời

1

Trong mật mã học giả, bạn thường có quyền truy cập vào khóa công khai. Do đó, bất kỳ giải mã nào của một bản mã được mã hóa có thể được mã hóa lại bằng khóa công khai và so sánh với bản mã gốc, do đó tiết lộ nếu giải mã thành công.

Điều này cũng đúng cho mã hóa đối xứng. Nếu bạn nghĩ rằng bạn đã giải mã một mật mã, bạn cũng phải nghĩ rằng bạn đã tìm thấy chìa khóa. Do đó, bạn có thể sử dụng khóa đó để mã hóa văn bản đã được giải mã, có lẽ là chính xác của bạn và xem liệu kết quả được mã hóa có giống hệt với bản mã gốc hay không.

+3

ngoại trừ mã hóa đối xứng, mọi phím sẽ hoạt động theo cách này ... –

+2

Quan sát của bạn không thực sự hữu ích cho mã hóa đối xứng, vì bạn đã sử dụng khóa để tạo giải mã văn bản: tất nhiên nó sẽ khớp khi bạn sử dụng nó để mã hóa lại. Xem xét trường hợp cực đoan của một pad một lần; đối với một bản mã đã cho, bạn có thể đoán các phím sẽ cung cấp cho bạn bất kỳ * bản rõ nào có độ dài chính xác và tất cả sẽ mã hóa lại thành công bản mã bên phải :). –

+1

Hai bình luận trước đó cho thấy rằng đây là câu trả lời là không đúng. –

4

Từ Cryptonomicon:

Có một sự thỏa hiệp giữa hai cực của, trên một mặt, không biết bất kỳ của bản rõ ở tất cả, và, mặt khác, biết tất cả của nó . Trong Cryptonomicon nằm dưới tiêu đề của giường cũi. Giường cũi là dự đoán có giáo dục về những từ hoặc cụm từ có thể có trong thông báo . Ví dụ: nếu bạn là giải mã thư Đức từ World Chiến tranh II, bạn có thể đoán rằng văn bản rõ ràng gồm có cụm từ "HElL HITLER" hoặc "SIEG HElL". Bạn có thể chọn trong một chuỗi mười ký tự tại số ngẫu nhiên và nói, "Giả sử rằng đại diện cho HEIL HITLER. Nếu trường hợp đó , thì nó sẽ ngụ ý về phần còn lại của thư?"

...

Ngồi xuống trong văn phòng của ông với chặn Arethusa tươi, ông đã đi đến làm việc, sử dụng TANG LỄ như một cũi: nếu nhóm này có bảy chữ giải mã để TANG LỄ thì phần còn lại của trông giống như thế nào? Gibberish? Được rồi, nhóm bảy số này thì sao?

1

Đối với mã hóa đối xứng khi độ dài khóa ngắn hơn độ dài văn bản mã hóa, bạn được đảm bảo không thể tạo ra mọi văn bản thuần có thể. Bạn có thể đoán hình thức của bạn là gì - văn bản sẽ mất đến một mức độ nào đó - bạn có thể biết đó là hình ảnh hay XML, hoặc nếu bạn thậm chí không biết nhiều, bạn có thể giả định rằng bạn sẽ có thể chạy file trên đó và không nhận được 'dữ liệu'. Bạn phải hy vọng rằng chỉ có một vài phím mà sẽ cung cấp cho bạn ngay cả một giải mã hợp lý mơ hồ và chỉ có một trong đó phù hợp với hình thức bạn đang tìm kiếm.

Nếu bạn có mẫu văn bản thuần túy (hoặc một phần văn bản thuần túy) thì việc này sẽ dễ dàng hơn rất nhiều.

4

Nói chung, bạn có một số ý tưởng về định dạng của tệp mà bạn mong đợi từ kết quả giải mã và hầu hết các định dạng cung cấp một cách dễ dàng để nhận dạng chúng.Ví dụ, gần như tất cả các định dạng nhị phân như hình ảnh, tài liệu, zipfiles, vv, có tiêu đề dễ nhận biết, trong khi các tệp văn bản sẽ chỉ chứa ASCII hoặc chỉ các chuỗi UTF-8 hợp lệ.