Mật mã Nihilist
Mã hóa và giải mã mật mã Nihilist, mật mã bằng số của những nhà cách mạng Nga thế kỷ 19. Mỗi chữ cái trước tiên được biến thành tọa độ hai chữ số của nó trên một ô vuông Polybius, rồi một từ khóa lặp lại — được biến thành số theo cùng cách ấy — được cộng vào bên dưới, nên mật mã là một dòng các con số. Trộn ô vuông, đặt từ khóa cộng, theo dõi quá trình cộng tọa độ 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.
Khóa ô vuông
Khóa cộng
Khóa ô vuông trộn ô vuông Polybius vốn trao cho mỗi chữ cái tọa độ của nó; khóa cộng được biến thành số trên cùng ô vuông đó và cộng vào bên dưới thông điệp, lặp lại khi cần. Cả hai bên phải dùng cùng một ô vuông và cùng các khóa. Để trống khóa cộng để xem các tọa độ thuần túy.
Nhập văn bản ở trên để xem kết quả tại đây.
Ô vuông Polybius
1
2
3
4
5
1
2
3
4
5
Cách sử dụng Mật mã Nihilist
- 1
Chọn mã hóa hoặc giải mã và một ô vuông
Chọn Mã hóa để biến văn bản thường thành các số mật mã Nihilist, hoặc Giải mã để biến các số trở lại. Chọn ô vuông 5×5 cho chữ cái hoặc ô vuông 6×6 để mang thêm cả chữ số.
- 2
Đặt hai từ khóa
Tùy chọn nhập một từ khóa ô vuông để trộn ô vuông Polybius, và một từ khóa cộng được cộng lên trên thông điệp. Cả hai bên phải dùng cùng một ô vuông và cùng các khóa. Để trống khóa cộng để xem các tọa độ thuần túy.
- 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õ. Bảng các bước hiển thị mỗi chữ cái phía trên tọa độ của nó, số khóa tuần hoàn được cộng vào bên dưới, và số mật mã kết quả.
- 4
Đọc ô vuông
Mở ô vuông Polybius để xem mọi chữ cái cùng với các số hàng và cột của nó, và mọi ô của từ khóa được làm nổi bật.
- 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, ô vuông và các từ khóa của bạn, sẵn sàng để dùng.
Tìm hiểu về Mật mã Nihilist
Mật mã Nihilist là gì?
Mật mã Nihilist là một mật mã thủ công từ thập ni 1880, được đặt theo tên phong trào Nihilist của Nga — những nhà cách mạng chống lại chế độ Sa hoàng và cần một cách để chuyển các thông điệp bí mật. Nó được xây dựng từ hai ý tưởng đơn giản xếp chồng lên nhau: một ô vuông Polybius, vốn biến mọi chữ cái thành một cặp chữ số, và một khóa số lặp lại được cộng lên trên. Bản thân không ý tưởng nào là mới, nhưng việc kết hợp phép thay thế bằng tọa độ với phép cộng tuần hoàn khiến mật mã Nihilist mạnh hơn rõ rệt so với từng phần riêng lẻ, và nó trở thành tổ tiên của cả một họ mật mã bằng số của Nga và Liên Xô về sau.
Vì đầu ra là một dòng các con số chứ không phải chữ cái, mật mã Nihilist trông khá khác với các mật mã chữ cái cổ điển như Caesar hay Vigenère. Tuy nhiên bên dưới bề mặt, nó có quan hệ mật thiết: bước Polybius chính là phép thay thế bằng tọa độ mà các mật mã Bifid và ADFGX sử dụng, còn bước cộng khóa là ý tưởng khóa lặp lại của Vigenère được thực hiện bằng số học thay vì chữ cái. Nghiên cứu nó là một cách rõ ràng để thấy các nhà mật mã đã xây dựng những mật mã lớn hơn bằng cách xếp lớp các mảnh nhỏ, đã được hiểu rõ như thế nào.
Mật mã Nihilist hoạt động ra sao
Bắt đầu với một ô vuông Polybius: một lưới 5×5 chứa bảng chữ cái (với I và J dùng chung một ô), với các hàng và cột được đánh số từ 1 đến 5. Khi ấy mỗi chữ cái có một tọa độ hai chữ số — chữ số hàng theo sau là chữ số cột của nó. Thông điệp được biến thành một danh sách các số tọa độ này. Cho đến đây thì đây chính xác là mật mã Polybius.
Bây giờ lấy một từ khóa và biến mỗi chữ cái của nó thành một tọa độ trên cùng ô vuông đó, cho ra một danh sách ngắn các số khóa. Viết các số thông điệp thành một hàng và lặp lại các số khóa bên dưới chúng, quay lại đầu khóa mỗi khi bạn dùng hết. Cuối cùng, cộng mỗi số thông điệp với số khóa bên dưới nó như một phép cộng thập phân thông thường. Các số kết quả — thường là hai hoặc ba chữ số mỗi số — chính là văn bản mã, được viết ra cách nhau bằng các dấu cách. Việc giải mã chỉ đơn giản trừ đi cùng các số khóa lặp lại đó và đọc các tọa độ khôi phục được trên ô vuông.
Ô vuông và hai từ khóa
Mật mã Nihilist dùng hai bí mật độc lập. Bí mật thứ nhất là chính ô vuông. Công cụ này xây dựng ô vuông từ một từ khóa ô vuông tùy chọn, đúng như cách một ô vuông Polybius hay Playfair có khóa được tạo ra: các chữ cái độc nhất của từ khóa được viết vào trước, theo thứ tự và không lặp lại, rồi phần còn lại của bảng chữ cái theo sau. Ô vuông trực tiếp bên dưới làm nổi bật các ô của từ khóa để bạn có thể theo dõi sự pha trộn; để trống từ khóa ô vuông sẽ dùng ô vuông theo thứ tự bảng chữ cái thuần túy.
Bí mật thứ hai là từ khóa cộng. Các chữ cái của nó được tra cứu trên chính ô vuông ấy để trở thành các số khóa được cộng vào thông điệp. Hai khóa làm những việc khác nhau — khóa ô vuông quyết định mỗi chữ cái có tọa độ gì, còn khóa cộng quyết định cái gì được cộng lên trên — và cả người gửi lẫn người nhận đều phải cùng chia sẻ cả hai. Trong công cụ này bạn có thể để trống khóa cộng để xem các tọa độ thuần túy hiện ra mà không có gì được cộng vào, đây là một cách hữu ích để thấy bước Polybius riêng lẻ trước khi phép cộng được xếp lớp vào.
Chọn ô vuông 5×5 hay 6×6
Mật mã Nihilist kinh điển dùng một ô vuông 5×5 gồm 25 ô. Vì bảng chữ cái Latinh có 26 chữ cái, I và J dùng chung một ô, nên một chữ J được giải mã đọc trở lại thành I — sự thỏa hiệp Polybius tiêu chuẩn. Các tọa độ chạy từ 11 đến 55, và một số mật mã (tọa độ cộng khóa) rơi vào đâu đó giữa 22 và 110.
Công cụ này cũng cung cấp một ô vuông 6×6 gồm 36 ô, vốn chứa riêng cả 26 chữ cái cộng với mười chữ số 0 đến 9. Điều đó cho phép mật mã mang các con số — hữu ích cho ngày tháng, tọa độ bản đồ và số lượng — mà không phải viết chúng ra bằng chữ, đổi lại là các tọa độ lớn hơn một chút (11 đến 66) và các số mật mã (lên đến 132). Chọn ô vuông bằng nút chuyển ở trên; lưới tham chiếu trực tiếp tự đánh số lại để khớp, và cả hai bên phải thống nhất về việc họ đang dùng ô vuông nào.
Một ví dụ Nihilist thực hành
Lấy từ ATTACK với từ khóa ô vuông ZEBRAS và từ khóa cộng RUSSIAN. Với ZEBRAS được điền vào trước, ô vuông đọc là Z E B R A ở hàng trên cùng, rồi S C D F G, rồi H I K L M, rồi N O P Q T, rồi U V W X Y. Đọc tọa độ trên đó, ATTACK trở thành 15 45 45 15 22 33, và từ khóa RUSSIAN trở thành 14 51 21 21 32 15 41.
Bây giờ viết các số khóa bên dưới các số thông điệp, lặp lại khi cần, và cộng: 15+14 = 29, 45+51 = 96, 45+21 = 66, 15+21 = 36, 22+32 = 54, 33+15 = 48. Vậy ATTACK mã hóa thành 29 96 66 36 54 48. Để giải mã, trừ đi cùng các số khóa — 29−14 = 15, 96−51 = 45, và cứ thế — rồi đọc 15 45 45 15 22 33 trở lại trên ô vuông thành ATTACK. Đổi một trong hai từ khóa sẽ thay đổi mọi số mật mã mà vẫn giải mã chính xác.
Giải mã một thông điệp Nihilist
Việc giải mã đảo ngược các bước. Tách văn bản mã thành các số của nó, viết các số của từ khóa cộng bên dưới chúng theo cùng chu kỳ lặp lại, và trừ. Mỗi kết quả là một tọa độ hai chữ số; tách nó thành một chữ số hàng và một chữ số cột rồi tra ô trên ô vuông để khôi phục chữ cái. Công cụ này làm tất cả những điều đó cho bạn khi bạn chọn Giải mã và nhập đúng ô vuông, từ khóa ô vuông và từ khóa cộng đã được dùng để mã hóa.
Nếu một số bị sai lệch, hoặc dùng sai khóa hay sai ô vuông, một phép trừ có thể rơi ra ngoài lưới — chẳng hạn một chữ số hàng hoặc cột bằng 0, hoặc lớn hơn ô vuông. Khi điều đó xảy ra, công cụ hiển thị một dấu "?" cho vị trí ấy thay vì đoán. Vì chỉ có chữ cái nằm trong ô vuông 5×5 (và chữ cái cùng chữ số trong ô vuông 6×6), mọi dấu cách và dấu câu trong thông điệp gốc đã bị bỏ đi trong khi mã hóa và sẽ không xuất hiện lại.
Lịch sử và độ an toàn
Mật mã Nihilist được những nhà cách mạng Nga sử dụng vào thập niên 1870 và 1880 và đã đặt tên cho toàn bộ cách tiếp cận cộng một khóa vào các tọa độ Polybius. Tầm quan trọng lịch sử thực sự của nó là như một điểm khởi đầu: các nhà mật mã đã cải tiến nó từng bước thành những hệ thống mạnh hơn, bao gồm mật mã VIC của Liên Xô được điệp viên Reino Häyhänen sử dụng vào thập niên 1950, vốn giữ phần lõi Polybius-và-cộng nhưng bọc nó trong phép hoán vị bổ sung và một lịch trình khóa phức tạp. Mật mã ADFGVX của Thế chiến thứ nhất cũng chia sẻ chính ý tưởng thay thế bằng tọa độ ấy.
Theo tiêu chuẩn hiện đại, mật mã Nihilist cơ bản là yếu. Khóa lặp lại với một chu kỳ ngắn, nên một khi kẻ tấn công đoán được độ dài khóa thì mật mã sụp đổ trước cùng loại phân tích vốn phá mật mã Vigenère, và phép thay thế Polybius thêm sự rối rắm nhưng ít sức mạnh thực sự. Việc dùng lại một khóa qua nhiều thông điệp khiến nó càng yếu hơn. Giá trị của nó ngày nay là về giáo dục — nó là một minh họa sống động về việc xếp lớp một ô vuông tọa độ với một khóa lặp lại tiến tới mật mã học nghiêm túc như thế nào. Để bảo vệ thông tin 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 bình duyệt như AES, và giữ mật mã Nihilist cho lịch sử, các câu đố và các thử thách capture-the-flag.
Câu hỏi thường gặp
Mật mã Nihilist là gì?
Mật mã Nihilist hoạt động như thế nào?
Hai từ khóa dùng để làm gì?
Bạn có thể cho một ví dụ Nihilist thực hành không?
Làm thế nào để giải mã một mật mã Nihilist?
Vì sao văn bản mã được tạo thành từ các con số?
Sự khác biệt giữa ô vuông 5×5 và 6×6 là gì?
Ô vuông Nihilist có bắt buộc phải dùng một từ khóa không?
Điều gì xảy ra với dấu cách, dấu câu và J?
Mật mã Nihilist liên quan đến các mật mã khác như thế nào?
Mật mã Nihilist an toàn đến mức nào?
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