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.
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
Hình vuông 2 — được khóa bởi con số, đi ngang theo các hàng
Khóa hình vuông 2: TWENTYTHREE
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
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
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
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
Đọ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ì?
Khóa số hoạt động ra sao?
Vì sao hai hình vuông được dựng khác nhau?
Bạn có thể cho một ví dụ về mật mã Bazeries không?
Làm thế nào để tôi giải mã một mật mã Bazeries?
Điều gì xảy ra với J cùng dấu cách và dấu câu?
Mật mã Bazeries có giống hình trụ Bazeries không?
Étienne Bazeries là ai?
Vì sao đảo ngược các nhóm thay vì dùng một kích thước khối cố định?
Mật mã Bazeries có an toàn không?
Tôi có thể dùng những con số nào làm khóa?
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