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

Mã hóa và giải mã mật mã Playfair với từ khóa do bạn chọn. Chuyển đổi giữa biến thể ô vuông gộp I/J và bỏ Q, theo dõi từng bước trên ô vuông khóa 5×5 tương tác, 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.

Từ khóa

I và J dùng chung một ô, nên ô vuông chứa 25 chữ cái. Mọi chữ J trong văn bản của bạn được xem như I. Đây là quy ước phổ biến nhất.

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.

Ô vuông khóa (5×5)

Từ khóa lấp đầy lưới trước, trong các ô được làm nổi bật, rồi phần còn lại của bảng chữ cái hoàn tất nó. Mỗi cặp chữ cái được mã hóa bằng cách định vị hai chữ cái của nó trên ô vuông này.

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

Cách sử dụng Mật mã Playfair

  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 văn bản mã hóa Playfair, hoặc Giải mã để biến văn bản mã hóa trở lại thành văn bản thường đã được chuẩn bị bằng cùng một từ khóa.

  2. 2

    Chọn một biến thể ô vuông

    Chọn biến thể I/J phổ biến, trong đó I và J dùng chung một ô, hoặc biến thể bỏ Q, trong đó Q bị bỏ ra ngoài. Một gợi ý ngắn giải thích cách mỗi biến thể dựng ô vuông 25 chữ cái.

  3. 3

    Nhập từ khóa của bạn

    Nhập một từ khóa như MONARCHY. Các chữ cái khác nhau của nó lấp đầy ô vuông khóa 5×5 trước, và các ô được làm nổi bật bên dưới cập nhật tức thì để hiển thị lưới của bạn.

  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à mật mã chạy ngay khi bạn gõ. Các chữ cái được ghép cặp và mã hóa, các cặp đôi được tách ra bằng một chữ độn, còn khoảng trắng, chữ số và dấu câu bị loại bỏ.

  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 từ khóa, văn bản và thiết lập của bạn, sẵn sàng để dùng.

Tìm hiểu về mật mã Playfair

Mật mã Playfair là gì?

Mật mã Playfair là một kỹ thuật mã hóa đối xứng thủ công và là mật mã đầu tiên trong lịch sử mã hóa từng cặp chữ cái thay vì từng chữ cái đơn. Vì hoạt động trên các cặp đôi, những khối hai chữ cái, thay vì từng chữ cái một, nó làm phẳng mẫu hình tần suất chữ cái đơn vốn phá được các mật mã thay thế đơn giản, nên ở thời của nó Playfair vừa mạnh vừa đủ nhanh để dùng bằng tay ngoài thực địa.

Mật mã này do nhà khoa học người Anh Charles Wheatstone phát minh vào năm 1854 nhưng lại lấy tên từ người bạn của ông là Lord Playfair, người đã quảng bá việc sử dụng nó cho chính phủ và quân đội Anh. Ngày nay nó là một mật mã giảng dạy kinh điển và là mục được ưa chuộng trong các câu đố, phòng thoát hiểm và thử thách capture-the-flag, vì nó đủ phong phú để thú vị nhưng cũng đủ đơn giản để làm bằng tay.

Dựng ô vuông khóa 5×5

Mọi thứ trong Playfair xoay quanh một lưới 5×5 gồm 25 chữ cái được dựng từ một từ khóa bí mật. Trước tiên bạn viết các chữ cái khác nhau của từ khóa vào lưới, bỏ qua bất kỳ chữ lặp lại nào, rồi lấp các ô còn lại bằng phần còn lại của bảng chữ cái theo thứ tự. Vì 26 chữ cái không thể vừa khít vào 25 ô, một chữ cái phải dùng chung hoặc bị loại bỏ: trong quy ước phổ biến nhất I và J dùng chung một ô, còn một quy ước thay thế đơn giản là bỏ Q ra ngoài.

Từ khóa xáo trộn bảng chữ cái thành một thứ tự mà chỉ người có từ khóa mới tái tạo được, và công cụ ở trên làm nổi bật các chữ cái của từ khóa để bạn có thể thấy chính xác lưới của mình được bố trí như thế nào. Chẳng hạn với từ khóa MONARCHY, hàng đầu tiên trở thành M O N A R, rồi bảng chữ cái tiếp tục từ chỗ từ khóa kết thúc.

