UTILS.
100% trong trình duyệt

Bộ mã hóa / giải mã Beaufort Cipher

Mã hóa hoặc giải mã bằng mật mã Beaufort tương hỗ C = (K − P) mod 26, một mật mã đa bảng tự nghịch đảo, kèm chế độ biến thể Đức tùy chọn.

Beaufort chuẩn tự tương hỗ: mã hóa và giải mã là cùng một thao tác.

đầu ra
đầu ra

Về công cụ này

Mật mã Beaufort là một mật mã đa bảng đặt tên theo sĩ quan hải quân Sir Francis Beaufort. Giống Vigenère, nó dùng một từ khóa lặp lại, nhưng quy tắc của nó là phép trừ: mỗi chữ cái bản mã là C = (K − P) mod 26, trong đó P là chữ cái bản rõ và K là chữ khóa hiện tại (cả hai đánh chỉ số 0–25). Công cụ này áp dụng mật mã ngay trong trình duyệt và hiển thị dòng khóa (keystream) đang chạy để bạn thấy chính xác chữ khóa nào căn với mỗi ký tự.

Beaufort chuẩn tự tương hỗ (một involution): vì phép trừ đối xứng trong bảng tableau, chạy cùng thao tác với cùng khóa lần thứ hai sẽ trả về văn bản gốc. Điều đó nghĩa là một thao tác vừa mã hóa vừa giải mã — mã hóa và giải mã giống hệt nhau với biến thể chuẩn. Công cụ cũng cung cấp chế độ Đức (Beaufort biến thể), C = (P − K) mod 26, vốn không tự nghịch đảo; với chế độ đó các chiều mã hóa và giải mã khác nhau và được xử lý riêng (giải mã dùng P = (C + K) mod 26).

Mọi thứ được tính cục bộ và riêng tư. Từ khóa lặp lại đến độ dài của văn bản, chỉ tiến trên các chữ cái nên dấu cách và dấu câu đi qua không thay đổi, và chữ hoa/thường được giữ nguyên. Beaufort khác Vigenère chính vì quy tắc trừ, tương hỗ của nó — một thay đổi nhỏ với một hệ quả toán học gọn ghẽ.

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

Công thức của mật mã Beaufort là gì?
Với mỗi vị trí, C = (K − P) mod 26, trong đó P là chỉ số của chữ cái bản rõ (0–25), K là chỉ số của chữ khóa, và C là chỉ số bản mã. Quy tắc trừ này là điều phân biệt Beaufort với mật mã Vigenère (phép cộng).
Tại sao mã hóa giống giải mã?
Beaufort chuẩn là một involution: áp dụng C = (K − P) mod 26 hai lần với cùng khóa sẽ trả về P, vì K − (K − P) = P. Nên một thao tác vừa mã hóa vừa giải mã — bạn dùng cùng thiết lập theo mỗi chiều.
Beaufort khác Vigenère thế nào?
Vigenère cộng khóa (C = P + K mod 26) và cần một bước giải mã riêng. Beaufort trừ bản rõ khỏi khóa (C = K − P), khiến nó tự tương hỗ. Bảng tableau và cách xử lý keystream nhìn chung tương tự.
Biến thể Đức là gì?
Beaufort Đức hay biến thể dùng C = (P − K) mod 26, chính là thao tác giải mã Vigenère và không tự nghịch đảo. Ở chế độ đó, mã hóa và giải mã khác nhau; giải mã khôi phục bản rõ bằng P = (C + K) mod 26.

Công cụ khác