T

Text Machine

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

Mật mã Bazeries

Mã hóa và giải mã mật mã Bazeries, hệ thống hai giai đoạn được nhà giải mã người Pháp Étienne Bazeries nghĩ ra, trong đó một con số bí mật duy nhất đảm nhận hai nhiệm vụ cùng lúc. Các chữ số của nó cắt thông điệp thành các nhóm để rồi từng nhóm bị đảo ngược, và chính con số đó viết thành chữ làm khóa cho một hình vuông thay thế đặt cạnh bảng chữ cái thường. Chọn con số của bạn, chuyển giữa mã hóa và giải mã, và theo dõi cả hai hình vuông được điền đầy trong khi phép hoán vị và phép thay thế diễn ra từng chữ cái một. Mọi thứ đều chạy trong trình duyệt của bạn.

Khóa số bí mật

Con số

Khi được viết thành chữ, con số làm khóa cho hình vuông bên phải; các chữ số của nó đặt kích thước các nhóm hoán vị. Ví dụ kinh điển dùng 23.

Các hình vuông mật mã trực tiếp

Hình vuông 1 — bảng chữ cái thường, đi xuống theo các cột

A
F
L
Q
V
B
G
M
R
W
C
H
N
S
X
D
I
O
T
Y
E
K
P
U
Z

Hình vuông 2 — được khóa bởi con số, đi ngang theo các hàng

T
W
E
N
Y
H
R
A
B
C
D
F
G
I
K
L
M
O
P
Q
S
U
V
X
Z

Khóa hình vuông 2: TWENTYTHREE

Bản rõ
Bản mã

Nhập văn bản ở trên để xem kết quả mật mã Bazeries tại đây.

Cách sử dụng Bazeries Cipher

  1. 1

    Chọn mã hóa hoặc giải mã

    Chọn Mã hóa để biến bản rõ thành bản mã Bazeries, hoặc Giải mã để biến bản mã trở lại thành bản rõ. Cùng một con số bí mật được dùng cho cả hai chiều.

  2. 2

    Nhập con số bí mật

    Gõ một số nguyên từ 1 đến 999999. Công cụ viết nó ra thành chữ để làm khóa cho hình vuông bên phải và dùng các chữ số của nó để định kích thước các nhóm hoán vị. Hai hình vuông trực tiếp cho thấy chính xác cách con số của bạn sắp xếp bảng chữ cái.

  3. 3

    Gõ hoặc dán văn bản của bạn

    Nhập thông điệp hoặc bản mã của bạn. Mật mã chạy tự động, đảo ngược mỗi nhóm có kích thước theo con số và thay thế giữa hai hình vuông, với một góc nhìn từng giai đoạn 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 con số, 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ề mật mã Bazeries

Mật mã Bazeries là gì?

Mật mã Bazeries là một mật mã bút-giấy gồm hai giai đoạn được đặt theo tên Étienne Bazeries, nhà giải mã lừng danh của quân đội Pháp cuối thế kỷ mười chín. Điều khiến nó tao nhã là một con số bí mật duy nhất điều khiển toàn bộ hệ thống. Cùng một con số được dùng theo hai cách khác nhau: đọc như một chuỗi chữ số nó dẫn dắt một phép hoán vị, và viết ra thành chữ nó làm khóa cho một phép thay thế. Việc kết hợp một phép hoán vị với một phép thay thế như thế này chính là điều các nhà mật mã học gọi là mật mã tích, và nó khiến mật mã Bazeries mạnh hơn đáng kể so với từng bước riêng lẻ.

Cả hai giai đoạn đều làm việc trên một bảng chữ cái 25 chữ trong đó I và J cùng chia sẻ một ô, đúng quy ước mà hình vuông Polybius và mật mã Playfair sử dụng. Bộ mã hóa trước tiên đảo ngược các nhóm chữ cái nhỏ, rồi thay thế mỗi chữ cái bằng hai hình vuông đặt cạnh nhau. Vì hai hình vuông được dựng theo những cách cố ý khác nhau, phép thay thế không phải là một phép dịch chuyển đơn giản mà là một sự xáo trộn thực sự của bảng chữ cái. Kết quả che giấu cả thứ tự của các chữ cái lẫn danh tính của chúng, đó chính xác là sự kết hợp mà Bazeries hướng tới.