Ba quy tắc của Playfair

Trước khi mã hóa, thông điệp được tách thành các cặp chữ cái. Nếu một cặp lại là chữ cái đôi, chẳng hạn LL trong BALLOON, thì một chữ cái độn X được chèn vào để tách nó ra, và nếu thông điệp có số chữ cái lẻ thì một chữ độn cuối cùng được thêm vào để mọi cặp đều hoàn chỉnh. Khoảng trắng, chữ số và dấu câu được loại bỏ trước, vì không có chỗ nào để đặt chúng trên ô vuông.

Mỗi cặp sau đó được mã hóa bằng một trong ba quy tắc dựa trên vị trí của hai chữ cái. Nếu cả hai chữ cái nằm trên cùng một hàng, mỗi chữ được thay bằng chữ cái ngay bên phải nó, vòng lại về đầu hàng. Nếu cả hai nằm trên cùng một cột, mỗi chữ được thay bằng chữ cái ngay bên dưới, vòng lại lên trên cùng. Nếu không, hai chữ cái tạo thành các góc của một hình chữ nhật, và mỗi chữ được thay bằng chữ cái nằm trên hàng của chính nó tại cột của chữ cái kia.

Một ví dụ Playfair thực hành

Lấy từ khóa PLAYFAIR EXAMPLE và thông điệp HIDE THE GOLD IN THE TREE STUMP. Ô vuông khóa trở thành P L A Y F ở hàng đầu tiên, rồi I R E X M, B C D G H, K N O Q S, và T U V W Z. Thông điệp tách thành các cặp HI DE TH EG OL DI NT HE TR EX ES TU MP, trong đó một chữ X đã được chèn vào để tách cặp E đôi trong TREE.

Cặp đầu tiên HI tạo thành một hình chữ nhật, nên H trở thành B và I trở thành M, cho ra BM. Xử lý từng cặp theo cùng cách như vậy tạo ra văn bản mã hóa BM OD ZB XD NA BE KU DM UI XM MO UV IF. Giải mã nó bằng cùng một từ khóa sẽ đảo ngược từng quy tắc và trả về HIDETHEGOLDINTHETREXESTUMP, thông điệp đã được chuẩn bị với chữ X được chèn vào vẫn còn nguyên vị trí.

Giải mã một mật mã Playfair

Việc giải mã dùng chính ô vuông khóa đó và chỉ đơn giản chạy các quy tắc theo chiều ngược lại. Với hai chữ cái trên cùng một hàng bạn di chuyển sang trái thay vì sang phải, và với cùng một cột thì lên trên thay vì xuống dưới; quy tắc hình chữ nhật là ảnh phản chiếu của chính nó, nên nó không đổi. Chọn Giải mã ở trên, nhập từ khóa đã dùng để mã hóa, và dán văn bản mã hóa để khôi phục thông điệp.

Có một điểm lạ đáng nhớ: vì các chữ cái được gộp lại với nhau, các cặp đôi bị tách ra, và các thông điệp lẻ được độn thêm, nên văn bản đã giải mã là thông điệp đã được chuẩn bị chứ không phải bản gốc chính xác. Đôi khi bạn sẽ thấy một chữ X hoặc Z lạc lõng giữa các chữ cái lặp lại hoặc ở chính cuối cùng, và một chữ J đã được gộp vào I thì vẫn là I. Người đọc loại bỏ những chữ này bằng mắt, đó là điều bình thường đối với Playfair chứ không phải lỗi của công cụ.

Lược sử mật mã Playfair

Charles Wheatstone lần đầu mô tả mật mã này vào năm 1854, và Lord Playfair đã trình diễn nó cho những nhân vật cấp cao gồm Prince Albert và vị Thủ tướng tương lai Lord Palmerston. Văn phòng Chiến tranh Anh ban đầu cho rằng nó quá phức tạp, nhưng sức mạnh thực sự của nó là không cần bảng biểu hay thiết bị nào, chỉ cần một từ khóa thuộc lòng, điều khiến nó lý tưởng cho các sĩ quan ngoài thực địa.

