Mật mã Morbit
Mã hóa và giải mã mật mã Morbit. Trước tiên thông điệp được viết bằng mã Morse với một chữ x giữa các chữ cái và hai chữ x giữa các từ, sau đó luồng chấm-gạch-x được đọc theo từng hai ký hiệu một, và mỗi trong chín cặp khả dĩ được thay bằng một chữ số từ một đến chín theo thứ tự do một từ khóa quy định. Hãy theo dõi quá trình xử lý trực tiếp từ chữ cái sang Morse rồi sang chữ số, rồi sao chép, tải xuống hoặc chia sẻ kết quả. Mọi thứ đều chạy ngay trong trình duyệt của bạn.
Khóa
Khóa quyết định mỗi cặp Morse trở thành chữ số nào. Hãy dùng một từ khóa chín chữ cái (các chữ cái của nó được đánh số 1-9 theo thứ tự bảng chữ cái, các chữ trùng nhau xét từ trái sang phải) hoặc một dãy chín chữ số 1-9 nhập trực tiếp. Bất cứ thứ gì khác sẽ quay về thứ tự 1-9 thông thường. Cả hai bên đều phải dùng cùng một khóa.
Nhập văn bản ở trên để xem kết quả tại đây.
Bảng cặp → chữ số
..
5
.-
6
.x
8
-.
9
--
3
-x
1
x.
7
x-
2
xx
4
Cách sử dụng Morbit Cipher
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để biến văn bản gốc thành các chữ số mật mã Morbit, hoặc Giải mã để biến các chữ số mã hóa trở lại thành văn bản gốc.
- 2
Đặt khóa
Nhập một từ khóa chín chữ cái hoặc một dãy chín chữ số 1-9. Khóa quyết định mỗi cặp Morse trở thành chữ số nào, và cả hai bên đều phải dùng cùng một khóa để khớp với nhau.
- 3
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õ. Khi mã hóa, bảng các bước hiển thị mỗi chữ cái trên mã Morse của nó, rồi luồng được cắt thành các cặp với chữ số dưới mỗi cặp.
- 4
Đọc bảng cặp
Mở bảng cặp để xem cả chín cặp Morse cùng chữ số mà mỗi cặp ánh xạ tới theo khóa hiện tại.
- 5
Sao chép, tải xuống hoặc chia sẻ
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 chính xác văn bản và khóa của bạn sẵn sàng để dùng.
Tìm hiểu về mật mã Morbit
Mật mã Morbit là gì?
Mật mã Morbit biến mã Morse thông thường thành một chuỗi các chữ số từ 1 đến 9, để cho các dấu chấm và gạch quen thuộc không bao giờ xuất hiện trong thông điệp hoàn chỉnh. Nó thuộc cùng họ với các mật mã thủ công dựa trên Morse như Fractionated Morse và Pollux, tất cả đều được American Cryptogram Association lập danh mục và gìn giữ, và nó là một lựa chọn được ưa chuộng trong các cuộc săn giải đố và thử thách capture-the-flag bởi vì đầu ra trông giống một dãy số vô nghĩa.
Tên gọi của nó là sự kết hợp của Morse và bit, và ý tưởng cốt lõi nằm ở sự phân tách. Sau khi thông điệp được chuyển thành Morse, luồng các dấu chấm, gạch và dấu phân cách được cắt thành các cặp và mỗi cặp được thay bằng một chữ số duy nhất. Bởi vì hai ký hiệu Morse hầu như không bao giờ khớp gọn gàng với một chữ cái của bản rõ, mỗi chữ số mã hóa cuối cùng đều mang theo các mảnh của những chữ cái lân cận. Chính sự pha trộn đó xóa đi nhịp điệu đặc trưng của Morse và san phẳng tần suất chữ cái mà lẽ ra sẽ làm lộ thông điệp.
Ba ký hiệu, chín cặp
Để biến Morse thành một chuỗi liền mạch duy nhất bạn cần một dấu phân cách. Morbit dùng chữ cái x: một chữ x giữa các chữ cái và hai chữ xx giữa các từ. Vì vậy thông điệp giờ đây chỉ sử dụng đúng ba ký hiệu — chấm, gạch và x — và không gì khác.
Đọc hai ký hiệu trong số đó cùng một lúc thì có 3 × 3 = 9 cặp khả dĩ, được liệt kê theo một thứ tự cố định: chấm-chấm, chấm-gạch, chấm-x, gạch-chấm, gạch-gạch, gạch-x, x-chấm, x-gạch, và x-x. Chín cặp, và đúng chín chữ số từ 1 đến 9 để đặt tên cho chúng. Sự khớp gọn gàng đó chính là toàn bộ lý do khiến mật mã này hoạt động: mỗi cặp có chữ số riêng của mình, không cặp nào thừa và không cặp nào thiếu.
Từ khóa và việc gán chữ số
Chín cặp luôn được liệt kê theo cùng một thứ tự cố định. Cái thay đổi là chữ số được viết bên dưới mỗi cặp. Khi không có từ khóa, các cặp đơn giản nhận các chữ số từ 1 đến 9 theo thứ tự. Một từ khóa sẽ xáo trộn chúng: lấy một từ chín chữ cái, đánh số các chữ cái của nó từ 1 đến 9 theo thứ tự bảng chữ cái — với các chữ trùng nhau xét từ trái sang phải — rồi đọc hoán vị đó đối chiếu với chín cặp.
Ví dụ, từ khóa MORSECODE có các chữ cái được đánh số là 5, 6, 8, 9, 3, 1, 7, 2, 4, vì vậy cặp đầu tiên chấm-chấm trở thành 5, cặp thứ hai chấm-gạch trở thành 6, và cứ thế tiếp tục. Bảng trực tiếp ở trên hiển thị ánh xạ này và cập nhật ngay khoảnh khắc bạn thay đổi khóa. Bạn cũng có thể nhập trực tiếp một dãy chín chữ số 1 đến 9 nếu bạn muốn. Khóa là bí mật chung: người gửi và người nhận phải dùng cùng một khóa.
Mật mã Morbit hoạt động như thế nào
Việc mã hóa diễn ra qua ba bước. Thứ nhất, viết toàn bộ thông điệp bằng Morse, đặt một chữ x giữa các chữ cái và hai chữ x giữa các từ. Thứ hai, nếu chuỗi thu được có số ký hiệu lẻ, thêm một chữ x vào cuối để nó chia chẵn thành các cặp — việc đệm bằng x thay vì một dấu chấm hay gạch là quan trọng, bởi vì một dấu chấm thừa sau này sẽ bị đọc thành một chữ cái sai lạc. Thứ ba, đọc chuỗi theo từng hai ký hiệu một và thay mỗi cặp bằng chữ số của nó lấy từ khóa.
Sức mạnh của mật mã nằm ở việc ghép cặp đó. Một chữ cái đơn lẻ của bản rõ, một khi đã được chuyển thành Morse và nối với các chữ cái lân cận bằng các dấu phân cách, sẽ trải ra trên nhiều cặp, và mỗi cặp cũng mượn một ký hiệu từ chữ cái ở một bên. Do đó việc khôi phục một chữ cái của bản rõ đồng nghĩa với việc cũng phải dựng lại phần Morse xung quanh, và đó chính là điều đánh bại các cuộc tấn công đếm chữ cái đơn giản vốn phá vỡ một mật mã thay thế thông thường. Bảng các bước ở trên trình bày điều này một cách trực tiếp: hàng trên ghép mỗi chữ cái với mã Morse của nó, còn hàng dưới hiển thị luồng được cắt thành các cặp với chữ số dưới mỗi cặp.
Một ví dụ minh họa
Lấy cụm từ MORE BITS với từ khóa MORSECODE. Trong Morse, MORE là gạch-gạch x gạch-gạch-gạch x chấm-gạch-chấm x chấm, và BITS là gạch-chấm-chấm-chấm x chấm-chấm x gạch x chấm-chấm-chấm, với hai chữ xx đánh dấu khoảng trống giữa hai từ. Nối lại với nhau đây là một luồng 27 ký hiệu, một độ dài lẻ, vì vậy một chữ x được thêm vào cuối để thành 28.
Bây giờ đọc 28 ký hiệu theo từng hai ký hiệu một để được 14 cặp, và biến mỗi cặp thành chữ số của nó bằng khóa MORSECODE (chấm-chấm là 5, gạch-gạch là 3, chấm-x là 8, và cứ thế tiếp tục). Kết quả là 32379749578158. Việc giải mã đảo ngược quá trình một cách chính xác: mỗi chữ số trở thành cặp của nó, các cặp được nối lại thành luồng Morse, và luồng đó được đọc qua bảng Morse để khôi phục MORE BITS.
Giải mã một thông điệp Morbit
Việc giải mã chỉ đơn giản là chạy ba bước theo chiều ngược lại. Mỗi chữ số được tra cứu trong khóa để khôi phục cặp ký hiệu Morse của nó, các cặp được nối lại thành một chuỗi chấm-gạch-x dài, và chuỗi đó được tách tại các dấu phân cách — một chữ x kết thúc một chữ cái, hai chữ xx kết thúc một từ. Đọc mỗi chuỗi chấm và gạch trở lại qua bảng Morse sẽ dựng lại văn bản gốc. Bất kỳ phần đệm x nào được thêm vào trong quá trình mã hóa đều nằm vô hại ở cuối và biến mất, vì vậy một thông điệp được mã hóa bằng công cụ này luôn giải mã trở lại chính xác.
Để giải mã đúng, bạn phải dùng cùng một khóa đã được dùng để mã hóa; một khóa khác sẽ ghép các cặp với những chữ số sai và phần Morse sẽ trở nên vô nghĩa. Bởi vì chỉ chữ cái và chữ số mới có mã Morse, bất kỳ dấu câu hay ký hiệu nào khác trong thông điệp gốc đều đã bị loại bỏ trong quá trình mã hóa và sẽ không quay trở lại. Các khoảng trống giữa các nhóm chữ số mã hóa bị bỏ qua khi giải mã, nên không quan trọng văn bản mã hóa được viết liền mạch hay thành các khối năm chữ số gọn gàng.
Lịch sử, công dụng và tính bảo mật
Morbit là một trong một nhóm nhỏ các mật mã giấy-bút dựa trên Morse — cùng với Fractionated Morse và Pollux — đã được American Cryptogram Association lập danh mục và gìn giữ cho mục đích phân tích mật mã giải trí. Chúng tưởng thưởng cho những người giải có thể nhận ra cấu trúc Morse ẩn giấu, và chúng vẫn là một thành phần quen thuộc của các thử thách mật mã chính bởi vì bước phân tách khiến chúng thú vị hơn một phép thay thế thuần túy.
Theo tiêu chuẩn hiện đại, mật mã này không an toàn. Sự phân tách đánh bại phép phân tích tần suất ngây thơ, nhưng phần Morse nền tảng áp đặt những khuôn mẫu thống kê mạnh mẽ, và một khóa đã biết hoặc đoán được, hay đơn giản là đủ lượng văn bản mã hóa, sẽ cho phép một người giải kiên trì hoặc một máy tính khôi phục thông điệp. Hãy xem Morbit như một câu đố và một công cụ dạy học — một minh họa sinh động về việc kết hợp mã hóa với phép thay thế làm cho một mật mã mạnh hơn ra sao — và đừng bao giờ coi nó như một cách để bảo vệ các bí mật thực sự. Để có sự bảo mật thực sự, hãy luôn dùng một thuật toán hiện đại đã được giới chuyên môn đánh giá như AES.
Câu hỏi thường gặp
Mật mã Morbit là gì?
Tại sao lại có đúng chín cặp?
Từ khóa có tác dụng gì?
Bạn có thể đưa ra một ví dụ minh họa không?
Làm thế nào để tôi giải mã một thông điệp Morbit?
Tại sao việc đệm lại được làm bằng x mà không phải bằng một dấu chấm hay gạch?
Nó có xử lý số và dấu câu không?
Tôi có thể dùng một số chín chữ số làm khóa thay cho một từ không?
Morbit khác với Fractionated Morse như thế nào?
Mật mã Morbit có an toàn không?
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