Mã hóa bằng phương pháp hoán vị. Các loại và phương pháp mật mã

Mục lục:

Mã hóa bằng phương pháp hoán vị. Các loại và phương pháp mật mã
Mã hóa bằng phương pháp hoán vị. Các loại và phương pháp mật mã
Anonim

Aatbash, mật mã Scytal, mạng lưới Cardano - những cách nổi tiếng để giấu thông tin khỏi những con mắt tò mò. Theo nghĩa cổ điển, mật mã hoán vị là một phép đảo chữ. Bản chất của nó nằm ở chỗ, các chữ cái của văn bản thuần túy thay đổi vị trí theo một quy luật nhất định. Nói cách khác, chìa khóa của mật mã là sự sắp xếp lại thứ tự của các ký tự trong tin nhắn đang mở. Tuy nhiên, sự phụ thuộc của khóa vào độ dài của văn bản được mã hóa đã dẫn đến nhiều bất tiện cho việc sử dụng loại mật mã này. Nhưng những cái đầu thông minh đã tìm ra những giải pháp phức tạp thú vị, được mô tả trong bài báo.

Nhóm đảo ngược

Để làm quen với mã hóa bằng phương pháp hoán vị, chúng ta hãy đề cập đến một trong những ví dụ đơn giản nhất. Thuật toán của nó bao gồm việc chia thông điệp thành n khối, sau đó chúng được lật lại phía trước và đổi chỗ cho nhau. Hãy xem xét một ví dụ.

"Ngày tàn và bầu trời u ám"

Hãy chia tin nhắn này thành các nhóm. Trong trường hợp này, n=6.

"Denuh odily nebav cool cool"

Bây giờ mở rộng các nhóm, viết mỗi nhóm từ cuối.

"hunned waben dzo methu Yin"

Hãy hoán đổi vị trí theo một cách nhất định.

"ilido methu âm hunned waben dzo"

Đối với một người thiếu hiểu biết ở dạng này, thông điệp chẳng qua là rác rưởi. Tuy nhiên, tất nhiên, người gửi tin nhắn đến là người phụ trách thuật toán giải mã.

Chèn giữa

Thuật toán của mã hóa này phức tạp hơn một chút so với phương pháp mã hóa hoán vị:

  1. Chia tin nhắn thành các nhóm có số ký tự chẵn.
  2. Chèn thêm các chữ cái vào giữa mỗi nhóm.
Phương pháp mã hóa hoán vị
Phương pháp mã hóa hoán vị

Hãy xem một ví dụ.

  1. "Anh ấy đã đưa các sinh vật đi ngủ".
  2. "Earth yetv ariu drive lkosnu".
  3. "Zeamn yabtv arayu voabdi lkoasnu".

Trong trường hợp này, các chữ cái xen kẽ "a" và "ab" đã được chèn vào giữa các nhóm. Các phần chèn có thể khác nhau, với số lượng khác nhau và không được lặp lại. Ngoài ra, bạn có thể mở rộng từng nhóm, trộn chúng, v.v.

Mật mã "Sandwich"

Một ví dụ thú vị và đơn giản khác về mã hóa hoán vị. Để sử dụng nó, bạn cần chia văn bản thuần túy thành 2 nửa và nhập một trong số chúng từng ký tự vào giữa các ký tự của ký tự kia. Hãy sử dụng một ví dụ.

Mã hóa "sandwich"
Mã hóa "sandwich"

"Từ họlàm; Tôi là người duy nhất, vô gia cư"

Được chia thành các nửa với số lượng chữ cái bằng nhau.

Từ lao động của họ, chỉ có tôi là người vô gia cư

Bây giờ hãy viết nửa đầu của tin nhắn với khoảng cách giữa các chữ cái nhiều hơn.

"O T và X T R U D DOL và Sh"

Và trong những khoảng trống này, chúng ta sẽ đặt các chữ cái của nửa sau.

"Oyatoidhitnrbuedzodvolminshiy"

Cuối cùng nhóm các chữ cái thành các từ (thao tác tùy chọn).

"Oyatoi dhi tnrbue dzodvol minshhy"

