Hệ mã hoá hoán vị (Transposition Cipher)

Một phần của tài liệu Xây dựng thuật toán, viết đặc tả hoặc vẽ sơ đồ cho các thuật toán mã hóa cổ điển. Cho ví dụ minh họa, mỗi thuật toán 5 ví dụ (Trang 25 - 29)

Hệ mã hóa hoán vị là hệ mã hóa trong đó các chữ cái trong bản sẽ không đợc thay thế bằng các chữ cái khác mà chỉ thay đổi vị trí tức là việc mã hóa chỉ dịch chuyển vị trí tơng đối giữa các chữ trong bản rõ. Nh vậy, nó dấu bản rõ bằng cách thay đổi các chữ thực tế đợc dùng. Do đó bản rõ có cùng phân bố tần suất xuất hiện các chữ nh bản gốc.

Ví dụ một hệ mã hoá đổi chỗ cột đơn giản, bản rõ đợc viết theo hàng ngang trên trang giấy với độ dài cố định, và bản mã đợc đọc theo hàng dọc (Hình 7).

Bản rõ: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST IT’S EXPENSIVE COMPUTERGR APHICSMAYB ESLOWBUTAT LEASTITSEX PENSIVE Bản mã: CAELPOPSEEMHLANPIOSSUCWTITSBIUEMUTERATSGYAERBTX

Hình 7. Mã hoá thay đổi vị trí cột

Phơng pháp này có các kỹ thuật sau:

Đảo ngợc toàn bộ bản rõ: nghĩa là bản rõ đợc viết theo thứ tự ngợc lại để tạo ra bản mã. Đây là phơng pháp mã hoá đơn giản nhất vì vậy không đảm bảo an toàn.

Ví dụ: bản rõ “TRANSPOSITION CIPHER” đợc mã hoá thành “REHPICNOITISOPSNART”.

Mã hoá theo mẫu hình học: bản rõ đợc sắp xếp lại theo một mẫu hình học nào đó, thờng là một mảng hoặc một ma trận hai chiều.

Ví dụ: bản rõ “LIECHTENSTEINER” đợc viết thành ma trận 3ì5 theo hàng nh sau: Cột 1 2 3 4 5 Bản rõ L I E C H T E N S T E I N E R

Nếu lấy các ký tự ra theo số thứ tự cột 2, 4, 1, 3, 5 thì sẽ có bản mã “IEICSELTEENNHTR”.

Đổi chỗ cột: Đầu tiên đổi chỗ các ký tự trong bản rõ thành dạng hình chữ nhật theo cột, sau đó các cột đợc sắp xếp lại và các chữ cái đợc lấy ra theo hàng ngang

Ví dụ: bản rõ gốc là “NGAY MAI BAT DAU CHIEN DICH XYZ” đợc viết dới dạng ma trận 5ì5 theo cột nh sau:

Cột 1 2 3 4 5 Bản rõ N A D I C G I A E H A B U N X Y A C D Y M T H I Z

Vì có 5 cột nên chúng có thể đợc sắp lại theo 5!=120 cách khác nhau. Để tăng độ an toàn có thể chọn một trong các cách sắp xếp lại đó.

Nếu ta chuyển vị các cột theo thứ tự 3, 5, 2, 4, 1 rồi lấy các ký tự ra theo hàng ngang ta sẽ thu đợc bản mã là “DCAINAHIEGUXBNACYADY HZTIM”. Lu ý rằng các ký tự cách đợc bỏ đi.

Hạn chế của phơng pháp này là toàn bộ các ma trận ký tự phải đợc sinh để mã hoá và giải mã.

Hoán vị các ký tự của bản rõ theo chu kỳ cố định d: Nếu hàm f là một hoán vị của một khối gồm d ký tự thì khoá mã hoá đợc biểu diễn bởi K(d,f).

• Do vậy, bản rõ:

M = m1m2...mdmd+1...m2d

Với mi là các ký tự , và bản rõ sẽ đợc mã hoá thành: Ek(M) = mf(1)mf(2)...mf(d)md+f(1)...md+f(d)

Trong đó mf(1)mf(2)...mf(d) là một hoán vị của m1m2...md.

Ví dụ: giả sử d=5 và f hoán vị dãy i=12345 thành f(i)=35142

Vị trí đầu Vị trí hoán vị Từ Mã hoá

1 3 G O

2 5 R P

3 1 O G

4 4 U U

5 2 P R

Theo bảng trên, ký tự đầu trong khối 5 ký tự đợc chuyển tới vị trí thứ 3, ký tự thứ hai đợc chuyển tới vị trí thứ 5,... Chẳng hạn từ gốc GROUP đợc mã hoá thành OPGUR.

Bằng cách đó, bản rõ “I LOVE BEETHOVENS MUSIC” sẽ đợc chuyển thành “OEIVLEHBTEESONVSCMIU”.

Hệ mã ADFGV của Đức, đợc sử dụng trong suốt chiến tranh thế giới lần thứ I, là một hệ mã hoá đổi chỗ (có sử dụng thay thế đơn giản). Nó đợc coi là một thuật toán mã hoá phức tạp vào thời ấy nhng nó đã bị phá bởi Georges Painvin, một (adsbygoogle = window.adsbygoogle || []).push({});

Mặc dù có rất nhiều hệ thống mã hoá sử dụng đổi chỗ, nhng chúng rất rắc rối bởi vì nó đòi hỏi rất nhiều bộ nhớ.

Một phần của tài liệu Xây dựng thuật toán, viết đặc tả hoặc vẽ sơ đồ cho các thuật toán mã hóa cổ điển. Cho ví dụ minh họa, mỗi thuật toán 5 ví dụ (Trang 25 - 29)