Mật mã Bacon
Mã hóa và giải mã mật mã hai chữ của Bacon, biến mỗi chữ cái thành một nhóm năm ký hiệu A và B. Chuyển đổi giữa bảng chữ cái 24 và 26 chữ, chọn ký hiệu A/B hoặc 0/1, theo dõi trên bảng mã trực tiếp, rồi sao chép, tải xuống hoặc chia sẻ kết quả. Mọi thứ đều chạy trong trình duyệt của bạn.
Bảng chữ cái
Ký hiệu
Bacon cổ điển dùng 24 mã: I và J chung một mã, U và V chung một mã, đúng như Bacon đã viết năm 1605. Một chữ J đã giải mã đọc lại thành I, và một chữ V thành U.
Nhập văn bản ở trên để xem kết quả tại đây.
Bảng chữ cái Baconian
A
AAAAA
B
AAAAB
C
AAABA
D
AAABB
E
AABAA
F
AABAB
G
AABBA
H
AABBB
IJ
ABAAA
K
ABAAB
L
ABABA
M
ABABB
N
ABBAA
O
ABBAB
P
ABBBA
Q
ABBBB
R
BAAAA
S
BAAAB
T
BAABA
UV
BAABB
W
BABAA
X
BABAB
Y
BABBA
Z
BABBB
Cách sử dụng Mật mã Bacon
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để biến văn bản thường thành các nhóm Baconian, hoặc Giải mã để biến các nhóm năm ký hiệu A/B trở lại thành chữ cái.
- 2
Chọn biến thể bảng chữ cái
Chọn bảng chữ cái cổ điển 24 chữ, nơi I/J và U/V dùng chung một mã, hoặc bảng chữ cái phân biệt 26 chữ, nơi mọi chữ cái đều riêng biệt.
- 3
Chọn các ký hiệu
Hiển thị mã bằng A và B nguyên bản của Bacon, hoặc chuyển sang 0 và 1 để thấy nó dưới dạng nhị phân thuần túy. Việc giải mã chấp nhận cả hai kiểu.
- 4
Nhập hoặc dán văn bản của bạn
Nhập thông điệp của bạn và nó được chuyển đổi ngay khi bạn gõ. Mã hóa chỉ dùng các chữ cái, nên khoảng trắng, chữ số và dấu câu được bỏ qua.
- 5
Sao chép, tải xuống hoặc chia sẻ
Sao chép kết quả, tải 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 văn bản, biến thể và ký hiệu của bạn, sẵn sàng để dùng.
Tìm hiểu về mật mã Baconian
Mật mã Baconian là gì?
Mật mã Baconian, còn gọi là mật mã của Bacon hay mật mã hai chữ, là một phương pháp giấu thông điệp được nghĩ ra bởi nhà triết học và chính khách người Anh Sir Francis Bacon vào khoảng năm 1605. Thay vì thay mỗi chữ cái bằng một chữ cái khác duy nhất, nó thay mỗi chữ cái bằng một nhóm năm ký hiệu lấy từ chỉ hai chữ cái — theo truyền thống là A và B. Chẳng hạn, từ CAB trở thành ba nhóm năm ký hiệu, một cho C, một cho A, và một cho B.
Điều khiến ý tưởng của Bacon đáng kinh ngạc không phải là bản thân mã mà là cách nó có thể được giấu đi. Vì mỗi chữ cái được đánh vần chỉ bằng hai ký hiệu khác biệt, hai ký hiệu đó có thể được ngụy trang thành hai kiểu chữ hơi khác nhau trong một đoạn văn bản trông bình thường. Người đọc thấy một thông điệp vô hại; chỉ ai biết phải sắp xếp các chữ cái thành hai kiểu chữ mới có thể khôi phục các nhóm năm ký hiệu và đọc được bí mật. Điều đó khiến mật mã của Bacon trở thành một trong những hệ thống giấu tin sớm nhất — giấu chính sự tồn tại của một thông điệp — đồng thời cũng là một mật mã.
Mã hai chữ của Bacon hoạt động ra sao
Để mã hóa, mỗi chữ cái trong bảng chữ cái được gán một mẫu cố định gồm năm ký hiệu, mỗi ký hiệu là A hoặc B. Năm vị trí, mỗi vị trí chứa một trong hai chữ cái, cho ra ba mươi hai mẫu khả dĩ — quá đủ cho hai mươi sáu chữ cái của bảng chữ cái. A được viết là AAAAA, B là AAAAB, C là AAABA, và cứ thế, đếm dần lên theo một nhịp hai ký hiệu đều đặn cho đến Z. Khoảng trắng và dấu câu không có mẫu riêng, nên việc mã hóa chỉ làm việc trên các chữ cái.
Hai ký hiệu tự thân không mang ý nghĩa gì; điều quan trọng là mẫu năm ký hiệu. Đây là lý do hệ thống được gọi là hai chữ, nghĩa là hai-chữ-cái: toàn bộ bảng chữ cái được biểu đạt chỉ bằng một chữ A và một chữ B. Công cụ ở trên hiển thị toàn bộ ánh xạ trong bảng chữ cái của nó, và vì mỗi mã thực ra là một con số nhị phân năm chữ số được ngụy trang, bạn có thể chuyển đổi cách hiển thị giữa A và B hoặc 0 và 1 mà không thay đổi bất cứ điều gì về cách nó hoạt động.
Biến thể 24 chữ và 26 chữ
Bacon ban đầu viết bảng chữ cái của mình với hai mươi bốn mã thay vì hai mươi sáu, bởi vào đầu thế kỷ mười bảy các chữ cái I và J được coi là một chữ, U và V cũng vậy. Trong phiên bản cổ điển này I và J dùng chung mã ABAAA còn U và V dùng chung mã BAABB, nên một thông điệp đã giải mã có thể hiện I ở chỗ bạn viết J, hoặc U ở chỗ bạn viết V.
Phiên bản phân biệt hiện đại cho cả hai mươi sáu chữ cái mã riêng của mình, điều này loại bỏ sự nhập nhằng đó và làm cho mã hóa cùng giải mã đảo ngược được một cách hoàn hảo. Công cụ hỗ trợ cả hai: chọn bảng chữ cái cổ điển 24 chữ để khớp với các ví dụ lịch sử và những câu đố cũ, hoặc bảng chữ cái phân biệt 26 chữ khi bạn muốn mọi chữ cái sống sót qua một chuyến đi vòng mà không đổi. Bảng chữ cái cập nhật để hiển thị chính xác biến thể đã chọn dùng những mã nào.
Giấu một thông điệp ngay trước mắt
Sự khôn khéo thực sự của mật mã Bacon mang tính giấu tin: nó cho phép bạn che giấu một bí mật bên trong một thông điệp mang vác dài hơn, trông vô hại. Vì mỗi chữ cái ẩn cần năm ký hiệu, và mỗi ký hiệu có thể được biểu thị bằng bất kỳ chữ cái nào viết theo một trong hai kiểu chữ, bạn cần năm chữ cái văn bản mang vác cho mỗi một chữ cái của thông điệp ẩn. Viết năm chữ cái đó theo một hỗn hợp đã chọn, chẳng hạn một kiểu chữ thường và một kiểu chữ nghiêng, sẽ đánh vần ra một nhóm năm ký hiệu.
Bacon gọi nguyên tắc này là omnia per omnia — bất cứ điều gì bằng bất cứ điều gì — bởi văn bản mang vác có thể nói bất cứ điều gì bạn thích trong khi bí mật mang theo một thông điệp hoàn toàn khác bên dưới. Hai kiểu chữ không nhất thiết phải là kiểu chữ: bất kỳ sự phân biệt nhị phân nào cũng được, chẳng hạn chữ cao và chữ thấp, hay hai loại mực khác nhau. Công cụ này hiển thị các mã một cách công khai thay vì giấu chúng trong kiểu chữ, đó là điều bạn muốn cho việc học, các câu đố và thử thách capture-the-flag, nhưng các nhóm A/B nằm bên dưới chính là thứ mà một phiên bản giấu tin sẽ che giấu.
Một ví dụ Baconian thực hành
Lấy từ HELLO và mã hóa nó bằng bảng chữ cái phân biệt 26 chữ. H là chữ cái thứ tám, cho ra AABBB; E cho ra AABAA; L cho ra ABABB; L lần nữa cho ra ABABB; và O cho ra ABBBA. Nối lại với nhau, HELLO trở thành AABBB AABAA ABABB ABABB ABBBA — năm nhóm năm ký hiệu, một nhóm cho mỗi chữ cái.
Đọc ngược lại cũng trực tiếp y như vậy: tách các ký hiệu thành các nhóm năm và tra mỗi nhóm trong bảng chữ cái. Vì cùng một chữ cái luôn cho ra cùng một nhóm, hai chữ L trong HELLO cho ra cùng một mã hai lần, một lời nhắc nhỏ rằng, như bất kỳ phép thay thế đơn giản nào, văn bản Baconian để lộ mẫu hình của các chữ cái lặp lại. Chuyển kiểu ký hiệu sang 0 và 1 sẽ hiển thị chính thông điệp đó dưới dạng 00111 00100 01011 01011 01110.
Giải mã một mật mã Baconian
Để giải mã, bạn đảo ngược quá trình: thu thập các ký hiệu, chia chúng thành các nhóm năm, và dịch mỗi nhóm trở lại thành chữ cái của nó. Chọn Giải mã ở trên, chọn biến thể bảng chữ cái đã dùng để mã hóa, và dán văn bản mã hóa. Công cụ dễ tính về định dạng — nó đọc A hoặc B ở bất kỳ kiểu chữ hoa thường nào, coi 0 là A và 1 là B nên các mã kiểu nhị phân cũng dùng được, và bỏ qua khoảng trắng, dấu gạch chéo cùng ngắt dòng, nên bạn có thể dán các mã được bố trí theo bất cứ cách nào bạn tìm thấy chúng.
Chỉ những nhóm năm hoàn chỉnh mới được dịch; một ký hiệu lẻ còn sót lại ở cuối bị bỏ qua, và bất kỳ nhóm nào không tương ứng với một chữ cái sẽ được hiển thị bằng một dấu chấm hỏi để bạn có thể phát hiện một chỗ chép sai. Nếu bạn đang giải mã bằng bảng chữ cái cổ điển 24 chữ, hãy nhớ rằng một chữ J ban đầu sẽ trở lại thành I và một chữ V ban đầu thành U, bởi những chữ cái đó dùng chung một mã thời Bacon.
Lịch sử và độ an toàn của mật mã Bacon
Francis Bacon công bố mật mã hai chữ của ông năm 1605 trong The Advancement of Learning và mô tả nó đầy đủ hơn trong ấn bản tiếng Latin năm 1623. Về sau nó trở nên nổi tiếng vượt xa khỏi mật mã học: những người ủng hộ thuyết cho rằng Bacon bí mật viết các vở kịch của Shakespeare đã dành hàng thập kỷ săn lùng — một cách thiếu thuyết phục — những mật mã Baconian giấu trong kiểu chữ của First Folio. Di sản thực sự của mật mã này mang tính khái niệm, rút gọn toàn bộ bảng chữ cái thành một mã hai ký hiệu ba thế kỷ trước khi máy tính làm điều tương tự bằng nhị phân.
Theo các tiêu chuẩn hiện đại, mật mã của Bacon không mang lại sự an toàn mật mã nào. Một khi bạn nhận ra rằng một văn bản là Baconian, việc giải mã nó hoàn toàn mang tính máy móc, bởi các nhóm năm ký hiệu là một phép thay thế cố định không có khóa. Sự bảo vệ của nó luôn là sự che giấu — giấu việc một thông điệp tồn tại — chứ không phải xáo trộn nội dung của nó. Để bảo vệ thông tin thực sự ngày nay, bạn nên dùng một thuật toán hiện đại, đã được giới chuyên môn bình duyệt như AES; hãy giữ Baconian cho các câu đố, việc giảng dạy, và niềm vui giấu chữ ngay trước mắt.
Câu hỏi thường gặp
Mật mã Baconian là gì?
Mật mã Baconian hoạt động như thế nào?
Ai đã phát minh ra mật mã Baconian?
Sự khác biệt giữa phiên bản 24 chữ và 26 chữ là gì?
Tại sao mật mã của Bacon dùng các nhóm năm chữ cái?
Có thể cho một ví dụ Baconian thực hành không?
Làm thế nào để giải mã một mật mã Baconian?
Mật mã hai chữ nghĩa là gì?
Mật mã Baconian được dùng cho giấu tin như thế nào?
Mật mã Baconian có giống nhị phân không?
Mật mã Baconian an toàn đến mức nào?
Mật mã Baconian có giữ khoảng trắng và dấu câu không?
Văn bản của tôi có được tải lên 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