Rất dễ dàng để mã hóa văn bản bằng phương pháp này. Những người chưa bắt đầu sẽ phải tìm ra chuỗi kết quả-rác trong một thời gian.

Hoán vị dọc theo "tuyến đường"

Đây là tên đặt cho mật mã được sử dụng rộng rãi trong thời cổ đại. Các tuyến đường trong công trình của họ là bất kỳ hình học nào. Bản rõ được viết thành một hình như vậy theo một sơ đồ nhất định, và được trích ra theo chiều ngược lại của nó. Ví dụ, một trong các tùy chọn có thể là ghi vào bảng văn bản rõ theo sơ đồ: con rắn bò trong các ô theo chiều kim đồng hồ và thông điệp được mã hóa được tạo bằng cách viết tắt các cột trong một dòng, từ đầu tiên đến cuối cùng. Đây cũng là một mã hóa hoán vị.

Mật mã hoán vị đơn giản
Mật mã hoán vị đơn giản

Hãy trình bày bằng ví dụ về cách mã hóa văn bản. Cố gắng tự xác định lộ trình ghi và lộ trình biên dịch mật mã.

"Chuẩn bị chịu đựng chiến tranh".

Chúng ta sẽ viết tin nhắn vào một bảng 3x9 ô. Kích thước bảngcó thể được xác định dựa trên độ dài của thư hoặc một số bảng cố định có thể được sử dụng nhiều lần.

p r r o t o đến l
r e d s đến tôi c l tôi
f a t b đến o th n y

Chúng tôi sẽ soạn mật mã bắt đầu từ góc trên bên phải của bảng.

"Launlvosoyatovvygidtaerprj"

Đảo ngược các bước đã mô tả không khó. Thật dễ dàng để làm điều ngược lại. Phương pháp này cực kỳ tiện lợi, vì nó giúp bạn dễ dàng ghi nhớ quy trình mã hóa và giải mã. Và nó cũng thú vị, bởi vì bạn có thể sử dụng bất kỳ con số nào cho mật mã. Ví dụ, một hình xoắn ốc.

Hoán vị dọc

Loại mật mã này cũng là một dạng biến thể của hoán vị tuyến. Nó thú vị ngay từ đầu bởi sự hiện diện của một chiếc chìa khóa. Phương pháp này đã được sử dụng rộng rãi trong quá khứ và cũng được sử dụng các bảng để mã hóa. Tin nhắn được ghi vào bảng theo cách thông thường - từ trên xuống dưới, và bản mã được viết theo chiều dọc, đồng thời tôn trọng thứ tự được chỉ ra bởi khóa hoặc mật khẩu. Hãy xem một mẫu mã hóa như vậy.

"Cả con đường đau khổ và lòng trắc ẩn"

Hãy sử dụng một bảng 4x8 ô và viết thông điệp của chúng ta vào đó theo cách thông thường. Và để mã hóasử dụng phím 85241673.

c t tôi r o c t
n s m p y t e m
c c o c t r a
d a n b e m

Chìa khóa được hiển thị bên dưới.

8 5 2 4 1 6 7 3

Bây giờ, sử dụng phím làm chỉ dẫn thứ tự, hãy viết các cột thành một hàng.

"Gusetmsntmayposysaottmserinid"

Điều quan trọng cần lưu ý là với phương pháp mã hóa này, các ô trống trong bảng không được điền các ký tự hoặc ký hiệu ngẫu nhiên, hy vọng rằng điều này sẽ làm phức tạp bản mã. Trong thực tế, ngược lại, một hành động như vậy sẽ cho kẻ thù một gợi ý. Vì độ dài khóa sẽ bằng một trong các ước của độ dài thông báo.

Hoán vị dọc đảo ngược

Hoán vị dọc được quan tâm vì việc giải mã một thông điệp không phải là sự đảo ngược thuật toán đơn giản. Ai biết khóa thì biết bảng có bao nhiêu cột. Để giải mã một tin nhắn, bạn cần xác định số dòng dài và dòng ngắn trong bảng. Điều này sẽ xác định điểm bắt đầu, từ nơi bắt đầu ghi bản mã vào bảng để đọc bản rõ. Để làm điều này, chúng tôi chia độ dàithông báo bằng độ dài của khóa và chúng tôi nhận được 30/8=3 và 6 ở phần còn lại.

