Mật mã Gronsfeld
Mã hóa và giải mã mật mã Gronsfeld, một mật mã Vigenère đơn giản hóa dùng một chuỗi chữ số ngắn làm khóa. Mỗi chữ số dịch chuyển chữ cái tương ứng trong thông điệp của bạn, và khóa lặp lại dọc theo văn bản. Chuyển giữa mã hóa và giải mã và theo dõi quá trình tính toán hình thành trực tiếp. Mọi thứ đều chạy trong trình duyệt của bạn.
Chữ số khóa
Nhập khóa dưới dạng một chuỗi chữ số từ 0 đến 9, chẳng hạn 31415. Mỗi chữ số quy định chữ cái tương ứng trong thông điệp của bạn bị dịch chuyển bao xa, và khóa lặp lại dọc theo văn bản. Chỉ các chữ số được dùng; mọi chữ cái, dấu cách hoặc dấu câu gõ vào khóa đều bị bỏ qua.
Nhập văn bản ở trên để xem kết quả Gronsfeld tại đây.
Cách sử dụng Mật mã Gronsfeld
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để biến bản rõ thành bản mã Gronsfeld, hoặc Giải mã để khôi phục bản rõ từ bản mã. Cùng một khóa số được dùng cho cả hai chiều.
- 2
Nhập khóa số
Gõ khóa dưới dạng một chuỗi chữ số từ 0 đến 9, chẳng hạn 31415. Mỗi chữ số đặt phép dịch chuyển cho chữ cái mà nó xếp thẳng hàng, và khóa lặp lại dọc theo thông điệp. Chữ cái, dấu cách và dấu câu trong khóa đều bị bỏ qua.
- 3
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. 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 để bạn có thể thấy mỗi phép dịch chuyển.
- 4
Đọc, sao chép và chia sẻ
Đọc kết quả, rồi sao chép nó, 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 khóa, chiều và văn bản của bạn. Mọi thứ đều ở lại trong trình duyệt của bạn.
Tìm hiểu về mật mã Gronsfeld
Mật mã Gronsfeld là gì?
Mật mã Gronsfeld là một mật mã thay thế đa bảng hoạt động y hệt mật mã Vigenère nhưng lấy khóa của nó là một chuỗi chữ số ngắn thay vì một từ khóa. Mỗi chữ số từ 0 đến 9 cho bạn biết phải dịch chuyển chữ cái tương ứng của thông điệp bao xa, và các chữ số lặp lại dọc theo văn bản. Vì cùng một chữ cái bản rõ có thể trở thành nhiều chữ cái bản mã khác nhau tùy vào vị trí của nó, mật mã che giấu mẫu hình tần suất chữ cái đơn giản vốn để lộ một phép dịch Caesar thông thường.
Mật mã được đặt tên theo Johann Franz, Bá tước xứ Gronsfeld, một nhà ngoại giao và binh sĩ thế kỷ mười bảy, và nó được học giả Gaspar Schott mô tả trong tác phẩm năm 1665 của ông về thuật viết bí mật. Sức hấp dẫn của nó mang tính thực tiễn: một khóa số dễ nhớ và dễ gửi, chẳng hạn như một ngày tháng hoặc một con số đáng nhớ, mà không phải thỏa thuận trước về một từ bí mật. Vì lẽ đó mật mã Gronsfeld đã được dùng thực sự trong thư từ và về sau trong thời đại điện báo.
Mật mã Gronsfeld hoạt động ra sao
Đánh số bảng chữ cái từ A là 0 đến Z là 25. Viết khóa số dưới thông điệp, lặp lại nó bao nhiêu lần tùy cần sao cho một chữ số nằm dưới mỗi chữ cái. Để mã hóa, cộng mỗi chữ số khóa vào chữ cái phía trên nó và cuộn vòng quanh bảng chữ cái bằng phần dư cho 26, nên chữ cái bản mã là C = (P + K) mod 26. Để giải mã thì bạn trừ thay vào đó, P = (C − K) mod 26, phép này hoàn tác phép dịch chuyển và trả về chữ cái ban đầu.
Chỉ 26 chữ cái được dịch chuyển. Dấu cách, dấu câu, và ngay cả các chữ số xuất hiện trong chính thông điệp đều đi thẳng qua và không tiêu tốn một chữ số khóa, nên khóa vẫn được xếp thẳng hàng với những chữ cái có ý nghĩa. Chữ hoa chữ thường được giữ nguyên, nên một chữ cái viết hoa vẫn là viết hoa và một chữ cái viết thường vẫn là viết thường. Vì mỗi chữ số nằm giữa 0 và 9, mỗi vị trí chỉ dùng một trong mười phép dịch chuyển khả dĩ, đó là đặc tính định nghĩa của mật mã Gronsfeld.
Ví dụ thực hành
Mã hóa thông điệp HELLO với khóa số 31415. Lặp lại khóa xếp thẳng các chữ số 3, 1, 4, 1, 5 dưới các chữ cái H, E, L, L, O. Dịch chuyển mỗi chữ cái về phía trước theo chữ số của nó cho ra H cộng 3 là K, E cộng 1 là F, L cộng 4 là P, L cộng 1 là M, và O cộng 5 là T. Bản mã là KFPMT.
Để giải mã KFPMT với cùng khóa 31415, trừ mỗi chữ số thay vào đó. K trừ 3 là H, F trừ 1 là E, P trừ 4 là L, M trừ 1 là L, và T trừ 5 là O, ghép thành HELLO trở lại. Các bước mã hóa và giải mã là ảnh phản chiếu của nhau, nên thứ duy nhất người nhận cần là cùng một khóa số.
Gronsfeld so với Vigenère
Mật mã Gronsfeld được hiểu rõ nhất như một mật mã Vigenère với khóa bị hạn chế. Một từ khóa Vigenère biến mỗi chữ cái của nó thành một phép dịch chuyển từ 0 đến 25, dùng toàn bộ bảng chữ cái. Một khóa Gronsfeld chỉ bao giờ dùng các phép dịch chuyển 0 đến 9, vốn giống với các chữ cái từ khóa Vigenère A đến J. Vậy nên khóa Gronsfeld 31415 hành xử y hệt từ khóa Vigenère DBEBF, bởi vì D là phép dịch 3, B là phép dịch 1, E là phép dịch 4, và cứ thế.
Sự hạn chế này là một sự đánh đổi. Lợi thế là sự tiện lợi: một con số dễ nhớ, dễ đọc to, hay dễ mang theo hơn một từ, và không có việc chuyển đổi bảng chữ cái sang phép dịch chuyển phải làm trong đầu. Cái giá là sức mạnh. Vì chỉ mười trong hai mươi sáu phép dịch chuyển khả dĩ bao giờ cũng được dùng ở mỗi vị trí, không gian khóa nhỏ hơn nhiều so với một khóa Vigenère đầy đủ cùng độ dài, điều này khiến mật mã Gronsfeld dễ phá hơn.
Vì sao dùng một con số làm khóa?
Một khóa số chính là toàn bộ ý nghĩa của mật mã Gronsfeld. Con người giỏi ghi nhớ những con số đã sẵn có ý nghĩa với họ, chẳng hạn một ngày sinh, một số nhà, hay những chữ số mở đầu của một hằng số quen thuộc như số pi. Hai người trao đổi có thể thỏa thuận một con số như vậy nhanh chóng và dựng lại nó từ trí nhớ, mà không phải ghi xuống một từ bí mật có thể bị tìm ra.
Các con số cũng truyền đi gọn gàng. Trong thời đại điện báo, một khóa làm bằng các chữ số có thể được truyền và ghi lại với ít khả năng sai sót hơn một từ, và nó không cần một cuốn sách mã đặc biệt nào. Chính sự thực tiễn đó là lý do mật mã Gronsfeld vẫn được ưa chuộng cho thuật viết bí mật hằng ngày rất lâu sau khi những phương pháp mạnh hơn đã tồn tại, và là lý do nó vẫn xuất hiện ngày nay trong các câu đố và việc giảng dạy.
Cách phá mật mã Gronsfeld
Gronsfeld là một mật mã dùng khóa lặp lại, nên nó khuất phục trước cùng cuộc tấn công phá Vigenère, chỉ là dễ dàng hơn. Bước đầu tiên là tìm độ dài của khóa. Các công cụ cổ điển cho việc này là phép kiểm tra Kasiski, vốn đo khoảng cách giữa các nhóm chữ cái lặp lại, và chỉ số trùng hợp, vốn phát hiện mức độ không đồng đều của các tần suất chữ cái. Một khi đã biết độ dài khóa, bản mã tách thành các cột mà mỗi cột được dịch chuyển bởi một chữ số duy nhất.
Giải từng cột là nơi Gronsfeld yếu hơn Vigenère. Mỗi cột được dịch chuyển bởi một trong chỉ mười giá trị khả dĩ, nên một nhà phân tích có thể đơn giản thử cả mười và chọn phép dịch chuyển khiến cột đọc lên như ngôn ngữ thông thường. Với những khóa ngắn, toàn bộ khóa thậm chí có thể được tìm ra bằng vét cạn, vì mỗi chữ số chỉ có mười lựa chọn. Do đó một thông điệp Gronsfeld chỉ an toàn bằng đúng mức khóa của nó dài, khó đoán, và không bao giờ được dùng lại.
Mật mã Gronsfeld có an toàn không?
Không. Theo tiêu chuẩn hiện đại, mật mã Gronsfeld không cung cấp sự an toàn thực sự nào. Không gian khóa nhỏ trên mỗi chữ cái và khóa lặp lại của nó khiến nó nhanh chóng bị phá bằng các phương pháp giấy-bút, và tầm thường đối với một chiếc máy tính. Nó thuộc về lịch sử của các mật mã thủ công, nơi giá trị của nó là sự tiện lợi của một khóa số chứ không phải bất kỳ sự kháng cự nghiêm túc nào trước phân tích.
Ngày nay mật mã Gronsfeld được ưa thích vì mục đích học tập và giải trí. Đó là một cách rõ ràng, thân thiện để thấy một khóa số dẫn dắt một phép dịch chuyển đa bảng ra sao, và nó xuất hiện đều đặn trong các cuộc săn câu đố, phòng trốn thoát, geocaching và các 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ã Gronsfeld là gì?
Mật mã Gronsfeld hoạt động như thế nào?
Gronsfeld khác mật mã Vigenère như thế nào?
Bạn có thể cho một ví dụ về mật mã Gronsfeld không?
Tôi nên dùng khóa nào?
Làm thế nào để giải mã một mật mã Gronsfeld?
Vì sao khóa dùng các con số thay vì chữ cái?
Mật mã có thay đổi dấu cách, chữ số và dấu câu không?
Một chữ số khóa bằng 0 có được phép không?
Làm thế nào để phá mật mã Gronsfeld?
Mật mã Gronsfeld 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