Mật mã Bazeries hoạt động ra sao

Hai hình vuông 5x5 nằm cạnh nhau. Hình vuông 1 giữ bảng chữ cái thường, nhưng được viết đi xuống dọc theo các cột, nên đọc các hàng của nó cho ra A, F, L, Q, V ở dòng đầu tiên, rồi B, G, M, R, W, và cứ thế tiếp tục. Hình vuông 2 là hình vuông được khóa: con số bí mật được viết ra thành chữ, các chữ cái lặp lại của nó bị gạch bỏ, và phần còn lại của bảng chữ cái được nối thêm vào, tất cả được viết đi ngang theo các hàng theo thứ tự đọc thông thường từ trái sang phải. Với con số 23 thì từ khóa là TWENTYTHREE, được rút gọn thành TWENYHR, nên hình vuông 2 đọc là TWENY ở hàng đầu tiên, rồi HRABC, và phần còn lại của bảng chữ cái theo sau.

Việc mã hóa diễn ra qua hai lượt. Đầu tiên là phép hoán vị: bản rõ được cắt thành các nhóm liên tiếp có độ dài là các chữ số của con số được lấy lần lượt và lặp lại, và mỗi nhóm được viết ra theo chiều ngược. Với khóa 23 thì thông điệp được tách thành hai chữ cái, ba chữ cái, hai, ba, và cứ thế tiếp tục, và mỗi nhóm nhỏ đều bị đảo ngược. Thứ hai là phép thay thế: mỗi chữ cái của văn bản đã hoán vị đó được định vị trong hình vuông 1, và chữ cái chiếm đúng cùng một ô của hình vuông 2 được ghi xuống thay vào chỗ của nó. Giải mã đơn giản là chạy cỗ máy theo chiều ngược, đảo ngược phép thay thế từ hình vuông 2 về hình vuông 1 rồi đảo ngược cùng các nhóm đó một lần thứ hai để khôi phục thứ tự ban đầu của chúng.

Ví dụ thực hành

Lấy từ DCODE với khóa 23. Các chữ số 2 và 3 tách nó thành DC và ODE, và đảo ngược mỗi nhóm cho ra CD và EDO, nên văn bản đã hoán vị là CDEDO. Bây giờ hãy thay thế. Trong hình vuông 1, chữ cái C nằm trong ô mà ở hình vuông 2 giữ D; tương tự D ánh xạ tới L, E ánh xạ tới S, chữ D thứ hai lại ánh xạ tới L, và O ánh xạ tới O. Đọc những chữ đó ra cho ra bản mã DLSLO. Kết quả DCODE tới DLSLO này là vector tham chiếu chuẩn cho mật mã Bazeries, nên bạn có thể dùng nó để kiểm tra bất kỳ cách triển khai nào, bao gồm cả cái này.

Một thông điệp dài hơn cho thấy sự xáo trộn rõ hơn. Mã hóa WEHAVETAKENTHEBRIDGE với cùng khóa 23 tạo ra SCYTFPSSUTPGHSFMBSRL. Hãy để ý rằng hai bản sao của mẫu chữ cái trong bản rõ không xếp thẳng hàng gọn gàng trong bản mã, bởi vì phép hoán vị đã xáo trộn các chữ cái trước khi phép thay thế kịp nhìn thấy chúng. Để đảo ngược nó, hãy đặt công cụ sang Giải mã, gõ cùng con số 23, dán SCYTFPSSUTPGHSFMBSRL, và WEHAVETAKENTHEBRIDGE ban đầu sẽ trở lại. Con số đó là điều duy nhất mà hai người trao đổi cần chia sẻ.