Nó đã thực sự được sử dụng trong nhiều thập kỷ. Các lực lượng Anh dùng nó trong Chiến tranh Boer lần thứ hai và trong Thế chiến thứ nhất, và nó vẫn được dùng cho các liên lạc cấp thấp trong Thế chiến thứ hai, bao gồm bởi những người canh gác bờ biển Úc ở Thái Bình Dương. Giá trị của nó mang tính chiến thuật: một thông điệp chỉ cần giữ bí mật trong những giờ hoặc ngày mà thông tin nó mang theo vẫn còn quan trọng.

Mật mã Playfair an toàn đến mức nào?

Theo tiêu chuẩn hiện đại Playfair không an toàn, nhưng nó cứng cáp hơn nhiều so với một mật mã thay thế đơn giản. Vì nó mã hóa 600 cặp chữ cái có thể có thay vì 26 chữ cái, một phép đếm tần suất chữ cái đơn thuần chẳng để lộ điều gì, và kẻ tấn công phải thay vào đó phân tích tần suất của các cặp chữ cái. Với vài trăm ký tự văn bản mã hóa, các kỹ thuật đã biết như phân tích tần suất cặp chữ cái và leo đồi với tôi luyện mô phỏng có thể khôi phục được khóa.

Điều đó khiến Playfair trở thành một mật mã giáo dục và giải trí tuyệt vời: đủ mạnh để cho thấy vì sao mã hóa dựa trên cặp đôi là một bước tiến thực sự, nhưng cũng đủ yếu để phá như một câu đố. Đối với bất kỳ nhu cầu thực sự nào về bảo vệ thông tin, 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 thay thế.

Câu hỏi thường gặp

