Mật mã Porta
Mã hóa và giải mã mật mã Della Porta, một mật mã đa bảng dựa trên từ khóa được học giả người Ý Giovan Battista della Porta công bố vào năm 1563. Nó có tính thuận nghịch: cùng một từ khóa vừa mã hóa vừa giải mã, nên không có chế độ giải mã riêng. Nhập một từ khóa và theo dõi 13 bảng chữ cái ghép cặp hoạt động trực tiếp. Mọi thứ đều chạy trong trình duyệt của bạn.
Porta có tính thuận nghịch: cùng một từ khóa vừa mã hóa vừa giải mã. Để giải mã một thông điệp, hãy dán bản mã vào và nhập đúng từ khóa đó, và kết quả chính là bản rõ ban đầu. Không có nút giải mã riêng.
Từ khóa
Từ khóa là bí mật được chia sẻ giữa người gửi và người nhận. Nó lặp lại dọc theo thông điệp, và mỗi chữ cái của nó chọn một trong 13 bảng chữ cái thuận nghịch. Vì các bảng chữ cái được ghép cặp, A và B chọn cùng một bảng, C và D chọn bảng kế tiếp, và cứ thế. Chỉ các chữ cái được dùng; mọi dấu cách, chữ số hoặc dấu câu trong từ khóa đều bị bỏ qua.
Nhập văn bản ở trên để xem kết quả Porta tại đây.
Cách sử dụng Mật mã Porta
- 1
Nhập từ khóa
Gõ từ khóa bí mật được chia sẻ, chẳng hạn CIPHER. Chỉ các chữ cái của nó được dùng; mọi dấu cách, chữ số hoặc dấu câu đều bị bỏ qua. Cùng một từ khóa được dùng cho cả mã hóa và giải mã.
- 2
Gõ hoặc dán văn bản của bạn
Nhập thông điệp bạn muốn chuyển đổi: bản rõ để mã hóa, hoặc bản mã Porta để giải mã. Mật mã chạy tự động ngay khi bạn gõ, và quá trình tính toán từng chữ cái cập nhật trực tiếp bên dưới.
- 3
Đọc kết quả thuận nghịch
Vì Porta có tính thuận nghịch, cùng một từ khóa phục vụ cả hai chiều. Để khôi phục một thông điệp, dán bản mã vào và nhập đúng từ khóa đã được dùng để mã hóa nó; kết quả là bản rõ ban đầu.
- 4
Xem, sao chép và chia sẻ
Mở quá trình tính toán để xem cặp khóa và bảng chữ cái nào đã mã hóa mỗi chữ cái, rồi sao chép kết quả, 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 từ khóa và văn bản của bạn.
Tìm hiểu về mật mã Porta
Mật mã Porta là gì?
Mật mã Porta, đầy đủ hơn là mật mã Della Porta, là một mật mã thay thế đa bảng được nhà bác học người Ý Giovan Battista della Porta mô tả trong cuốn sách năm 1563 của ông, De Furtivis Literarum Notis. Giống mật mã Vigenère, nó dùng một từ khóa lặp lại để cùng một chữ cái bản rõ có thể mã hóa thành nhiều chữ cái bản mã khác nhau tùy vào vị trí của nó, điều này làm phẳng những mẫu tần suất chữ cái vốn để lộ một phép thay thế đơn giản. Đó là một trong những hệ thống đa bảng thực dụng sớm nhất, và trong nhiều thế kỷ nó được ngưỡng mộ vì vừa khá mạnh vừa dễ dùng bằng tay.
Điều khiến Porta khác biệt là bảng chỉ gồm 13 bảng chữ cái thuận nghịch của nó thay vì 26 hàng đã dịch chuyển của một bảng vuông Vigenère đầy đủ. Mỗi bảng chữ cái được dựng sao cho nửa đầu của bảng chữ cái luôn trao đổi với nửa sau, điều này đem lại cho mật mã đặc tính hữu ích nhất của nó: nó có tính thuận nghịch, nghĩa là chính cùng một phép toán vừa mã hóa vừa giải mã. Della Porta thường được nhớ đến như một trong những người sáng lập mật mã học hiện đại, và bảng tự nghịch đảo gọn gàng này là ý tưởng gắn liền nhất với tên ông.
Mật mã Porta hoạt động ra sao
Đánh số bảng chữ cái từ A là 0 đến Z là 25. Từ khóa được lặp lại bao nhiêu lần tùy cần để xếp một chữ cái khóa dưới mỗi chữ cái của thông điệp. Mỗi chữ cái khóa chọn một trong 13 hàng, và các hàng đi theo cặp: A hoặc B chọn hàng đầu tiên, C hoặc D chọn hàng thứ hai, E hoặc F chọn hàng thứ ba, và cứ thế cho đến Y hoặc Z, vốn chọn hàng thứ mười ba. Gọi số cặp đó là r, chạy từ 0 cho A hoặc B đến 12 cho Y hoặc Z, một chữ cái bản rõ ở nửa đầu của bảng chữ cái (A–M, giá trị 0–12) mã hóa thành C = 13 + ((P + r) mod 13), rơi vào đâu đó trong nửa sau N–Z. Một chữ cái ở nửa sau ánh xạ trở lại nửa đầu với C = (P − 13 − r) mod 13.
Trên giấy, việc này được thực hiện bằng bảng Porta, một lưới gồm 13 hàng. Để mã hóa một chữ cái, bạn tìm hàng ứng với chữ cái khóa hiện thời, định vị chữ cái bản rõ trong hàng đó, và đọc ra chữ cái đối tác của nó. Chữ cái là những ký tự duy nhất được biến đổi; dấu cách, chữ số và dấu câu đi thẳng qua và không tiêu tốn một chữ cái khóa, nên từ khóa vẫn được xếp thẳng hàng với những chữ cái có ý nghĩa. Quá trình tính toán trực tiếp bên dưới công cụ cho thấy chính xác điều này với mỗi chữ cái trong thông điệp của bạn, bao gồm cả cặp khóa nào đã chọn bảng chữ cái.
Ví dụ thực hành
Mã hóa thông điệp HELLO với từ khóa KEY. Lặp lại từ khóa cho ra các chữ cái khóa K, E, Y, K, E xếp thẳng dưới H, E, L, L, O. Chữ cái khóa K thuộc cặp K hoặc L, nên nó chọn hàng đó, và trong hàng đó H mã hóa thành Z. Chữ cái khóa E thuộc cặp E hoặc F, và trong hàng đó E mã hóa thành T. Chữ cái khóa Y, từ cặp Y hoặc Z, biến L thành X. K lại biến chữ L kế tiếp thành Q, và E biến O thành M. Bản mã là ZTXQM.
Bây giờ giải mã ZTXQM với cùng từ khóa KEY và cùng thủ tục. Trong hàng K hoặc L, Z ánh xạ trở lại thành H; trong hàng E hoặc F, T ánh xạ trở lại thành E; trong hàng Y hoặc Z, X ánh xạ trở lại thành L; K trả Q về L; và E trả M về O. Kết quả lại là HELLO. Phép toán y hệt đã khôi phục thông điệp, và đó chính là toàn bộ ý nghĩa của mật mã Porta.
Vì sao Porta là nghịch đảo của chính nó
Đặc tính thuận nghịch được dựng sẵn vào hình dạng của mỗi hàng. Mỗi bảng chữ cái ghép nửa đầu của các chữ cái, A–M, với nửa sau, N–Z, sao cho bất kỳ chữ cái A–M nào ánh xạ tới một chữ cái N–Z cho trước thì chữ cái N–Z đó ánh xạ thẳng trở lại. Mã hóa đưa một chữ cái nửa đầu vào nửa sau, và đưa kết quả trở lại qua cùng một hàng sẽ đưa nó về nhà lần nữa. Phép xoay do cặp khóa đặt ra triệt tiêu vì đúng cùng lý do đó, nên mã hóa hai lần đưa bạn trở về nơi bạn đã bắt đầu.
Điều này thực sự tiện lợi. Với Vigenère bạn phải cộng khi mã hóa và trừ khi giải mã, nên hai chiều dùng những thủ tục khác nhau. Với Porta chỉ có một thủ tục để học, và một bảng duy nhất hay một công cụ duy nhất phục vụ cả hai chiều. Đó là lý do công cụ này không có nút giải mã riêng: bạn chỉ cần nhập đúng từ khóa và dán bất kỳ văn bản nào bạn muốn chuyển đổi.
Porta, Vigenère, và Beaufort
Sẽ hữu ích nếu xếp song song các mật mã từ khóa có quan hệ mật thiết. Mật mã Vigenère cộng khóa vào bản rõ, C = (P + K) mod 26, và cần phép trừ ngược lại để giải mã. Mật mã Beaufort trừ bản rõ ra khỏi khóa, C = (K − P) mod 26, và có tính thuận nghịch. Mật mã Porta đạt tới tính thuận nghịch theo một cách khác: thay vì dịch chuyển toàn bộ bảng chữ cái, nó chia đôi bảng và hoán đổi hai nửa, chỉ dùng 13 bảng chữ cái ghép cặp được định khóa bằng các cặp chữ cái. Tất cả chúng đều chia sẻ một từ khóa lặp lại và một bảng in, đó là lý do chúng dễ bị nhầm lẫn.
Vì hình học khác nhau, một thông điệp được mã hóa bằng một trong các mật mã này sẽ trông như vô nghĩa dưới mật mã khác. Công cụ này hiện thực bảng Della Porta thuận nghịch cổ điển. Nếu bạn cần quy tắc cộng, công cụ Vigenère trên Text Machine bao quát Vigenère và các chế độ liên quan của nó, còn công cụ Beaufort bao quát mật mã từ khóa thuận nghịch còn lại.
Cách phá mật mã Porta
Porta thừa hưởng những điểm mạnh và những điểm yếu của bất kỳ mật mã đa bảng dùng khóa lặp lại nào. Hàng phòng thủ của nó là một chữ cái bản rõ ánh xạ tới nhiều chữ cái bản mã khác nhau, điều này làm phẳng những đỉnh tần suất chữ cái rõ rệt vốn để lộ một phép thay thế đơn giản. Điểm yếu của nó là khóa lặp lại. Một khi nhà phân tích đoán được độ dài của từ khóa, bản mã tách thành các cột riêng biệt mà mỗi cột được mã hóa bằng một bảng chữ cái cố định duy nhất, và mỗi cột trở thành một phép thay thế thuận nghịch đơn giản khuất phục trước phân tích tần suất.
Cách cổ điển để tìm độ dài khóa là phép kiểm tra Kasiski, vốn tìm các nhóm chữ cái lặp lại và đo khoảng cách giữa chúng, cùng với chỉ số trùng hợp, vốn đo mức độ không đồng đều của tần suất chữ cái. Theo một nghĩa nào đó, Porta yếu hơn Vigenère: vì các chữ cái khóa đi theo cặp, mỗi cột chỉ có 13 bảng chữ cái khả dĩ thay vì 26, nên một khi đã biết độ dài khóa, nhà phân tích chỉ cần thử cả 13 bảng cho mỗi cột. Do đó một thông điệp Porta chỉ mạnh bằng đúng mức từ khóa của nó dài, khó đoán, và chỉ được dùng một lần.
Mật mã Porta có an toàn không?
Không. Theo tiêu chuẩn hiện đại, mật mã Porta không cung cấp sự an toàn thực sự nào. Một từ khóa ngắn hoặc lặp lại nhanh chóng khuất phục trước các phương pháp Kasiski và chỉ số trùng hợp ở trên, và ngay cả một từ khóa dài cũng không thể chống chọi một nhà phân tích quyết tâm có máy tính. Nó thuộc về thời đại của các mật mã thủ công, nơi sức hấp dẫn của nó là một bảng thuận nghịch thông minh, dễ dùng chứ không phải sức mạnh bất khả phá.
Ngày nay mật mã Porta được quý trọng vì mục đích học tập và giải trí. Đó là một cách tuyệt vời để hiểu phép thay thế đa bảng và ý tưởng tao nhã về một mật mã tự nghịch đảo, và nó xuất hiện thường xuyên trong các câu đố, phòng trốn thoát và thử thách cướp cờ. Để bảo vệ thông tin thực sự, bạn nên dựa vào các thuật toán hiện đại, được kiểm chứng kỹ lưỡng như AES thay vào đó.
Câu hỏi thường gặp
Mật mã Porta là gì?
Mật mã Porta hoạt động như thế nào?
Mật mã Porta có giống mật mã Vigenère không?
Vì sao mật mã Porta có tính thuận nghịch?
Bạn có thể cho một ví dụ về mật mã Porta không?
Làm thế nào để giải mã một mật mã Porta?
Vì sao mật mã Porta chỉ có 13 bảng chữ cái?
Tôi nên dùng từ khóa nào?
Mật mã Porta có thay đổi dấu cách và dấu câu không?
Làm thế nào để phá mật mã Porta?
Mật mã Porta có an toàn 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