Khóa số: một bí mật, hai nhiệm vụ

Trái tim thông minh của mật mã Bazeries là một con số mang toàn bộ khóa. Được viết ra thành các từ tiếng Anh và lược bỏ các chữ trùng lặp, nó trở thành từ khóa xáo trộn hình vuông 2, nên bảng chữ cái thay thế thay đổi hoàn toàn khi con số thay đổi. Đọc theo cách khác như một chuỗi chữ số, chính con số đó đặt nhịp cho phép hoán vị: khóa 23 đảo ngược các nhóm hai và ba, trong khi khóa 451 sẽ đảo ngược các nhóm bốn, năm và một. Do đó một con số ngắn duy nhất vừa dễ nhớ vừa thiết lập hai cơ chế độc lập.

Công cụ này chấp nhận bất kỳ số nguyên nào từ 1 đến 999999. Gõ nó một lần và bạn sẽ thấy hình vuông 2 tự dựng lại quanh từ khóa được viết ra, các chữ cái khóa được tô màu để bạn có thể theo dõi sự xáo trộn, trong khi các nhóm hoán vị trong phần tính toán bên dưới thay đổi kích thước để khớp với các chữ số. Vì chỉ riêng con số quyết định mọi thứ, đó là tất cả những gì đi bên trong liên kết chia sẻ, không bao giờ là bản rõ. Một chữ số 0 trong các chữ số được xử lý như một nhóm đầy đủ gồm mười để việc nhóm luôn tiến về phía trước, và các số 0 ở đầu bị bỏ qua vì khóa chỉ đơn giản là con số.

Étienne Bazeries, nhà giải mã

Étienne Bazeries đã dành nhiều thập kỷ trong và quanh cục mật mã của quân đội Pháp và giành được danh tiếng là một trong những người phá mã vĩ đại của thời đại ông. Ông được nhớ đến nhiều nhất vì đã giải được Đại Mật Mã của Louis XIV, một nomenclator đã chống lại sự phân tích suốt hai thế kỷ, và vì sự phê phán công khai sắc bén của ông đối với các thiết bị mật mã thời ông. Ông thích thú trong việc cho thấy rằng những hệ thống được cho là không thể phá vỡ thực ra không phải vậy, và ông đề xuất mật mã của riêng mình vừa như một ví dụ giảng dạy vừa như một thách thức đối với các nhà mật mã học mà ông tranh tài.

Đáng để tách biệt hai thứ cùng chia sẻ tên của ông. Mật mã Bazeries trên trang này là hệ thống hoán vị-và-thay thế bằng bút và giấy được điều khiển bởi một con số. Hình trụ Bazeries là một phát minh khác, một bộ bánh xe có chữ thuộc dòng họ của đĩa Jefferson và thiết bị M-94 sau này của Mỹ. Cả hai đều nảy sinh từ cùng một trí óc không ngừng nghỉ, nhưng chúng không liên quan gì về mặt cơ học. Ở đây chúng ta tập trung vào mật mã, cái mà bạn có thể thực hiện hoàn toàn với hai hình vuông, một con số, và một cây bút chì.

Mật mã Bazeries mạnh đến mức nào?

Theo tiêu chuẩn của thời đại nó, mật mã Bazeries là một hệ thống thủ công đáng nể, chính vì nó xếp lớp hai ý tưởng khác nhau. Bước hoán vị di chuyển các chữ cái xung quanh để phân tích tần suất không thể chỉ đơn giản đọc bảng chữ cái thay thế từ bản mã, trong khi bước thay thế ngụy trang danh tính của mỗi chữ cái để chỉ riêng việc đảo chữ không thể khôi phục được các từ. Phá vỡ từng giai đoạn một khó hơn nhiều khi giai đoạn kia đã làm mờ bằng chứng mà nhà phân tích sẽ dựa vào.

