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ã 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.

Thiết lập mật mã

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.

Văn bản thường
Văn bản mã hóa

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. 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. 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. 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. 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. 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, hay mật mã của Bacon, là một phương pháp do Sir Francis Bacon nghĩ ra vào khoảng năm 1605, thay mỗi chữ cái bằng một nhóm năm ký hiệu lấy từ một bảng chữ cái hai chữ, theo truyền thống là A và B. Nó được gọi là mật mã hai chữ. Đặc điểm riêng của nó là hai ký hiệu có thể được giấu trong các kiểu chữ của một văn bản thường, che giấu việc một thông điệp bí mật tồn tại.
Mật mã Baconian hoạt động như thế nào?
Mỗi chữ cái được gán một mã năm ký hiệu cố định gồm các chữ A và B — A là AAAAA, B là AAAAB, C là AAABA, và cứ thế. Để mã hóa, bạn thay mỗi chữ cái của thông điệp bằng mã của nó; để giải mã, bạn tách các ký hiệu thành các nhóm năm và tra mỗi nhóm. Vì năm vị trí của hai ký hiệu cho ra ba mươi hai tổ hợp, có một mã riêng cho mỗi chữ cái của bảng chữ cái.
Ai đã phát minh ra mật mã Baconian?
Nó được tạo ra bởi Sir Francis Bacon, nhà triết học, nhà khoa học và chính khách người Anh, người đã mô tả nó vào khoảng năm 1605 trong The Advancement of Learning và chi tiết hơn trong ấn bản tiếng Latin năm 1623. Bacon gọi nó là mật mã hai chữ và quý trọng nó vì cho phép một thông điệp được giấu bên trong một thông điệp khác — một nguyên tắc ông đúc kết thành omnia per omnia, bất cứ điều gì bằng bất cứ điều gì.
Sự khác biệt giữa phiên bản 24 chữ và 26 chữ là gì?
Trong bảng chữ cái 24 chữ nguyên bản của Bacon, I và J dùng chung một mã còn U và V dùng chung một mã khác, bởi những cặp đó được coi là chữ cái đơn vào thời ông. Phiên bản 26 chữ hiện đại cho mỗi chữ cái mã riêng của mình. Dùng biến thể cổ điển cho các ví dụ lịch sử và những câu đố cũ; dùng biến thể phân biệt khi bạn cần một thông điệp sống sót qua mã hóa và giải mã với mọi chữ cái còn nguyên vẹn.
Tại sao mật mã của Bacon dùng các nhóm năm chữ cái?
Năm ký hiệu, mỗi ký hiệu có thể là một trong hai chữ cái, tạo ra ba mươi hai mẫu khác nhau — hai nhân với chính nó năm lần. Đó là kích thước nhóm nhỏ nhất cho ra đủ mẫu để bao trùm cả hai mươi sáu chữ cái của bảng chữ cái, vì bốn ký hiệu chỉ cho mười sáu. Các mẫu thừa đơn giản là không được dùng, đó cũng là lý do mỗi mã thực ra là một con số nhị phân năm chữ số được ngụy trang.
Có thể cho một ví dụ Baconian thực hành không?
Dùng bảng chữ cái phân biệt 26 chữ, từ HELLO mã hóa thành AABBB AABAA ABABB ABABB ABBBA — một nhóm năm ký hiệu cho mỗi chữ cái, trong đó H là AABBB, E là AABAA, L là ABABB, và O là ABBBA. Cùng thông điệp đó bằng ký hiệu 0 và 1 là 00111 00100 01011 01011 01110. Để giải mã, bạn tách các ký hiệu trở lại thành các nhóm năm và đọc mỗi nhóm từ bảng chữ cái.
Làm thế nào để giải mã một mật mã Baconian?
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ó bằng cùng biến thể bảng chữ cái đã mã hóa thông điệp. Trong công cụ này, chọn Giải mã, chọn biến thể, và dán văn bản mã hóa. Nó chấp nhận A và B ở bất kỳ kiểu chữ hoa thường nào, coi 0 là A và 1 là B, và bỏ qua khoảng trắng cùng ngắt dòng, nên bạn có thể dán các mã ở hầu như bất kỳ bố cục nào.
Mật mã hai chữ nghĩa là gì?
Hai chữ nghĩa là hai-chữ-cái. Bacon dùng từ này bởi mật mã của ông biểu đạt toàn bộ bảng chữ cái chỉ với hai ký hiệu khác biệt, một chữ A và một chữ B, sắp xếp năm cái một lần. Đó cũng chính là ý tưởng nằm dưới mã nhị phân, nơi mọi thứ được biểu thị bằng hai chữ số, 0 và 1 — đó là lý do công cụ này có thể hiển thị chính thông điệp đó dưới dạng A/B hoặc 0/1.
Mật mã Baconian được dùng cho giấu tin như thế nào?
Vì mỗi ký hiệu đơn giản là kiểu một hoặc kiểu hai, bạn có thể giấu mẫu A/B bên trong một thông điệp mang vác vô hại bằng cách viết nó theo hai hình thức hơi khác nhau — chẳng hạn một kiểu chữ thường và một kiểu chữ nghiêng, hoặc chữ cao và chữ thấp. Mỗi năm chữ cái văn bản mang vác mã hóa một chữ cái ẩn. Người đọc bình thường chỉ thấy thông điệp thông thường; bí mật chỉ được hé lộ khi sắp xếp các chữ cái thành hai hình thức.
Mật mã Baconian có giống nhị phân không?
Về cơ bản nó là nhị phân năm bit. Mỗi mã là năm vị trí, mỗi vị trí chứa một trong hai ký hiệu, nên A/B ánh xạ trực tiếp lên 0/1 và mỗi chữ cái tương ứng với một con số nhị phân năm chữ số. Bacon đã nghĩ ra điều này năm 1605, hơn ba thế kỷ trước khi máy tính điện tử dùng nhị phân, đó là lý do mật mã của ông thường được giới thiệu như một tổ tiên sơ khai của mã hóa nhị phân. Công cụ này cho bạn xem các mã dưới dạng A/B hoặc 0/1.
Mật mã Baconian an toàn đến mức nào?
Không an toàn theo tiêu chuẩn hiện đại. Một khi ai đó 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 mã là một phép thay thế cố định không có khóa. Sức mạnh của nó chưa bao giờ là xáo trộn mà là che giấu — giấu việc một thông điệp tồn tại bằng cách ngụy trang các ký hiệu trong văn bản thường. Để bảo vệ thực sự, hãy dùng một thuật toán hiện đại như AES; Baconian tốt nhất nên được giữ cho các câu đố, việc học, và thử thách capture-the-flag.
Mật mã Baconian có giữ khoảng trắng và dấu câu không?
Không. Mã hóa chỉ làm việc trên các chữ cái từ A đến Z, bởi khoảng trắng, chữ số và dấu câu không có mã năm ký hiệu riêng của mình, nên chúng bị bỏ qua. Điều này nghĩa là một thông điệp Baconian đã giải mã trở lại thành một dải chữ cái liên tục không có khoảng cách ban đầu. Đó là một đặc điểm bình thường của mật mã chứ không phải hạn chế của công cụ.
Văn bản của tôi có được tải lên 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 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ữ văn bản và thiết lập 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áy chủ, nên thông điệp của bạn vẫn riêng tư cho đến khi bạn chọn chia sẻ liên kết.

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