Mật mã Four-square

**Mật mã Four-square** là một kỹ thuật mã hóa đối xứng .  Nó được phát minh bởi nhà mật mã học người Pháp Felix Delastelle.

Kỹ thuật này mã hóa các cặp chữ cái (digraph), và do đó thuộc loại mật mã được gọi là mật mã thay thế đa kí tự. Điều này bổ sung sức mạnh đáng kể cho mã hóa khi so sánh với mật mã thay thế một kí tự . Việc sử dụng các ô vuông  sẽ ít bị ảnh hưởng bởi việc giải mã bằng phương pháp phân tích tần suất, vì việc phân tích phải được thực hiện trên 676 đồ thị có thể có thay vì chỉ 26 để thay thế . Việc phân tích tần suất của đồ thị là việc có thể, nhưng khó hơn đáng kể - và nó thường đòi hỏi một bản mã lớn hơn nhiều để có thể hữu ích.

## Sử dụng

Mật mã Four-square sử dụng bốn hình vuông 5 x 5. Mỗi ô trong số 5 x 5 chứa các chữ cái trong bảng chữ cái (thường bỏ qua "Q" hoặc đặt cả "I" và "J" vào cùng một vị trí để giảm bảng chữ cái sao cho phù hợp). Thường thì, các ô vuông phía trên bên trái và phía dưới bên phải là các "hình vuông thông điệp" (có thể hiểu ở đây là hai hình vuông này được sử dụng cho văn bản thô không phải bản mã), và mỗi ô vuông chứa một bảng chữ cái chuẩn. Hình vuông phía trên bên phải và phía dưới bên trái là "hình vuông văn bản mã" và chứa một chuỗi chữ cái một cách "lẫn lộn".

Trước tiên người ta sẽ điền vào các khoảng trống trong ô vuông bằng các chữ cái của từ khóa hoặc cụm từ (loại bỏ bất kỳ chữ cái trùng lặp nào), sau đó điền vào các khoảng trống còn lại bằng các chữ cái còn lại của bảng chữ cái theo thứ tự (lại bỏ qua "Q" để giảm bảng chữ cái cho phù hợp). Khóa có thể được viết ở các hàng trên cùng của bảng, từ trái sang phải hoặc theo một số mẫu khác, chẳng hạn như hình xoắn ốc bắt đầu ở góc trên bên trái và kết thúc ở giữa(tùy vào sự thỏa thuận của bên gửi và nhận) . Từ khóa sẽ được điền vào bảng 5 x 5 tạo thành khóa mật mã. Mật mã Four-square cho phép tạo ra hai khóa riêng biệt, một khóa cho mỗi ô vuông trong hai ô vuông bản mã.

Ví dụ: đây là ma trận bốn hình vuông cho các từ khóa "EXAMPLE" và "KEYWORD". Hình vuông thông điệp là chữ thường và hình vuông bản mã ở dạng chữ hoa để làm cho ví dụ này dễ nhìn hơn cho những ai chưa quen:
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 &nbsp;
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z
## Mã hóa

Để mã hóa một tin nhắn, người ta sẽ làm theo các bước sau:

* Chia thông báo thành các đoạn 2 chữ cái. (DARTH VADER trở thành DA TR HV AD ER)
* Tìm ký tự đầu tiên trong biểu đồ ở hình vuông ở phía trên bên trái.
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 &nbsp;
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z

* Tìm ký tự thứ hai trong biểu đồ ở hình vuông phía dưới bên phải.
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 &nbsp;
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z
* Chữ cái đầu tiên của của cụm hai chữ cái được mã hóa nằm cùng hàng với chữ cái đầu tiên và cùng cột với chữ cái bản rõ thứ hai. Do đó, nó nằm trong hình vuông phía trên bên phải(kiểu giống như là hai chữ cái trong thông điệp sẽ tạo thành một hình chữ nhật ở hai góc đối, góc đối còn lại sẽ dành cho chữ cái ở văn bản mã).
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 &nbsp;
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z

Sử dụng ví dụ ở trên, chúng ta có thể mã hóa thông điệp như sau:

**Thông điệp: da rt hv ad er**

**Bản mã:       EW SM LV MK XS**

Giải mã thông điệp hoạt động theo cùng một cách, nhưng ngược lại.HÌnh vuông bản mã được tách với ký tự đầu tiên đi vào hình vuong phía trên bên phải và ký tự thứ hai đi vào hình vuông phía dưới bên trái. Các góc khác của hình chữ nhật sau đó sẽ được định vị. Chúng đại diện cho thông điệp với thành phần hình vuông phía trên bên trái đứng trước.
## Giải mã
Giống như hầu hết các mật mã thời kỳ tiền hiện đại, mật mã 4 ô vuông có thể dễ dàng bị bẻ khóa nếu có đủ văn bản. Việc lấy khóa tương đối đơn giản nếu cả thông điệp và bản mã đều được biết. Khi chỉ có bản mã được biết, quá trình phá mã bao gồm việc tìm kiếm thông qua tìm các khóa để tìm các kết quả khớp giữa tần suất xuất hiện của các cặp chữ cái và tần suất xuất hiện của các cặp chữa cái trong thông điệp gốc.

Không giống như mật mã Playfair, mật mã bốn hình vuông sẽ không hiển thị đồ thị bản mã đảo ngược đối với đồ thị thông điệp đảo ngược (ví dụ: đồ thị AB BA sẽ mã hóa thành một số mẫu XY YX trong Playfair, nhưng không hiển thị ở dạng bốn hình vuông). Tất nhiên, điều này chỉ đúng nếu hai từ khóa khác nhau. Một sự khác biệt khác giữa bốn hình vuông và Playfair làm cho bốn hình vuông trở thành một mã hóa mạnh hơn là thực tế là các đồ thị chữ cái kép sẽ xảy ra trong bản mã bốn hình vuông.

Theo tất cả các thước đo, bốn hình vuông là một hệ thống mã hóa thông tin mạnh hơn Playfair. Tuy nhiên, nó cồng kềnh hơn vì sử dụng hai khóa và việc chuẩn bị bảng mã hóa / giải mã có thể tốn nhiều thời gian. Cho rằng sự gia tăng sức mạnh mã hóa được tạo ra bởi Playfair Four-square là rất nhỏ và rằng cả hai dạng mã hóa đều dễ dàng bị đánh bại nếu có đủ bản mã.

Chúng ta có thể tìm thấy một hướng dẫn khá là hayhay về việc tạo lại khóa cho mật mã bốn hình vuông trong chương 7, "Giải pháp cho các hệ thống thay thế đa dạng," trong , do Quân đội Hoa Kỳ xuất bản.

## Liên kết ngoài

## Tham khảo