T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

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.

Khóa bảng (từ khóa và các cột trống)

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

0
1
2
3
4
5
6
7
8
9
E
T
A
O
N
R
I
S
2
B
C
D
F
G
H
J
K
L
M
6
P
Q
/
U
V
W
X
Y
Z
.
Bản rõ
Chữ số

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. 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. 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. 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. 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ì?
Straddling checkerboard là một mật mã thay thế biến các chữ cái thành chữ số bằng một lưới nhỏ. Những chữ cái thông dụng nhất được mã hóa thành một chữ số duy nhất và mọi chữ cái khác thành hai chữ số, điều khiến nó trở thành một mật mã monome-dinome. Nó nén thông điệp và che giấu ranh giới giữa các từ, và nó tạo nên giai đoạn đầu của mật mã Nihilist và VIC.
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ố?
Hàng trên cùng của bảng giữ các chữ cái tần suất cao như E, T, A, O, N, R, I và S, và mỗi chữ cái được mã hóa bằng chữ số duy nhất của cột chứa nó. Hai cột trong hàng đó được để trống, và các chữ số của chúng đóng vai trò chỉ báo hàng cho hai hàng thấp hơn giữ các chữ cái còn lại, do đó những chữ cái này cần hai chữ số. Việc trao cho các chữ cái thông dụng những mã ngắn nhất giữ cho kết quả gọn nhẹ.
Làm thế nào để tôi đọc một thông điệp straddling checkerboard?
Quét các chữ số từ trái sang phải. 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ố cho một chữ cái ở hàng thấp hơn. Bất kỳ chữ số nào khác là một mã một chữ số cho một chữ cái hàng trên cùng. Vì các chỉ báo không bao giờ đứng một mình như chữ cái, cách đọc này luôn luôn rõ ràng không mơ hồ.
Bạn có thể cho một ví dụ về straddling checkerboard không?
Dùng bảng kinh điển với E, T, A, O, N, R, I, S ở trên cùng và các cột trống 2 và 6, thông điệp ATTACK AT DAWN mã hóa thành 3113212731223655. Giải mã các chữ số đó với cùng bảng thì trả về ATTACKATDAWN. Các dấu cách biến mất vì chỉ các chữ cái được mã hóa.
Từ khóa dùng để làm gì?
Từ khóa xáo trộn thứ tự của các chữ cái trên bảng. Các chữ cái riêng biệt của nó được đặt trước và phần còn lại của bảng chữ cái theo sau, nên cùng một chữ cái không còn nhận cùng một mã như bảng thường nữa. Hai người chia sẻ từ khóa sẽ dựng cùng một bảng, trong khi người không có nó thì không. Khi không có từ khóa, bảng được điền theo thứ tự tự nhiên của nó.
Các cột trống là gì?
Các cột trống là hai ô hàng trên cùng được để trống. Các chữ số cột của chúng trở thành các chỉ báo hàng đánh nhãn cho hai hàng thấp hơn, nên mọi mã hai chữ số đều bắt đầu bằng một trong số chúng. Thay đổi các cột trống sẽ thay đổi mọi mã hai chữ số. Bảng kinh điển để trống cột 2 và 6, nhưng bạn có thể chọn bất kỳ hai cột khác nhau nào từ 0 đến 9.
Straddling checkerboard có giống mật mã VIC không?
Không. Straddling checkerboard là một thành phần của mật mã VIC, không phải toàn bộ. Mật mã VIC trước tiên chuyển thông điệp thành chữ số bằng một checkerboard rồi áp dụng thêm phép mã hóa số học nữa được điều khiển bởi một khóa bí mật. Checkerboard cung cấp sự phân mảnh, còn các giai đoạn sau cung cấp phần lớn sức mạnh.
Mật mã VIC và vụ án đồng năm xu rỗng là gì?
Mật mã VIC là một mật mã thủ công của Liên Xô được điệp viên Reino Hayhanen, mật danh VICTOR, dùng ở nước Mỹ thập niên 1950, với một straddling checkerboard ở lõi của nó. Nó trở nên nổi tiếng qua vụ án đồng năm xu rỗng, trong đó một đồng xu bị khoét rỗng giữ một thông điệp chữ số được vi phim hóa mà FBI không thể phá vỡ cho đến khi Hayhanen đào tẩu vào năm 1957 và tiết lộ phương pháp.
Mật mã có giữ dấu cách và dấu câu không?
Không. Khi mã hóa, chỉ các chữ cái được chuyển đổi; dấu cách, dấu câu, chữ số và các ký hiệu khác bị bỏ đi, và các chữ cái được gập về một kiểu chữ duy nhất. Điều đó là có chủ ý, bởi vì việc loại bỏ các khoảng trống giữa các từ là một phần của cách luồng chữ số che giấu cấu trúc của thông điệp. Do đó giải mã trả về các chữ cái không có dấu cách.
Làm thế nào để tôi giải mã một straddling checkerboard?
Chuyển công cụ sang Giải mã, đặt đúng từ khóa và các cột trống mà thông điệp đã được mã hóa, và dán luồng chữ số vào. Công cụ đọc các chữ số từ trái sang phải, lấy hai chữ số sau một chỉ báo hàng và một chữ số trong các trường hợp khác, và dựng lại các chữ cái. Nếu một chữ số không thể khớp với bảng, nó được hiển thị dưới dạng một dấu hỏi.
Straddling checkerboard có an toàn không?
Không. Tự thân nó là một phép thay thế đơn giản, nên các tần suất chữ cái sống sót đi vào các chữ số và nó có thể được giải bằng tay. Mục đích của nó là làm một khối xây dựng mạnh cho các mật mã lớn hơn, chứ không phải một mật mã an toàn tự thân. Để bảo vệ thông tin thực sự, hãy dùng một thuật toán hiện đại như AES thay vào đó.
Văn bản của tôi có được tải lên một máy chủ không?
Không. Toàn bộ việc mã hóa và giải mã diễn ra hoàn toàn trong trình duyệt của bạn, nên văn bản, từ khóa và các cột trống của bạn không bao giờ được tải lên, ghi lại hay lưu trữ. Ngay cả một liên kết chia sẻ cũng giữ dữ liệu của bạn trong phần URL nằm sau dấu thăng, phần mà trình duyệt không bao giờ gửi đến một máy chủ, nên nó vẫn riêng tư cho đến khi bạn chọn chia sẻ.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Mật mã Caesar

Mật mã Vigenère

Mật mã Atbash

Mật mã Rail Fence

Mật mã Playfair

Mật mã Affine