Tuy nhiên, trước các phương pháp hiện đại, nó không cung cấp sự an toàn thực sự nào. Không gian khóa rất nhỏ: một con số ngắn chỉ cho ra một nhúm khả năng, và ngay cả một con số sáu chữ số cũng tầm thường để một máy tính tìm kiếm vét cạn. Một khi con số được đoán ra, cả hai giai đoạn đều tháo gỡ ngay lập tức. Phép hoán vị cũng tự nghịch đảo với một khóa cố định và phép thay thế là một ánh xạ đơn bảng chữ cái cố định, nên cấu trúc trao cho một nhà giải mã quyết tâm vài điểm tựa. Đó là một mật mã tích mang tính lịch sử hấp dẫn, không phải một công cụ để bảo vệ bất cứ điều gì quan trọng ngày nay.

Mật mã Bazeries có an toàn không?

Không. Hãy xem mật mã Bazeries như một mảnh của lịch sử mật mã học và một câu đố, chứ không phải sự bảo vệ cho thông tin nhạy cảm. Khóa nhỏ và cấu trúc gọn gàng, có thể đảo ngược của nó có nghĩa là bất kỳ ai có máy tính, và thường là bất kỳ ai có sự kiên nhẫn cùng một cây bút chì, đều có thể khôi phục thông điệp. Nó tỏa sáng như một cách để học cách phép hoán vị và phép thay thế bổ trợ cho nhau, và nó là một món được yêu thích trong các cuộc săn câu đố, phòng trốn thoát, và các thử thách cướp cờ chính vì lý do đó.

Hãy dùng công cụ này để khám phá cách Bazeries kết hợp hai bước đơn giản thành một thứ khéo léo hơn từng bước riêng lẻ, để dựng và giải các câu đố, và để kiểm tra kết quả của bạn so với vector chuẩn DCODE tới DLSLO. Để có sự bảo mật 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. 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