Mật mã Playfair là gì?
Mật mã Playfair là một kỹ thuật mã hóa thủ công mã hóa từng cặp chữ cái bằng một ô vuông khóa 5×5 được dựng từ một từ khóa. Nó là mật mã đầu tiên mã hóa chữ cái hai chữ một lúc thay vì một chữ một lúc, điều này che giấu mẫu hình tần suất chữ cái đơn vốn phá được các mật mã đơn giản hơn. Do Charles Wheatstone phát minh năm 1854, nó được đặt tên theo Lord Playfair, người đã quảng bá nó.
Mật mã Playfair hoạt động như thế nào?
Bạn dựng một lưới 5×5 từ một từ khóa, rồi tách thông điệp của mình thành các cặp chữ cái. Mỗi cặp được mã hóa tùy theo vị trí các chữ cái của nó trên lưới: cùng hàng nghĩa là dịch sang phải, cùng cột nghĩa là dịch xuống dưới, và nếu không thì cặp tạo thành một hình chữ nhật và bạn đổi sang các chữ cái nằm cùng hàng nhưng ở các cột đối diện. Việc giải mã dùng cùng một lưới với các chiều đảo ngược lại.
Ô vuông khóa 5×5 là gì?
Ô vuông khóa là một lưới gồm 25 chữ cái điều khiển toàn bộ mật mã. Trước tiên bạn viết các chữ cái khác nhau của từ khóa vào đó, rồi lấp phần còn lại bằng bảng chữ cái còn lại theo thứ tự. Vì 26 chữ cái không vừa trong 25 ô, I và J dùng chung một ô theo quy ước thông thường, hoặc Q bị bỏ đi theo quy ước thay thế. Ô vuông bên dưới công cụ cập nhật trực tiếp và làm nổi bật các chữ cái của từ khóa của bạn.
Ba quy tắc của Playfair là gì?
Với mỗi cặp chữ cái: nếu chúng nằm trên cùng một hàng, thay mỗi chữ bằng chữ cái bên phải nó, vòng lại từ đầu. Nếu chúng nằm trên cùng một cột, thay mỗi chữ bằng chữ cái bên dưới, vòng lại lên trên. Nếu chúng không nằm cùng hàng cũng không cùng cột, chúng tạo thành một hình chữ nhật, và mỗi chữ cái được thay bằng chữ nằm trên hàng của chính nó tại cột của chữ cái kia. Việc giải mã di chuyển sang trái và lên trên thay vì như vậy, còn quy tắc hình chữ nhật giữ nguyên.
Tại sao Playfair chèn X hoặc Z giữa các chữ cái?
Một cặp chữ cái giống hệt nhau không thể mã hóa được, nên một chữ độn được chèn vào để tách nó ra, đó là lý do một từ như BALLOON có thêm một chữ X giữa hai chữ L của nó. Chữ độn thường là X, nhưng khi chữ cái bên cạnh nó đã là X thì công cụ dùng Z thay thế để chữ được chèn luôn khác đi. Một chữ cái cuối cùng đơn lẻ được độn theo cùng cách để mọi cặp đều hoàn chỉnh.
Sự khác biệt giữa biến thể I/J và bỏ Q là gì?
Cả hai đều nén bảng chữ cái 26 chữ vào 25 ô, chỉ khác cách làm. Trong biến thể I/J, các chữ cái I và J dùng chung một ô, nên mọi chữ J trong văn bản của bạn được mã hóa như I. Trong biến thể bỏ Q, chữ cái Q bị bỏ hoàn toàn khỏi ô vuông, nên mọi chữ Q trong văn bản của bạn bị bỏ qua. Quy ước I/J là phổ biến nhất, nhưng cả hai đều xuất hiện trong sách giáo khoa và câu đố, nên công cụ hỗ trợ cả hai.
Bạn có thể cho một ví dụ Playfair thực hành không?
Với từ khóa PLAYFAIR EXAMPLE, thông điệp HIDE THE GOLD IN THE TREE STUMP trở thành các cặp HI DE TH EG OL DI NT HE TR EX ES TU MP và mã hóa thành BM OD ZB XD NA BE KU DM UI XM MO UV IF. Một chữ X đã được chèn vào để tách cặp E đôi trong TREE. Giải mã văn bản mã hóa bằng cùng một từ khóa sẽ trả về thông điệp đã được chuẩn bị HIDETHEGOLDINTHETREXESTUMP.
Làm thế nào để giải mã một mật mã Playfair?
Dùng cùng từ khóa và ô vuông khóa đã mã hóa thông điệp, rồi chạy các quy tắc theo chiều ngược lại. Các cặp cùng hàng di chuyển sang trái, các cặp cùng cột di chuyển lên trên, và quy tắc hình chữ nhật giữ nguyên. Chọn Giải mã ở trên, nhập từ khóa, và dán văn bản mã hóa. Kết quả là thông điệp đã được chuẩn bị, nên bạn có thể thấy các chữ độn mà người đọc gốc sẽ đơn giản bỏ qua.
Ai đã phát minh ra mật mã Playfair?
Nó được phát minh bởi Charles Wheatstone, một nhà khoa học người Anh cũng nổi tiếng với công trình về điện báo, vào năm 1854. Nó được đặt tên theo người bạn của ông là Lyon Playfair, Nam tước Playfair đầu tiên, người đã ủng hộ nó với chính phủ và quân đội Anh. Mật mã này đã được sử dụng thực sự trong Chiến tranh Boer lần thứ hai và Thế chiến thứ nhất, và cho các thông điệp cấp thấp đến tận Thế chiến thứ hai.
Làm thế nào để phá hay bẻ khóa mật mã Playfair?
Phân tích tần suất chữ cái đơn không hiệu quả vì Playfair mã hóa từng cặp, nên kẻ tấn công nghiên cứu tần suất của các cặp đôi thay vào đó. Với vài trăm ký tự văn bản mã hóa, các phương pháp như phân tích tần suất cặp chữ cái và leo đồi tự động với tôi luyện mô phỏng có thể khôi phục từ khóa. Một thông điệp ngắn với ít sự lặp lại thì khó phá hơn nhiều, đó là một phần lý do Playfair hữu ích ngoài thực địa.
Mật mã Playfair có giữ khoảng trắng, số và dấu câu không?
Không. Playfair chỉ hoạt động trên các chữ cái của bảng chữ cái, vì không có chỗ nào trên ô vuông 5×5 cho bất cứ thứ gì khác. Trước khi mã hóa, công cụ loại bỏ khoảng trắng, chữ số và dấu câu, và chuyển mọi thứ thành chữ hoa. Đây là lý do văn bản Playfair đã giải mã trở lại dưới dạng một chuỗi chữ cái liên tục chứ không phải các từ và câu gọn gàng.
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 và từ khóa của bạn không bao giờ được tải lên, ghi lại hay lưu trữ. Ngay cả liên kết chia sẻ cũng giữ văn bản và từ khóa 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 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ã bốn ô vuông

Mật mã hai ô vuông

Mật mã Caesar

Mật mã Vigenère

Mật mã Atbash

Mật mã Rail Fence