Straddling Checkerboard
Mã hóa và giải mã straddling checkerboard, mật mã monome-dinome chuyển các chữ cái thành chữ số. Những chữ cái thông dụng nhất chỉ chiếm một chữ số và mọi chữ cái khác chiếm hai chữ số, nên kết quả phân mảnh thông điệp thành một luồng chữ số gọn nhẹ che giấu ranh giới giữa các từ. Chọn một từ khóa để xáo trộn bảng, chọn hai cột chỉ báo hàng, chuyển giữa mã hóa và giải mã, và theo dõi bảng được điền đầy cùng các chữ số hình thành. Mọi thứ đều chạy trong trình duyệt của bạn.
Từ khóa
Các cột trống
Hai chữ số cột này trở thành các chỉ báo hàng cho những chữ cái hai chữ số. Bảng kinh điển dùng cột 2 và 6.
Bảng checkerboard trực tiếp
Nhập văn bản ở trên để xem kết quả straddling checkerboard tại đây.
Cách sử dụng Straddling Checkerboard
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để biến các chữ cái thành luồng chữ số, hoặc Giải mã để biến một luồng chữ số straddling checkerboard trở lại thành chữ cái. Cùng một khóa bảng được dùng cho cả hai chiều.
- 2
Đặt khóa bảng
Tùy chọn gõ một từ khóa để xáo trộn thứ tự của các chữ cái, và chọn hai cột trống trở thành các chỉ báo hàng. Bảng kinh điển không dùng từ khóa và dùng cột 2 và 6. Bảng trực tiếp cho thấy chính xác nơi mỗi chữ cái rơi vào.
- 3
Gõ hoặc dán văn bản của bạn
Nhập thông điệp hoặc các chữ số của bạn. Mật mã chạy tự động, mã hóa mỗi chữ cái thành một hoặc hai chữ số, hoặc đọc luồng chữ số trở lại thành chữ cái, với một góc nhìn từng thẻ một về quá trình tính toán.
- 4
Đọc, sao chép và chia sẻ
Đọc kết quả, rồi sao chép nó, tải nó xuống dưới dạng tệp văn bản, hoặc chia sẻ một liên kết mở lại công cụ với đúng từ khóa, các cột trống, chiều và văn bản của bạn. Mọi thứ đều ở lại trong trình duyệt của bạn.
Tìm hiểu về straddling checkerboard
Straddling checkerboard là gì?
Straddling checkerboard là một mật mã thay thế chuyển các chữ cái thành số bằng một lưới nhỏ. Điều khiến nó đặc biệt là các mã không có cùng độ dài: một nhúm những chữ cái thông dụng nhất được mã hóa bằng một chữ số duy nhất, trong khi mọi chữ cái và ký hiệu khác được mã hóa bằng hai chữ số. Vì một số chữ cái trở thành một chữ số và những chữ cái khác trở thành hai chữ số, mật mã này được gọi là mật mã monome-dinome, và cách các mã ngắn và dài đan xen vào nhau trong kết quả chính là điều mang lại cho nó cái tên straddling.
Cách mã hóa không đồng đều này là một mẹo khéo léo. Việc trao cho các chữ cái thường gặp như E, T, A, O, N, R, I và S những mã ngắn nhất giữ cho bản mã gọn nhẹ, giống hệt cách mã Morse trao cho các chữ cái thông dụng những tín hiệu ngắn nhất. Đồng thời luồng chữ số không có dấu cách và không có độ rộng chữ cái cố định, nên ranh giới giữa các chữ cái bị che giấu. Straddling checkerboard hiếm khi được dùng một mình; nó là giai đoạn đầu của các hệ thống bút-giấy mạnh hơn như mật mã Nihilist và VIC, nơi các chữ số sau đó được mã hóa thêm nữa.
Straddling checkerboard hoạt động ra sao
Bảng là một lưới với các cột được đánh nhãn từ 0 đến 9. Hàng trên cùng giữ các chữ cái tần suất cao, nhưng hai trong số các ô của nó được để trống. Các chữ số nằm trên hai cột trống đó trở thành các chỉ báo hàng: mỗi chữ số đánh nhãn cho một hàng thứ hai bên dưới lưới. Một chữ cái nằm trong hàng trên cùng được mã hóa bằng chữ số duy nhất của cột chứa nó. Một chữ cái nằm trong một trong các hàng thấp hơn được mã hóa bằng hai chữ số, trước là chữ số chỉ báo hàng rồi đến chữ số cột.
Khi đó mã hóa là một phép tra cứu trực tiếp. Đi qua bản rõ từng chữ cái một, tìm mỗi chữ cái trên bảng, và ghi xuống mã một chữ số hoặc hai chữ số của nó. Dấu cách và dấu câu bị bỏ đi và các chữ cái được gập về một kiểu chữ duy nhất, nên kết quả là một luồng chữ số thuần túy không có gì đánh dấu nơi một chữ cái kết thúc và chữ cái tiếp theo bắt đầu. Giải mã đảo ngược cách đọc: quét các chữ số từ trái sang phải, và mỗi khi bạn gặp một trong hai chữ số chỉ báo hàng, hãy đọc nó cùng với chữ số tiếp theo như một mã hai chữ số; nếu không thì chữ số đơn lẻ đứng một mình. Vì các chỉ báo hàng không bao giờ xuất hiện như một chữ cái đứng riêng, cách đọc này luôn luôn rõ ràng không mơ hồ.
Ví dụ thực hành
Lấy bảng kinh điển với hàng trên cùng đọc là E, T, A, O, N, R, I, S trên các cột không trống và hai cột trống tại 2 và 6. Hàng thấp đầu tiên được đánh nhãn bởi chỉ báo 2 và giữ B, C, D, F, G, H, J, K, L, M; hàng thấp thứ hai được đánh nhãn bởi chỉ báo 6 và giữ P, Q, dấu gạch chéo, U, V, W, X, Y, Z và dấu chấm. Vậy E là 0, T là 1, A là 3, và C, nằm trong hàng chỉ báo 2 ở cột 1, là 21.
Bây giờ hãy mã hóa thông điệp ATTACK AT DAWN. Đọc từng chữ cái một cho ra A là 3, T là 1, T là 1, A là 3, C là 21, K là 27, A là 3, T là 1, D là 22, A là 3, W là 65, N là 5. Nối các mã đó lại không có dấu phân tách tạo ra bản mã 3113212731223655. Để giải mã, hãy quét các chữ số đó từ bên trái: 3 không phải là chỉ báo hàng nên nó là A, rồi 1 là T, 1 là T, 3 là A, rồi một số 2 mở đầu một cặp nên 21 là C, 27 là K, và cứ thế tiếp tục, dựng lại ATTACKATDAWN. Các dấu cách đã biến mất vì chỉ các chữ cái được mã hóa, đó chính xác là cách luồng chữ số che giấu ranh giới giữa các từ.
Từ khóa và các cột trống
Hai lựa chọn định nghĩa bảng và đóng vai trò là khóa. Lựa chọn thứ nhất là một từ khóa xáo trộn thứ tự của các chữ cái: các chữ cái riêng biệt của từ khóa được viết vào bảng trước, rồi các chữ cái và ký hiệu còn lại theo sau theo thứ tự thông thường của chúng. Một bảng được dựng từ một từ khóa chung làm xáo trộn việc chữ cái nào nhận mã nào, nên hai người trao đổi đồng ý về từ khóa sẽ tạo ra cùng một bảng trong khi người ngoài thì không. Khi không có từ khóa, bảng được điền theo thứ tự tự nhiên của nó, tái tạo ví dụ sách giáo khoa ở trên.
Lựa chọn thứ hai là hai cột nào được để trống trong hàng trên cùng. Hai chữ số cột đó trở thành các chỉ báo hàng cho hai hàng thấp, và thay đổi chúng sẽ thay đổi mọi mã hai chữ số. Công cụ này cho phép bạn đặt cả hai: gõ một từ khóa để xáo trộn bảng và chọn bất kỳ hai chữ số cột khác nhau nào từ 0 đến 9 làm các ô trống. Bảng trực tiếp cập nhật ngay lập tức nên bạn có thể thấy chính xác nơi mỗi chữ cái rơi vào, và cùng từ khóa và các cột đó được yêu cầu để giải mã, nên chúng đi cùng bên trong liên kết chia sẻ thay vì trong văn bản hiển thị.
Mật mã VIC và lịch sử Chiến tranh Lạnh
Straddling checkerboard được biết đến nhiều nhất với vai trò là trái tim của mật mã VIC, một trong những mật mã thủ công tinh vi nhất từng được triển khai. Nó được đặt tên theo Reino Hayhanen, một điệp viên Liên Xô với mật danh VICTOR đã hoạt động ở Hoa Kỳ trong những năm 1950. Ông dùng một straddling checkerboard để biến các thông điệp của mình thành chữ số, rồi xếp chồng thêm các bước số học nữa được điều khiển bởi một khóa bí mật được suy ra từ một ngày tháng, một cụm từ và một con số cá nhân, tạo ra bản mã kháng cự được sự phân tích trong nhiều năm.
Hệ thống bị phát hiện qua vụ án đồng năm xu rỗng nổi tiếng. Một đồng năm xu bị khoét rỗng chứa một chuỗi chữ số được vi phim hóa đã xuất hiện ở New York, và FBI không thể phá vỡ thông điệp cho đến khi Hayhanen đào tẩu vào năm 1957 và giải thích phương pháp. Sự việc cho thấy cả việc một mật mã bút-giấy được thiết kế tốt có thể mạnh đến mức nào và cách straddling checkerboard đóng vai trò nền tảng nén bản rõ trước khi các giai đoạn mã hóa khó hơn được áp dụng.
Straddling checkerboard mạnh đến mức nào?
Tự thân nó, straddling checkerboard là một phép thay thế đơn giản và không an toàn. Mỗi chữ cái luôn ánh xạ tới cùng một hoặc hai chữ số, nên các tần suất chữ cái nền tảng sống sót đi vào luồng chữ số. Một nhà phân tích nghi ngờ có một checkerboard có thể tìm hai chữ số xuất hiện thường xuyên một cách bất thường ở vị trí chữ số dẫn đầu, nhận diện chúng là các chỉ báo hàng, tách luồng thành các mã đơn và mã kép, rồi giải kết quả như một câu đố thay thế thông thường. Một từ khóa thay đổi cách sắp xếp nhưng không che giấu các thống kê này.
Giá trị thực sự của nó là một khối xây dựng. Việc chuyển văn bản thành một luồng chữ số gọn nhẹ, có độ dài thay đổi là giai đoạn đầu lý tưởng cho các hệ thống mà sau đó thêm phép hoán vị hoặc phép cộng modulo, bởi vì sự phân mảnh trải thông tin của mỗi chữ cái xuyên suốt thông điệp và loại bỏ những khoảng trống giữa các từ hữu ích. Đó chính xác là cách mật mã Nihilist và VIC dùng nó: checkerboard nén và ngụy trang, còn một giai đoạn sau cung cấp sức mạnh mật mã.
Straddling checkerboard có an toàn không?
Không. Theo tiêu chuẩn hiện đại, straddling checkerboard không cung cấp sự bảo vệ nào cho thông tin nhạy cảm. Nó là một phép mã hóa có thể đảo ngược cộng với một phép thay thế đơn giản, và bất kỳ ai nhận ra mẫu hình chữ số đều có thể khôi phục văn bản bằng bút và giấy. Nó tuyệt vời để học cách phép phân mảnh và các mã có độ dài thay đổi hoạt động, và cho các câu đố, phòng trốn thoát cùng các thử thách cướp cờ, nhưng nó không bao giờ nên bảo vệ bất cứ điều gì quan trọng.
Hãy dùng công cụ này để khám phá cơ chế, để dựng và giải các câu đố checkerboard, và để thấy một mật mã gián điệp thời Chiến tranh Lạnh bắt đầu công việc của nó ra sao. Để bảo vệ dữ liệu thực sự, hãy dựa vào các thuật toán hiện đại, được kiểm chứng kỹ lưỡng như AES thay vào đó. Mọi thứ ở đây chạy cục bộ trong trình duyệt của bạn, nên bạn có thể thử nghiệm thoải mái mà không có bất cứ điều gì bạn gõ rời khỏi thiết bị của bạn.
Câu hỏi thường gặp
Straddling checkerboard là gì?
Vì sao một số chữ cái là một chữ số và những chữ cái khác là hai chữ số?
Làm thế nào để tôi đọc một thông điệp straddling checkerboard?
Bạn có thể cho một ví dụ về straddling checkerboard không?
Từ khóa dùng để làm gì?
Các cột trống là gì?
Straddling checkerboard có giống mật mã VIC không?
Mật mã VIC và vụ án đồng năm xu rỗng là gì?
Mật mã có giữ dấu cách và dấu câu không?
Làm thế nào để tôi giải mã một straddling checkerboard?
Straddling checkerboard có an toàn không?
Văn bản của tôi có được tải lên một máy chủ không?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này