Mật mã Bazeries là gì?
Mật mã Bazeries là một mật mã hai giai đoạn được tạo ra bởi nhà giải mã người Pháp Étienne Bazeries. Một con số bí mật duy nhất dẫn dắt cả hai giai đoạn: các chữ số của nó đặt một phép hoán vị đảo ngược các nhóm chữ cái nhỏ, và chính con số đó viết ra thành chữ làm khóa cho một phép thay thế giữa hai hình vuông 5x5. Việc kết hợp một phép hoán vị với một phép thay thế khiến nó trở thành một mật mã tích.
Khóa số hoạt động ra sao?
Con số được dùng theo hai cách cùng lúc. Được viết ra thành các từ tiếng Anh và lược bỏ các chữ cái lặp lại, nó trở thành từ khóa cho hình vuông thứ hai, nên bảng chữ cái thay thế phụ thuộc vào nó. Đọc như một chuỗi chữ số, nó đặt độ dài các nhóm hoán vị rồi được đảo ngược. Khóa 23 có nghĩa là các nhóm hai và ba và một từ khóa TWENTYTHREE.
Vì sao hai hình vuông được dựng khác nhau?
Hình vuông 1 là bảng chữ cái thường được viết đi xuống dọc theo các cột, trong khi hình vuông 2 là bảng chữ cái được khóa viết đi ngang theo các hàng. Sự khác biệt có chủ ý này về chiều điền là một phần của định nghĩa kinh điển và là điều khiến phép thay thế trở thành một sự xáo trộn thực sự của bảng chữ cái thay vì một phép dịch chuyển đơn giản. Đó cũng chính xác là điều tái tạo vector kiểm tra chuẩn DCODE tới DLSLO.
Bạn có thể cho một ví dụ về mật mã Bazeries không?
Với khóa 23, từ DCODE tách thành DC và ODE, mỗi nhóm đảo ngược để cho ra CDEDO, và thay thế giữa các hình vuông cho ra bản mã DLSLO. Giải mã DLSLO với cùng con số 23 trả về DCODE. Một ví dụ dài hơn: WEHAVETAKENTHEBRIDGE mã hóa thành SCYTFPSSUTPGHSFMBSRL.
Làm thế nào để tôi giải mã một mật mã Bazeries?
Chuyển công cụ sang Giải mã, nhập đúng con số mà thông điệp đã được mã hóa, và dán bản mã vào. Công cụ trước tiên hủy bỏ phép thay thế từ hình vuông 2 về hình vuông 1, rồi đảo ngược cùng các nhóm có kích thước theo con số một lần thứ hai để khôi phục thứ tự chữ cái ban đầu, dựng lại bản rõ.
Điều gì xảy ra với J cùng dấu cách và dấu câu?
Mật mã Bazeries làm việc trên một bảng chữ cái 25 chữ trong đó I và J cùng chia sẻ một ô, nên mỗi chữ J được xử lý như một chữ I. Khi bạn mã hóa, các chữ cái được gập về một kiểu chữ duy nhất và mọi thứ không phải là chữ cái, bao gồm dấu cách, chữ số và dấu câu, đều bị bỏ đi. Đó là lý do văn bản đã giải mã trở lại dưới dạng các chữ cái liên tục không có dấu cách.
Mật mã Bazeries có giống hình trụ Bazeries không?
Không. Chúng chia sẻ một nhà phát minh nhưng không liên quan gì về mặt cơ học. Mật mã Bazeries là hệ thống hoán vị-và-thay thế bằng bút và giấy được điều khiển bởi một con số, đó là cái mà công cụ này triển khai. Hình trụ Bazeries là một mật mã bánh xe thuộc dòng họ của đĩa Jefferson và thiết bị M-94 của Mỹ, dùng các đĩa có chữ xoay được thay vì các hình vuông.
Étienne Bazeries là ai?
Étienne Bazeries là một nhà giải mã quân sự người Pháp hoạt động vào khoảng đầu thế kỷ hai mươi, nổi tiếng vì đã giải được Đại Mật Mã của Louis XIV vốn đã không được đọc trong khoảng hai trăm năm. Ông là một nhà phê bình thẳng thắn các máy mật mã đương thời và đã nghĩ ra mật mã của riêng mình một phần như một sự trình diễn và một thách thức đối với các đồng nghiệp của ông.
Vì sao đảo ngược các nhóm thay vì dùng một kích thước khối cố định?
Việc để các chữ số của con số đặt độ dài các nhóm gắn phép hoán vị với chính bí mật làm khóa cho phép thay thế, nên một con số ngắn duy nhất điều khiển mọi thứ. Các kích thước nhóm thay đổi cũng phá vỡ văn bản một cách bất quy tắc hơn so với một khối cố định duy nhất, điều giúp ngụy trang các mẫu lặp lại trước khi giai đoạn thay thế được áp dụng.
Mật mã Bazeries có an toàn không?
Không. Mặc dù việc xếp lớp một phép hoán vị và một phép thay thế khiến nó trở thành một mật mã thủ công đáng nể vào thời của nó, không gian khóa rất nhỏ và một máy tính có thể thử mọi con số trong tích tắc. Một khi con số được tìm ra, cả hai giai đoạn đều tháo gỡ ngay lập tức. Hãy xem nó như lịch sử và như một câu đố, và dùng một thuật toán hiện đại như AES cho sự bảo mật thực sự.
Tôi có thể dùng những con số nào làm khóa?
Bất kỳ số nguyên nào từ 1 đến 999999. Công cụ viết con số ra thành chữ để dựng hình vuông được khóa và dùng các chữ số của nó cho phép hoán vị. Một chữ số 0 trong các chữ số được xử lý như một nhóm gồm mười để việc nhóm luôn tiến lên, và các số 0 ở đầu bị bỏ qua vì khóa chỉ đơn giản là giá trị của con số.
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 và con số 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

Ô vuông Polybius

Mật mã Nihilist

Mật mã Caesar

Mật mã Vigenère

Mật mã Atbash

Mật mã Rail Fence