Mật mã hoán vị
Mật mã hoán vị

Như vậy, chúng ta đã biết rằng bảng có 6 cột dài và 2 cột ngắn, được điền đầy đủ các chữ cái không hoàn toàn. Nhìn vào khóa, chúng ta có thể thấy rằng mã hóa bắt đầu từ cột thứ 5 và nó phải dài. Vì vậy, chúng tôi thấy rằng 4 chữ cái đầu tiên của bản mã tương ứng với cột thứ năm của bảng. Giờ đây, bạn có thể viết ra tất cả các chữ cái ở các vị trí và đọc thông điệp bí mật.

lưới tản nhiệt Cardano

Loại này dùng để chỉ cái gọi là mật mã stencil, nhưng về bản chất nó là mã hóa theo phương pháp hoán vị ký tự. Chìa khóa là một cây bút chì ở dạng một cái bàn với các lỗ khoét trên đó. Trên thực tế, bất kỳ hình dạng nào cũng có thể là bút chì, nhưng hình vuông hoặc hình bàn thường được sử dụng nhất.

Bút chì Cardano được làm theo nguyên tắc sau: các ô cắt ra không được chồng lên nhau khi xoay 90 °. Có nghĩa là, sau 4 lần quay của stencil quanh trục của nó, các khe trong đó sẽ không bao giờ trùng nhau.

Sử dụng mạng Cardano đơn giản làm ví dụ (hiển thị bên dưới).

Grille Cardano
Grille Cardano

Sử dụng stencil này, hãy mã hóa cụm từ "Hỡi các nàng, tôi sẽ thu hút các bạn."

- Ô - M - -
Ư
З S
K
B A
M

Tô các chữ cái vào các ô stencil theo quy tắc: đầu tiên từ phải sang trái, sau đó từ trên xuống dưới. Khi hết ô, xoay khuôn 90 ° theo chiều kim đồng hồ. Bằng cách này, chúng tôi nhận được bảng sau.

Tôi - - - - -
Ô B R
A Sch
y
С b

Và xoay nó 90 ° một lần nữa.

- - - - - С
B Ô
З
B A
N
b E

Và lượt cuối cùng.

- - M - - -

Sau khi kết hợp 4 bảng thành một, chúng tôi nhận được thông điệp được mã hóa cuối cùng.

Tôi Ô M M G С
B Ô Ư B Ô R
G З A З Sch S
B G K G A Ư
G B G N G A
M С b b E G

Mặc dù thông điệp có thể giữ nguyên, nhưng để truyền tải sẽ thuận tiện hơn khi nhận được một bản mã quen thuộc. Để làm điều này, các ô trống có thể được điền bằng các chữ cái ngẫu nhiên và các cột có thể được viết trong một dòng:

YAVGVGM OOZGVS MUAKGY MBZGN GOSCHAGE SRYUAG

Để giải mã tin nhắn này, người nhận phải có một bản sao chính xác của giấy nến đã được sử dụng để mã hóa nó. Mật mã này từ lâu đã được coi là khá ổn định. Nó cũng có nhiều biến thể. Ví dụ, việc sử dụng 4 lưới Cardano cùng một lúc, mỗi lưới quay trong số đótheo cách riêng của tôi.

Mã hóa lưới tản nhiệt Gimbal
Mã hóa lưới tản nhiệt Gimbal

Phân tích mật mã hoán vị

Phân tích mật mã
Phân tích mật mã

Tất cả các mật mã hoán vị đều dễ bị phân tích tần số. Đặc biệt là trong trường hợp độ dài của thông báo có thể so sánh với độ dài của khóa. Và thực tế này không thể thay đổi bằng cách áp dụng lặp đi lặp lại các phép hoán vị, dù chúng có thể phức tạp đến đâu. Do đó, trong mật mã, chỉ những mật mã sử dụng nhiều cơ chế cùng một lúc, ngoài hoán vị, mới có thể ổn định.

Đề xuất: