Các phương pháp mã hóa văn bản đơn giản nhất. Phương pháp mã hóa dữ liệu - blog của lập trình viên web




Giải quyết vấn đề xác định khóa bằng cách đơn giản liệt kê tất cả các tùy chọn có thể thường là không thực tế, ngoại trừ việc sử dụng một khóa rất ngắn. Do đó, nếu một nhà phân tích mật mã muốn có cơ hội thực sự để bẻ khóa một mật mã, anh ta phải từ bỏ các phương pháp liệt kê "vũ phu" và áp dụng một chiến lược khác. Trong việc tiết lộ nhiều sơ đồ mã hóa, phân tích thống kê có thể được áp dụng bằng cách sử dụng tần suất xuất hiện của các ký tự riêng lẻ hoặc sự kết hợp của chúng. Để làm phức tạp giải pháp cho vấn đề phá mật mã bằng phân tích thống kê, K. Shannon đã đề xuất hai khái niệm về mã hóa, được gọi là sự hoang mang (sự hoang mang) và khuếch tán (khuếch tán). Nhầm lẫn là ứng dụng thay thế sao cho mối quan hệ giữa khóa và bản mã trở nên phức tạp nhất có thể. Việc áp dụng khái niệm này làm phức tạp việc sử dụng phân tích thống kê, thu hẹp khu vực tìm kiếm khóa và việc giải mã ngay cả một chuỗi mật mã rất ngắn cũng yêu cầu tìm kiếm một số lượng lớn khóa. Đổi lại, khuếch tán là ứng dụng của các phép biến đổi như vậy nhằm làm dịu sự khác biệt về mặt thống kê giữa các ký hiệu và sự kết hợp của chúng. Do đó, việc sử dụng phân tích thống kê của nhà giải mã chỉ có thể dẫn đến kết quả khả quan nếu một đoạn bản mã đủ lớn bị chặn.

Việc thực hiện các mục tiêu được tuyên bố bởi các khái niệm này đạt được thông qua việc sử dụng lặp đi lặp lại các phương pháp mã hóa cơ bản như phương pháp thay thế, hoán vị và xáo trộn.

10.4.1. Phương pháp thay thế.

Đơn giản nhất và có lịch sử lâu đời nhất là phương pháp thay thế, bản chất của nó là ký tự của văn bản nguồn được thay thế bằng một ký tự khác được chọn từ bảng chữ cái này hoặc bảng chữ cái khác theo quy tắc được chỉ định bởi khóa mã hóa. Vị trí của ký tự trong văn bản không thay đổi. Một trong những ví dụ sớm nhất về việc sử dụng phương pháp dàn dựng là mật mã caesar, được Gaius Julius Caesar sử dụng trong các chiến dịch Gallic của mình. Trong đó, mỗi chữ cái của bản rõ được thay thế bằng một chữ cái khác, được lấy từ cùng một bảng chữ cái, nhưng được thay đổi theo chu kỳ bởi một số ký tự nhất định. Ứng dụng của phương pháp mã hóa này được minh họa bằng ví dụ trong Hình 10.3, trong đó phép biến đổi mã hóa dựa trên việc sử dụng một bảng chữ cái với sự dịch chuyển năm vị trí theo chu kỳ.

Cơm. 10.3, một )

văn bản nguồn

mật mã

Cơm. 10.3, b )

Rõ ràng, khóa mật mã là giá trị của sự thay đổi theo chu kỳ. Nếu bạn chọn một khóa khác với khóa được chỉ định trong ví dụ, mật mã sẽ thay đổi.

Một ví dụ khác về sơ đồ cổ điển dựa trên phương pháp thay thế là hệ thống mã hóa được gọi là hình vuông polybius. Đối với bảng chữ cái tiếng Nga, sơ đồ này có thể được mô tả như sau. Ban đầu ghép thành một chữ E, Yo; I, Y và b, b, ý nghĩa thực sự của chúng trong văn bản được giải mã dễ dàng được khôi phục từ ngữ cảnh. Sau đó, 30 ký hiệu của bảng chữ cái được đặt trong một bảng có kích thước 65, một ví dụ về cách điền được hiển thị trong Hình. 10.4.

Cơm. 10.4.

Việc mã hóa bất kỳ chữ cái gốc nào được thực hiện bằng cách chỉ định địa chỉ của nó (nghĩa là số hàng và cột hoặc ngược lại) trong bảng đã cho. Vì vậy, ví dụ, từ CAESAR được mã hóa bằng hình vuông Polybius là 52 21 23 11 41 61. Rõ ràng là mã có thể được thay đổi do hoán vị các chữ cái trong bảng. Cũng cần lưu ý rằng những người tham gia chuyến tham quan các pháo đài của Pháo đài Peter và Paul nên nhớ những lời của người hướng dẫn về cách các tù nhân gõ cửa với nhau. Rõ ràng, cách giao tiếp của họ được bao phủ hoàn toàn bởi phương pháp mã hóa này.

Một ví dụ về mật mã đa bảng chữ cái là một sơ đồ dựa trên cái gọi là. khóa lũy tiến của Trithemius. Cơ sở của phương pháp mã hóa này là bảng được hiển thị trong Hình. 10.5, có các dòng được thay đổi theo chu kỳ bởi một vị trí sao chép của bảng chữ cái gốc. Do đó, dòng đầu tiên có độ dịch chuyển bằng 0, dòng thứ hai được dịch chuyển theo chu kỳ sang trái một vị trí, dòng thứ ba cách dòng thứ nhất hai vị trí, v.v.

Cơm. 10.5.

Một trong những phương pháp mã hóa sử dụng bảng như vậy là sử dụng, thay vì ký tự đầu tiên của bản rõ, ký tự từ lần dịch chuyển tuần hoàn đầu tiên của bảng chữ cái nguồn, đứng dưới ký tự được mã hóa, ký tự thứ hai của bản rõ - từ chuỗi tương ứng với sự thay đổi theo chu kỳ thứ hai, v.v. Một ví dụ về mã hóa tin nhắn theo cách này được hiển thị bên dưới (Hình 10.6).

văn bản thô

bản mã

Cơm. 10.6.

Một số biến thể thú vị của mật mã dựa trên khóa lũy tiến Trithemius đã được biết đến. Trong một trong số họ, được gọi là Phương pháp khóa vigenere, một từ khóa được sử dụng để chỉ định các chuỗi mã hóa và giải mã từng ký tự tiếp theo của bản rõ: chữ cái đầu tiên của khóa chỉ định hàng của bảng trong hình. 10.5, trong đó ký tự đầu tiên của tin nhắn được mã hóa, chữ cái thứ hai của khóa chỉ định hàng của bảng mã hóa ký tự thứ hai của bản rõ, v.v. Để từ “THROMB” được chọn làm khóa, sau đó thông điệp được mã hóa bằng khóa Vigenere có thể được biểu diễn như sau (Hình 10.7). Rõ ràng là việc mở khóa có thể được thực hiện trên cơ sở phân tích thống kê bản mã.

văn bản thô

bản mã

Cơm. 10.7.

Một biến thể của phương pháp này là cái gọi là. phương pháp tự động (mở) Chìa khóa Viginera, trong đó như tạo khóa một chữ cái hoặc từ được sử dụng. Khóa này cung cấp chuỗi hoặc chuỗi ban đầu để mã hóa ký tự đầu tiên hoặc một vài ký tự đầu tiên của văn bản gốc, tương tự như ví dụ đã thảo luận trước đó. Các ký tự bản rõ sau đó được sử dụng làm khóa để chọn chuỗi mã hóa. Trong ví dụ bên dưới, chữ "I" được sử dụng làm khóa tạo (Hình 10.8):

văn bản thô

bản mã

Cơm. 10.8.

Như ví dụ cho thấy, việc lựa chọn các chuỗi mật mã hoàn toàn được xác định bởi nội dung của bản rõ, nghĩa là phản hồi về bản rõ được đưa vào quá trình mã hóa.

Một phiên bản khác của phương pháp Vigenere là phương pháp tự động (được mã hóa) Chìa khóa của Vigenère. Nó, giống như mã hóa khóa công khai, cũng sử dụng khóa tạo và phản hồi. Sự khác biệt là sau khi mã hóa bằng khóa tạo, mỗi ký tự khóa tiếp theo trong chuỗi không được lấy từ bản rõ mà từ mật mã kết quả. Dưới đây là một ví dụ giải thích nguyên tắc áp dụng phương pháp mã hóa này, trong đó, như trước đây, chữ cái “I” được sử dụng làm khóa tạo (Hình 10.9):

văn bản thô

bản mã

Cơm. 10.9.

Như có thể thấy từ ví dụ trên, mặc dù mỗi ký hiệu khóa tiếp theo được xác định bởi ký hiệu mật mã trước nó, nhưng nó phụ thuộc về mặt chức năng vào tất cả các ký hiệu trước đó của thông báo rõ ràng và khóa tạo. Do đó, có một hiệu ứng phân tán các thuộc tính thống kê của văn bản nguồn, gây khó khăn cho nhà phân tích mật mã khi áp dụng phân tích thống kê. Liên kết yếu của phương pháp này là bản mã chứa các ký tự của khóa.

Theo các tiêu chuẩn hiện tại, mã hóa Vigenere không được coi là an toàn, nhưng đóng góp chính là phát hiện ra rằng các chuỗi khóa không lặp lại có thể được tạo bằng cách sử dụng chính thông báo hoặc chức năng từ thông báo.

Một biến thể của việc triển khai công nghệ thay thế, thực hiện đầy đủ khái niệm trộn, là ví dụ sau, dựa trên phép biến đổi phi tuyến tính. Luồng bit thông tin được chia sơ bộ thành các khối có độ dài tôi, với mỗi khối được biểu thị bằng một trong các ký hiệu khác nhau. Sau đó rất nhiều
các ký tự được xáo trộn để mỗi ký tự được thay thế bằng một ký tự khác từ bộ này. Sau thao tác xáo trộn, biểu tượng biến trở lại thành tôi-khối bit. Một thiết bị thực hiện thuật toán được mô tả khi
, thể hiện trong hình. 10.10, trong đó bảng chỉ định quy tắc trộn các ký hiệu của tập hợp từ
phần tử.

Cơm. 10.10.

Không khó để chỉ ra rằng có
hoán vị khác nhau hoặc các mô hình có thể có liên quan. Liên quan đến điều này, ở các giá trị lớn tôi nhiệm vụ của nhà giải mã trở nên gần như không thể tính toán được. Ví dụ, khi
số lượng thay thế có thể được định nghĩa là
, I E. là một con số thiên văn. Rõ ràng, với giá trị như vậy tôi sự chuyển đổi này với khối thay thế (thay thế chặn, S-block) có thể được coi là có bí mật thực tế. Tuy nhiên, việc triển khai thực tế của nó khó có thể thực hiện được, vì nó giả định trước sự tồn tại
kết nối.

Bây giờ chúng ta hãy đảm bảo rằng S là khối được hiển thị trong Hình. 10.10, thực sự thực hiện một phép biến đổi phi tuyến tính, mà chúng ta sử dụng nguyên tắc chồng chất: phép biến đổi
là tuyến tính nếu Hãy giả vờ rằng
, một
. Sau đó, a, từ đó nó theo sau đó S-block là phi tuyến tính.

10.4.2. Phương pháp hoán vị.

Tại hoán vị(hoặc chuyển vị) theo khóa, thứ tự của các ký tự trong văn bản gốc bị thay đổi, trong khi ý nghĩa của ký tự được giữ nguyên. Mật mã hoán vị là mật mã khối, nghĩa là văn bản nguồn được chia sơ bộ thành các khối, trong đó hoán vị được chỉ định bởi khóa được thực hiện.

Việc triển khai đơn giản nhất của phương pháp mã hóa này có thể là thuật toán xen kẽ được coi là trước đây, bản chất của nó là chia luồng ký hiệu thông tin thành các khối có độ dài
, ghi từng dòng vào một ma trận bộ nhớ có kích thước dòng và cột và đọc theo cột. Một ví dụ về thuật toán này là
trong bộ lễ phục. 10.11, trong đó một cụm từ được ghi lại X= "Thời gian kiểm tra sẽ bắt đầu sớm." Sau đó, ở đầu ra của thiết bị hoán vị, một mật mã có dạng

Cơm. 10.11.

Phiên bản được xem xét của phương pháp hoán vị có thể phức tạp bằng cách giới thiệu các khóa

, xác định thứ tự viết hàng và đọc cột tương ứng, như được minh họa bằng bảng trong Hình. 10.12. Kết quả của phép biến đổi sẽ như thế này

Cơm. 10.12.

Trên hình. 10.13 là một ví dụ về hoán vị nhị phân của dữ liệu (phép toán tuyến tính), cho thấy dữ liệu chỉ được xáo trộn hoặc hoán vị. Việc chuyển đổi được thực hiện bằng cách sử dụng khối hoán vị ( hoán vị chặn, P-chặn). Công nghệ hoán vị được thực hiện bởi khối này có một nhược điểm lớn: nó dễ bị tin nhắn giả mạo. Thông báo giả mạo được hiển thị trong Hình. 10.13 và bao gồm việc cung cấp một đơn vị duy nhất cho đầu vào với các số 0 còn lại, cho phép bạn phát hiện một trong các liên kết nội bộ. Nếu một nhà phân tích mật mã cần phân tích một kế hoạch như vậy bằng cách sử dụng một cuộc tấn công bằng văn bản rõ, anh ta sẽ gửi một chuỗi các thông điệp lừa đảo như vậy, dịch chuyển một đơn vị theo một vị trí với mỗi lần truyền. Kết quả của một cuộc tấn công như vậy, tất cả các kết nối đầu vào và đầu ra sẽ được thiết lập. Ví dụ này chứng minh tại sao tính bảo mật của một mạch không nên phụ thuộc vào kiến ​​trúc của nó.

10.4.3. phương pháp gamma.

P nỗ lực để tiếp cận bí mật hoàn hảo được thể hiện bởi nhiều hệ thống viễn thông hiện đại sử dụng hoạt động xáo trộn. Dưới tranh giànhđược hiểu là quá trình chồng mã của một dãy số ngẫu nhiên lên mã của các ký tự bản rõ, còn được gọi là gamma (theo tên của chữ cái  trong bảng chữ cái Hy Lạp, được dùng trong các công thức toán học để biểu thị một quá trình ngẫu nhiên). Bài bạcđề cập đến các phương pháp mã hóa trực tuyến, khi các ký tự văn bản rõ liên tiếp được chuyển đổi tuần tự thành các ký tự bản mã, làm tăng tốc độ chuyển đổi. Vì vậy, ví dụ, luồng bit thông tin đến một đầu vào của bộ cộng modulo 2 được hiển thị trong Hình. 10.14, trong khi cái thứ hai có chuỗi nhị phân xáo trộn
. Lý tưởng nhất là trình tự
phải là một chuỗi ngẫu nhiên với các số không và số có khả năng bằng nhau. Sau đó, luồng được mã hóa đầu ra
sẽ độc lập về mặt thống kê với chuỗi thông tin
, có nghĩa là điều kiện đủ để giữ bí mật hoàn hảo sẽ được thỏa mãn. Trên thực tế, nó hoàn toàn ngẫu nhiên.
là không cần thiết vì nếu không thì người nhận sẽ không thể phục hồi bản rõ. Thật vậy, việc khôi phục bản rõ ở bên nhận nên được thực hiện theo quy tắc
, do đó chính xác cùng một trình tự xáo trộn và cùng pha phải được tạo ra ở phía nhận. Tuy nhiên, do cơ hội thuần túy
thủ tục này trở nên không thể.

Trong thực tế, các chuỗi giả ngẫu nhiên (RRP), có thể được sao chép ở bên nhận, đã được sử dụng rộng rãi dưới dạng xáo trộn. Công nghệ mã hóa luồng thường sử dụng một trình tạo dựa trên thanh ghi dịch chuyển tuyến tính với phản hồi (tuyến tính Phản hồi sự thay đổi Đăng ký(LFSR)). Cấu trúc điển hình của bộ tạo PSP được hiển thị trong hình. 10.15, bao gồm một thanh ghi thay đổi, bao gồm – các phần tử trễ riêng lẻ hoặc các bit có trạng thái có thể và lưu trữ một số phần tử trường
trong khoảng thời gian đồng hồ, một mạch phản hồi bao gồm các bội số của các phần tử (trạng thái) được lưu trữ trong các bit bởi các hằng số , và bộ cộng. Sự hình thành của PSS được mô tả bằng một quan hệ đệ quy có dạng

nơi hệ số
là các hằng số cố định thuộc về
, theo đó mỗi phần tử tiếp theo của dãy được tính dựa trên N những cái trước đó.

Vì số lượng các trạng thái thanh ghi khác nhau là hữu hạn (nhiều nhất ), tình huống là không thể tránh khỏi khi sau một số chu kỳ nhất định, trạng thái sẽ tự lặp lại dưới dạng một trong những chu kỳ trước đó. Tuy nhiên, bắt đầu từ một số tải ban đầu, tức là trạng thái cố định, sơ đồ trong hình. 10.15 sẽ chỉ tạo một chuỗi duy nhất được xác định bởi đệ quy đã đề cập. Do đó, sự lặp lại trạng thái của thanh ghi dẫn đến sự lặp lại của tất cả các ký hiệu được tạo tiếp theo, có nghĩa là bất kỳ SRP nào cũng là định kỳ. Hơn nữa, trong trường hợp trạng thái 0 của thanh ghi (sự hiện diện của các số không trong tất cả các chữ số), một chuỗi suy biến vô hạn sẽ luôn được hình thành, chỉ bao gồm các số không. Rõ ràng là một trường hợp như vậy là hoàn toàn không có gì hứa hẹn, vì vậy trạng thái 0 của thanh ghi nên được loại trừ. Kết quả là, không còn
các trạng thái được phép của thanh ghi, giới hạn khoảng thời gian tối đa có thể có của chuỗi thành một giá trị không lớn hơn
.

Ví dụ 10.4.1. Trên hình. 10.16, một, việc triển khai trình tạo dựa trên thanh ghi dịch chuyển có phản hồi tuyến tính, tạo thành chuỗi nhị phân giả ngẫu nhiên của khoảng thời gian
. Lưu ý rằng trong trường hợp PRS nhị phân, nhân với một tương đương với việc chỉ cần kết nối đầu ra bit với bộ cộng. Cơm. 10.16, b, minh họa nội dung kế tiếp của thanh ghi (trạng thái bit), cũng như trạng thái của đầu ra phản hồi (điểm OS trong sơ đồ) khi các xung đồng hồ được áp dụng. Dãy được đọc dưới dạng các trạng thái liên tiếp của cực p đúng hạng. Việc đọc trạng thái của các bit khác dẫn đến các bản sao của cùng một chuỗi được dịch chuyển theo một hoặc hai chu kỳ.

Thoạt nhìn, có thể giả định rằng việc sử dụng băng thông bộ nhớ dài hạn có thể mang lại độ bảo mật đủ cao. Vì vậy, ví dụ, trong một hệ thống thông tin di động di động theo tiêu chuẩn IS-95, PRP của thời kỳ
giữa các chip sơ cấp. Với tốc độ chip là 1,228810 6 ký hiệu/giây, chu kỳ của nó là:

Do đó, có thể giả định rằng vì trình tự không lặp lại trong một khoảng thời gian dài như vậy nên nó có thể được coi là ngẫu nhiên và đảm bảo bí mật hoàn hảo. Tuy nhiên, có một sự khác biệt cơ bản giữa một dãy giả ngẫu nhiên và một dãy ngẫu nhiên thực sự: một dãy giả ngẫu nhiên được hình thành theo một thuật toán nào đó. Do đó, nếu thuật toán được biết, thì chuỗi sẽ được biết. Do tính năng này, sơ đồ mã hóa sử dụng thanh ghi dịch chuyển phản hồi tuyến tính dễ bị tấn công bằng văn bản gốc đã biết.

Để xác định các vòi phản hồi, trạng thái ban đầu của thanh ghi và toàn bộ chuỗi, nhà phân tích mật mã chỉ cần có
bit của bản rõ và bản mã tương ứng của chúng. Rõ ràng, giá trị 2 Nít hơn nhiều so với thời kỳ PSP bằng
. Hãy minh họa lỗ hổng được đề cập bằng một ví dụ.

Ví dụ 10.4.2. Hãy để khoảng thời gian SRP được sử dụng làm thời gian xáo trộn
, được tạo bằng cách sử dụng đệ quy của biểu mẫu

ở trạng thái ban đầu của thanh ghi 0001. Kết quả là dãy sẽ được hình thành. Chúng ta hãy giả sử rằng một nhà giải mã không biết gì về cấu trúc phản hồi của bộ tạo PSP đã thu được
bit mật mã và tương đương công khai của nó:

Sau đó, sau khi đã thêm cả hai chuỗi theo modulo 2, nhà giải mã sẽ có được một đoạn của chuỗi xáo trộn, cho thấy trạng thái của thanh ghi dịch chuyển tại các thời điểm khác nhau. Vì vậy, ví dụ, bốn bit đầu tiên của chuỗi khóa tương ứng với trạng thái của thanh ghi tại một thời điểm nào đó . Nếu bây giờ chúng ta dịch chuyển cửa sổ chọn bốn bit sang phải một vị trí, thì các trạng thái của thanh ghi dịch chuyển sẽ thu được tại các điểm liên tiếp trong thời gian
. Với cấu trúc tuyến tính của mạch phản hồi, chúng ta có thể viết rằng

ở đâu Ký hiệu PSP, được tạo ra bởi mạch phản hồi và đưa đến đầu vào của chữ số đầu tiên của thanh ghi, và
xác định sự hiện diện hay vắng mặt tôi-kết nối thứ giữa đầu ra bit của thanh ghi dịch chuyển và bộ cộng, tức là lược đồ phản hồi.

Phân tích các trạng thái của thanh ghi dịch chuyển ở bốn thời điểm liên tiếp, chúng ta có thể lập hệ bốn phương trình sau với bốn ẩn số:

Nghiệm của hệ phương trình này cho các giá trị của các hệ số sau:

Do đó, sau khi xác định mạch phản hồi của thanh ghi tuyến tính và biết trạng thái của nó tại thời điểm , nhà phân tích mật mã có thể tái tạo chuỗi xáo trộn tại một thời điểm tùy ý và do đó có thể giải mã được mật mã bị chặn.

Khái quát hóa ví dụ được xem xét cho trường hợp thanh ghi dịch chuyển bộ nhớ tùy ý N, phương trình ban đầu có thể được biểu diễn dưới dạng

,

và hệ phương trình được viết dưới dạng ma trận sau

,

ở đâu
, một
.

Có thể chỉ ra rằng các cột của ma trận độc lập tuyến tính nên tồn tại ma trận nghịch đảo
. Do đó

.

Nghịch đảo ma trận yêu cầu thứ tự hoạt động, vì vậy
chúng ta có
rằng đối với một máy tính có tốc độ hoạt động, một thao tác trong 1 μs sẽ cần 1 giây để đảo ngược ma trận. Rõ ràng, điểm yếu của thanh ghi dịch chuyển là do tính tuyến tính của phản hồi.

Để gây khó khăn cho nhà phân tích trong việc tính toán các phần tử của PSP khi so sánh các đoạn của bản rõ và mã hóa, phản hồi về đầu ra và bản mã được sử dụng. Trên hình. 10.17 giải thích nguyên tắc giới thiệu phản hồi bản mã.

Cơm. 17.10. Mã hóa luồng với phản hồi.

Đầu tiên, một phần mở đầu được truyền đi, chứa thông tin về các tham số của SRP được tạo, bao gồm giá trị của pha ban đầu z 00 . Cho mỗi N các ký hiệu mật mã được tạo, một giá trị pha mới được tính toán và thiết lập trong trình tạo
. Phản hồi làm cho phương pháp gamma nhạy cảm với các biến dạng mật mã. Vì vậy, do nhiễu trong kênh liên lạc, một số biểu tượng nhận được có thể bị biến dạng, điều này sẽ dẫn đến việc tính toán sai giá trị của pha PRS và gây khó khăn cho việc giải mã thêm, nhưng sau khi nhận được N các ký tự bản mã chính xác hệ thống được khôi phục. Đồng thời, sự biến dạng như vậy có thể được giải thích là do kẻ tấn công cố gắng áp đặt dữ liệu sai.

Hãy phàn nàn để trả anai iptography land sai ikihauwai! Cho dù bạn đang viết ghi chú cho bạn bè trong lớp hay cố gắng tìm hiểu mật mã (khoa học về mật mã và mật mã) để giải trí, bài viết này có thể giúp bạn tìm hiểu một số nguyên tắc cơ bản và tạo cách riêng để mã hóa tin nhắn riêng tư. Hãy đọc bước 1 dưới đây để biết nên bắt đầu từ đâu!


Một số người sử dụng các từ "mã" và "mật mã" để chỉ các khái niệm giống nhau, nhưng những người nghiêm túc nghiên cứu vấn đề này biết rằng đây là hai khái niệm hoàn toàn khác nhau. Mã bí mật là một hệ thống trong đó mỗi từ hoặc cụm từ trong tin nhắn của bạn được thay thế bằng một từ, cụm từ hoặc chuỗi ký tự khác. Mật mã là một hệ thống trong đó mỗi chữ cái trong tin nhắn của bạn được thay thế bằng một chữ cái hoặc ký hiệu khác.

bước

mã tiêu chuẩn

    Tạo tin nhắn của bạn. Sử dụng một cuốn sách mã, viết tin nhắn một cách cẩn thận và cẩn thận. Lưu ý rằng việc ghép nối mã của bạn với mật mã sẽ giúp thư của bạn an toàn hơn nữa!

    Dịch tin nhắn của bạn. Khi bạn bè của bạn nhận được tin nhắn, họ sẽ cần sử dụng bản sao của cuốn sách mã để dịch tin nhắn. Đảm bảo rằng họ biết rằng bạn đang sử dụng phương pháp bảo vệ kép.

    sách mật mã

    cảnh sát mã hóa

    mật mã

    Mã hóa dựa trên ngày

    1. Chọn một ngày. Ví dụ, đó sẽ là sinh nhật của Steven Spielberg vào ngày 16 tháng 12 năm 1946. Viết ngày này bằng cách sử dụng số và dấu gạch chéo (18/12/46), sau đó xóa dấu gạch ngang để nhận số có sáu chữ số 121846, bạn có thể sử dụng số này để gửi tin nhắn được mã hóa.

      Gán một số cho mỗi chữ cái. Hãy tưởng tượng thông điệp "Tôi thích phim của Steven Spielberg". Dưới tin nhắn, bạn viết đi viết lại con số có sáu chữ số của mình cho đến hết câu: 121 84612184 612184 6121846 121846121.

      Mã hóa tin nhắn của bạn. Viết các chữ cái từ trái sang phải. Di chuyển từng ký tự văn bản thuần túy theo số lượng đơn vị được liệt kê bên dưới nó. Chữ "M" bị dịch đi một đơn vị và trở thành chữ "H", chữ "H" bị dịch đi hai đơn vị và trở thành chữ "P". Xin lưu ý rằng chữ "I" được dịch chuyển 2 đơn vị, để làm được điều này, bạn cần chuyển đến đầu bảng chữ cái và nó trở thành chữ "B". Tin nhắn cuối cùng của bạn sẽ là “Npyo hfögbuschg ynyfya chukgmse tsyuekseb”.

      Dịch tin nhắn của bạn. Khi ai đó muốn đọc tin nhắn của bạn, tất cả những gì họ cần biết là bạn đã mã hóa ngày nào. Để mã hóa lại, sử dụng quy trình ngược lại: viết mã số, sau đó trả lại các chữ cái theo thứ tự ngược lại.

      • Mã hóa bằng ngày có lợi thế bổ sung là ngày có thể hoàn toàn là bất kỳ thứ gì. Bạn cũng có thể thay đổi ngày bất cứ lúc nào. Điều này làm cho việc cập nhật hệ thống mật mã dễ dàng hơn nhiều so với các phương pháp khác. Tuy nhiên, tốt hơn là nên tránh những ngày nổi tiếng như ngày 9 tháng 5 năm 1945.

    Mã hóa bằng số

    1. Chọn một số bí mật với bạn của bạn. Ví dụ, số 5.

      Viết tin nhắn của bạn (không có dấu cách) với số chữ cái này trên mỗi dòng (đừng lo lắng nếu dòng cuối cùng ngắn hơn). Ví dụ: thông báo "Bìa của tôi bị thổi bay" sẽ như thế này:

      • Moepr
      • trứng cá muối
      • ieras
      • đề cập
    2. Để tạo mật mã, hãy lấy các chữ cái từ trên xuống dưới và viết chúng ra. Tin nhắn sẽ là "Myikokererrypyatrtao".

      Để giải mã tin nhắn của bạn, bạn của bạn phải đếm tổng số chữ cái, chia cho 5 và xác định xem có dòng nào không hoàn chỉnh hay không. Sau đó, anh ấy / cô ấy viết các chữ cái này vào các cột sao cho mỗi hàng có 5 chữ cái và một dòng không đầy đủ (nếu có), rồi đọc tin nhắn.

    mật mã đồ họa

    Sắp xếp lại Caesar

    ngôn ngữ bí mật

    ngôn ngữ lẫn lộn

    mã âm thanh

    nói lắp bắp

    • Giấu mã của bạn ở nơi mà chỉ người gửi và người nhận biết. Ví dụ: vặn bất kỳ chiếc bút nào và đặt mã của bạn vào bên trong, lắp bút trở lại, tìm một vị trí (chẳng hạn như hộp đựng bút chì) và cho người nhận biết vị trí và loại bút.
    • Mã hóa không gian cũng để làm rối mã hơn nữa. Ví dụ: bạn có thể sử dụng các chữ cái (E, T, A, O và H hoạt động tốt nhất) thay vì khoảng trắng. Chúng được gọi là khoảng trống. Các s, b, b và z sẽ trông quá rõ ràng đối với những người viết mã có kinh nghiệm, vì vậy đừng sử dụng chúng hoặc các ký tự nổi bật khác.
    • Bạn có thể tạo mã của riêng mình bằng cách sắp xếp lại các chữ cái trong các từ một cách ngẫu nhiên. "Dij yaemn in the park" - "Đợi anh ở công viên."
    • Gửi mã luôn cho đại lý bên mình.
    • Khi sử dụng tiếng Ailen Thổ Nhĩ Kỳ, bạn không cần phải sử dụng cụ thể "eb" trước một phụ âm. Bạn có thể sử dụng "tức là", "br", "của" hoặc bất kỳ tổ hợp chữ cái không rõ ràng nào khác.
    • Khi sử dụng mã hóa vị trí, vui lòng thêm, xóa và thậm chí sắp xếp lại các chữ cái từ nơi này sang nơi khác để khiến việc giải mã trở nên khó khăn hơn. Hãy chắc chắn rằng đối tác của bạn hiểu những gì bạn đang làm, nếu không tất cả sẽ trở nên vô nghĩa với cô ấy/anh ấy. Bạn có thể chia văn bản thành nhiều phần sao cho mỗi phần có ba, bốn hoặc năm chữ cái rồi hoán đổi chúng.
    • Để sắp xếp lại Caesar, bạn có thể sắp xếp lại các chữ cái bao nhiêu vị trí tùy ý, về phía trước hoặc phía sau. Chỉ cần đảm bảo các quy tắc hoán vị giống nhau cho mỗi chữ cái.
    • Luôn hủy các tin nhắn đã giải mã.
    • Nếu bạn đang sử dụng mã của riêng mình, đừng làm cho nó quá phức tạp để người khác tìm ra. Nó có thể là quá khó để giải mã ngay cả đối với bạn!
    • Sử dụng mã Morse. Đây là một trong những mã nổi tiếng nhất, vì vậy người đối thoại của bạn sẽ nhanh chóng hiểu nó là gì.

    cảnh báo

    • Nếu bạn viết mã không chính xác, điều này sẽ khiến quá trình giải mã trở nên khó khăn hơn đối với đối tác của bạn, với điều kiện là bạn không sử dụng các biến thể của mã hoặc mật mã được thiết kế đặc biệt để gây nhầm lẫn cho người giải mã (tất nhiên là ngoại trừ đối tác của bạn).
    • Ngôn ngữ lộn xộn được sử dụng tốt nhất cho các từ ngắn. Nó không hiệu quả với các từ dài vì các chữ cái thừa dễ nhìn thấy hơn nhiều. Điều này cũng đúng khi sử dụng nó trong lời nói.

Một lần, anh cả Nastya và tôi say mê đóng vai thám tử và thám tử, nghĩ ra mật mã, phương pháp điều tra của riêng mình. Rồi sở thích này qua đi rồi lại quay trở lại. Nastya có vị hôn phu là Dimka, người rất nhiệt tình đóng vai trinh sát. Niềm đam mê của anh ấy đã được chia sẻ bởi con gái tôi. Như bạn đã biết, để truyền thông tin quan trọng cho nhau, các sĩ quan tình báo cần có mật mã. Với sự trợ giúp của những trò chơi này, bạn cũng sẽ học cách mã hóa một từ hoặc thậm chí toàn bộ văn bản!

đốm trắng

Bất kỳ văn bản nào, ngay cả khi không có mật mã, đều có thể trở nên vô nghĩa khó đọc nếu khoảng trắng được đặt không chính xác giữa các chữ cái và từ.

Ví dụ, đây là những gì một câu đơn giản và rõ ràng biến thành "Gặp tôi ở hồ" - "Trong một cuộc họp với Yanaber yeguozera".

Ngay cả một người chú ý sẽ không nhận thấy ngay việc bắt. Nhưng trinh sát có kinh nghiệm Dimka nói rằng đây là loại mã hóa đơn giản nhất.

không có nguyên âm

Hoặc bạn có thể sử dụng phương pháp này - viết văn bản không có nguyên âm.

Ví dụ, đây là một câu: "Tờ giấy nằm trong hốc cây sồi, đứng ở bìa rừng". Văn bản được mã hóa trông như thế này: "Zpska nằm trong dpl db, ktr stt n pshke ls".

Nó sẽ đòi hỏi cả sự khéo léo, kiên trì và có thể là sự giúp đỡ của người lớn (những người đôi khi cũng không ngại rèn luyện trí nhớ và nhớ lại tuổi thơ của mình).

Đọc ngược lại

Mã hóa này kết hợp hai phương pháp cùng một lúc. Văn bản phải được đọc từ phải sang trái (nghĩa là ngược lại) và khoảng trắng giữa các từ có thể được đặt ngẫu nhiên.

Ở đây, đọc và giải mã: "Neleta minv sồi, manoro tsop irtoms".

Thứ hai cho đầu tiên

Hoặc mỗi chữ cái trong bảng chữ cái có thể được biểu thị bằng chữ cái theo sau nó. Tức là thay vì "a" chúng ta viết "b", thay vì "b" chúng ta viết "c", thay vì "c" - "d", v.v.

Dựa trên nguyên tắc này, bạn có thể tạo một mật mã bất thường. Để không bị nhầm lẫn, chúng tôi đã thực hiện các mánh gian lận nhỏ cho tất cả những người tham gia trò chơi. Với họ, việc sử dụng phương pháp này sẽ thuận tiện hơn nhiều.

Đoán xem chúng tôi đã mã hóa cụm từ nào cho bạn: "T'ilb g tzhsibmzh fiobue mzhdlp - theo ojlpdeb oj toynbzhu schmarf".

đại biểu

Theo nguyên tắc tương tự như mật mã trước đó, phương pháp "Thay thế" được sử dụng. Tôi đọc được rằng nó được dùng để mã hóa các văn bản thiêng liêng của người Do Thái.

Thay vì chữ cái đầu tiên của bảng chữ cái, chúng tôi viết chữ cái cuối cùng, thay vì chữ cái thứ hai - chữ cái áp chót, v.v. Tức là thay A - Z, thay B - Yu, thay C - E...

Để giải mã văn bản dễ dàng hơn, bạn cần có một bảng chữ cái và một tờ giấy có bút. Bạn nhìn vào sự tương ứng của bức thư và viết nó xuống. Sẽ rất khó để một đứa trẻ ước tính bằng mắt và giải mã.

những cái bàn

Bạn có thể mã hóa văn bản bằng cách ghi nó vào bảng trước. Bạn chỉ cần đồng ý trước chữ cái nào bạn sẽ đánh dấu khoảng cách giữa các từ.

Một gợi ý nhỏ - đó phải là một chữ cái phổ biến (chẳng hạn như p, k, l, o), bởi vì các chữ cái hiếm khi được tìm thấy trong các từ ngay lập tức bắt mắt và vì điều này, văn bản dễ dàng được giải mã. Bạn cũng cần thảo luận về kích thước của bảng và cách bạn nhập các từ (từ trái sang phải hoặc từ trên xuống dưới).

Hãy cùng mã hóa cụm từ bằng bảng: Ban đêm chúng tôi đi bắt cá chép.

Khoảng trống sẽ được ký hiệu bằng chữ “r”, các từ được viết từ trên xuống dưới. Bảng 3 x 3 (chúng tôi vẽ trong các ô của một trang vở thông thường).

Đây là những gì chúng tôi nhận được:
N I M O T K A Y
O YU D R V A S R
CH R E L I R R E.

mạng tinh thể

Để đọc văn bản được mã hóa theo cách này, bạn và bạn của bạn sẽ cần những tấm giấy nến giống nhau: những tờ giấy có các ô vuông được cắt theo thứ tự ngẫu nhiên.

Mã hóa phải được viết trên một tờ giấy có cùng định dạng với khuôn tô. Các chữ cái được viết trong các ô có lỗ (và bạn cũng có thể viết, chẳng hạn như từ phải sang trái hoặc từ trên xuống dưới), các ô còn lại được điền bằng bất kỳ chữ cái nào khác.

Chìa khóa trong cuốn sách

Nếu trong mật mã trước đây, chúng tôi đã chuẩn bị hai giấy nến, thì bây giờ chúng tôi cần những cuốn sách giống nhau. Tôi nhớ lại những ngày thơ ấu của mình, các cậu bé ở trường đã sử dụng cuốn tiểu thuyết "Ba chàng lính ngự lâm" của Dumas cho mục đích này.

Các ghi chú trông như thế này:
"324 s, 4 a, c, 7 sl.
150 giây, 1 a, n, 11 w…”

chữ số đầu tiên chỉ ra số trang
thứ hai- số đoạn
lá thư thứ ba- cách đếm đoạn trên (c) hoặc dưới (n),
chữ cái thứ tư- từ.

Trong ví dụ của tôi, các từ mong muốn cần được tìm kiếm:
Chữ thứ nhất: ở trang 324, đoạn thứ 4 từ trên xuống, chữ thứ bảy.
Từ thứ hai: ở trang 150, từ dưới lên 1 đoạn, từ thứ mười một.

Quá trình giải mã không nhanh, nhưng không ai trong số những người bên ngoài có thể đọc được tin nhắn.

Trong mật mã thay thế (hoặc mật mã thay thế), trái ngược với , các phần tử của văn bản không thay đổi trình tự của chúng mà tự thay đổi, tức là các chữ cái gốc được thay thế bằng các chữ cái hoặc ký hiệu (một hoặc nhiều) khác theo quy tắc nhất định.

Trang này mô tả các mật mã trong đó việc thay thế diễn ra trên các chữ cái hoặc số. Khi thay thế xảy ra đối với một số ký tự không phải chữ và số khác, đối với các tổ hợp ký tự hoặc mẫu, điều này được gọi là trực tiếp.

Mật mã đơn chữ cái

Trong mật mã thay thế một bảng chữ cái, mỗi chữ cái được thay thế bằng một và chỉ một chữ cái/ký hiệu hoặc nhóm chữ cái/ký hiệu khác. Nếu có 33 chữ cái trong bảng chữ cái, thì có 33 quy tắc thay thế: đổi A thành gì, đổi B thành gì, v.v.

Những mật mã như vậy khá dễ giải mã ngay cả khi không biết khóa. Điều này được thực hiện bằng cách sử dụng phân tích tần số bản mã - bạn cần đếm số lần mỗi chữ cái xuất hiện trong văn bản, sau đó chia cho tổng số chữ cái. Tần số kết quả phải được so sánh với tham chiếu. Chữ cái phổ biến nhất trong tiếng Nga là chữ O, tiếp theo là chữ E, v.v. Đúng, phân tích tần suất hoạt động trên các văn bản văn học lớn. Nếu văn bản nhỏ hoặc rất cụ thể về các từ được sử dụng, thì tần suất của các chữ cái sẽ khác với tham chiếu và bạn sẽ phải dành nhiều thời gian hơn để giải. Dưới đây là bảng tần suất của các chữ cái (nghĩa là tần suất tương đối của các chữ cái được tìm thấy trong văn bản) của tiếng Nga, được tính toán trên cơ sở NKRYA.

Việc sử dụng phương pháp phân tích tần số để giải mã các tin nhắn được mã hóa được mô tả rất hay trong nhiều tác phẩm văn học, chẳng hạn như Arthur Conan Doyle trong tiểu thuyết "" hay Edgar Poe trong "".

Thật dễ dàng để biên dịch bảng mã cho mật mã thay thế một bảng chữ cái, nhưng khá khó nhớ và gần như không thể khôi phục nếu bị mất, vì vậy một số quy tắc để biên dịch các trang mã như vậy thường được phát minh. Dưới đây là những quy tắc nổi tiếng nhất.

mã ngẫu nhiên

Như tôi đã viết ở trên, trong trường hợp chung, đối với mật mã thay thế, bạn cần tìm ra chữ cái nào sẽ được thay thế. Điều đơn giản nhất là lấy và trộn ngẫu nhiên các chữ cái trong bảng chữ cái, sau đó viết chúng ra dưới dòng của bảng chữ cái. Nhận một bảng mã. Ví dụ, như thế này:

Số biến thể của các bảng như vậy cho 33 chữ cái tiếng Nga = 33! ≈ 8,683317618811886*10 36 . Từ quan điểm mã hóa các tin nhắn ngắn, đây là tùy chọn lý tưởng nhất: để giải mã, bạn cần biết bảng mã. Không thể sắp xếp một số tùy chọn như vậy và nếu bạn mã hóa một văn bản ngắn, thì không thể áp dụng phân tích tần suất.

Nhưng để sử dụng trong các nhiệm vụ, một bảng mã như vậy phải được trình bày đẹp mắt hơn bằng cách nào đó. Trước tiên, người giải phải chỉ cần tìm bảng này hoặc giải một câu đố bằng lời nói theo nghĩa đen nhất định. Ví dụ, đoán hoặc giải quyết.

từ khóa

Một trong những tùy chọn để biên dịch bảng mã là sử dụng từ khóa. Chúng tôi viết ra bảng chữ cái, trước tiên chúng tôi viết ra một từ khóa bao gồm các chữ cái không lặp lại, sau đó chúng tôi viết ra các chữ cái còn lại. Ví dụ, đối với từ "bản thảo" ta được bảng sau:

Như bạn có thể thấy, phần đầu của bảng bị xáo trộn, nhưng phần cuối vẫn chưa được xáo trộn. Điều này là do chữ cái “cao cấp” nhất trong từ “bản thảo” là chữ cái “U”, và sau nó là chữ “đuôi” không thể trộn lẫn. Các chữ cái ở đuôi sẽ vẫn chưa được mã hóa. Bạn có thể để như vậy (vì hầu hết các chữ cái vẫn được mã hóa), hoặc bạn có thể lấy một từ có chứa các chữ cái A và Z, sau đó tất cả các chữ cái sẽ trộn lẫn và sẽ không có “đuôi”.

Bản thân từ khóa cũng có thể được chỉ định trước, ví dụ: sử dụng hoặc . Ví dụ, như thế này:

Sau khi giải được khung rebus số học và khớp các chữ cái và số của từ được mã hóa, sau đó bạn sẽ cần nhập từ kết quả vào bảng mã thay vì số và nhập các chữ cái còn lại theo thứ tự. Bạn nhận được bảng mã sau:

Atbash

Mật mã ban đầu được sử dụng cho bảng chữ cái tiếng Do Thái, do đó có tên. Từ atbash (אתבש) bao gồm các chữ cái "alef", "tav", "bet" và "shin", tức là các chữ cái đầu tiên, cuối cùng, thứ hai và áp chót của bảng chữ cái tiếng Do Thái. Điều này đặt ra quy tắc thay thế: bảng chữ cái được viết theo thứ tự, bên dưới nó cũng được viết ngược. Do đó, chữ cái đầu tiên được mã hóa thành chữ cái cuối cùng, chữ cái thứ hai - thành chữ cái áp chót, v.v.

Cụm từ "HÃY ĐẾN NGOẠI LỆ" được chuyển đổi bằng mật mã này thành "ERCHGTZ BL R E VFNPPZHS". Máy tính trực tuyến mật mã Atbash

ROT1

Mật mã này được nhiều trẻ em biết đến. Chìa khóa rất đơn giản: mỗi chữ cái được thay thế bằng chữ cái theo sau nó trong bảng chữ cái. Vì vậy, A được thay thế bằng B, B bằng C, v.v., và Z được thay thế bằng A. “ROT1” có nghĩa là “XOAY 1 chữ cái về phía trước qua bảng chữ cái” (tiếng Anh “rotate/shift the alphabet one letter forward”). Thông báo "Gryuklokotam càu nhàu vào ban đêm" sẽ trở thành "Tsyalmplpubn tsyalmplpubnyu rp opshbn." ROT1 rất thú vị khi sử dụng vì ngay cả trẻ em cũng dễ hiểu và dễ sử dụng để mã hóa. Nhưng nó chỉ là dễ dàng để giải mã.

Mật mã của Caesar

Mật mã Caesar là một trong những mật mã lâu đời nhất. Trong quá trình mã hóa, mỗi chữ cái được thay thế bằng một chữ cái khác, được phân tách khỏi nó trong bảng chữ cái không phải bằng một mà bằng nhiều vị trí hơn. Mật mã được đặt theo tên của hoàng đế La Mã Gaius Julius Caesar, người đã sử dụng nó để trao đổi thư từ bí mật. Anh ấy đã sử dụng ca ba chữ cái (ROT3). Nhiều người đề xuất thực hiện mã hóa cho bảng chữ cái tiếng Nga bằng cách sử dụng ca này:

Tôi vẫn nghĩ rằng có 33 chữ cái trong tiếng Nga, vì vậy tôi đề xuất bảng mã này:

Thật thú vị, trong phiên bản này, cụm từ "con nhím ở đâu?" được đọc trong bảng chữ cái thay thế :)

Nhưng xét cho cùng, sự dịch chuyển có thể được thực hiện bằng một số chữ cái tùy ý - từ 1 đến 33. Do đó, để thuận tiện, bạn có thể tạo một đĩa gồm hai vòng quay tương đối với nhau trên cùng một trục và viết các chữ cái của bảng chữ cái trên các vòng trong lĩnh vực. Sau đó, có thể có trong tay chìa khóa cho mã Caesar với bất kỳ phần bù nào. Hoặc bạn có thể kết hợp mật mã Caesar với atbash trên một đĩa như vậy và bạn sẽ nhận được kết quả như sau:

Trên thực tế, đó là lý do tại sao các mật mã như vậy được gọi là ROT - từ tiếng Anh "xoay" - "xoay".

ROT5

Trong tùy chọn này, chỉ các số được mã hóa, phần còn lại của văn bản không thay đổi. Có 5 quyền thay người nên ROT5: 0↔5, 1↔6, 2↔7, 3↔8, 4↔9.

ROT13

ROT13 là một biến thể của mật mã Caesar cho bảng chữ cái Latinh với sự thay đổi 13 ký tự. Nó thường được sử dụng trên Internet trong các diễn đàn tiếng Anh như một phương tiện để che giấu những phần tiết lộ nội dung, điểm chính, giải câu đố và tài liệu xúc phạm khỏi chế độ xem thông thường.

Bảng chữ cái Latinh gồm 26 chữ cái được chia thành hai phần. Nửa thứ hai được viết dưới phần đầu tiên. Khi mã hóa, các chữ cái từ nửa trên được thay thế bằng các chữ cái từ nửa dưới và ngược lại.

ROT18

Mọi thứ đều đơn giản. ROT18 là sự kết hợp giữa ROT5 và ROT13 :)

ROT47

Có một phiên bản hoàn chỉnh hơn của mật mã này - ROT47. Thay vì sử dụng dãy chữ cái A-Z, ROT47 sử dụng bộ ký tự lớn hơn, gần như tất cả các ký tự hiển thị từ nửa đầu của bảng ASCII. Sử dụng mật mã này, bạn có thể dễ dàng mã hóa url, e-mail và sẽ không rõ url và e-mail chính xác là gì :)

Ví dụ: một liên kết tới văn bản này sẽ được mã hóa như sau: 9EEAi^^ [email được bảo vệ]]CF^82>6D^BF6DE^4CJAE^4:A96C^K2> [email được bảo vệ] Chỉ người đoán có kinh nghiệm mới có thể đoán từ hai ký tự được lặp lại ở đầu văn bản mà 9EEAi^^ có thể có nghĩa là HTTP:⁄⁄ .

Quảng trường Polybius

Polybius là một nhà sử học, chỉ huy và chính khách người Hy Lạp sống ở thế kỷ thứ 3 trước Công nguyên. Ông đề xuất mã ban đầu cho một sự thay thế đơn giản, được gọi là "hình vuông Polybius" hoặc bàn cờ của Polybius. Kiểu mã hóa này ban đầu được sử dụng cho bảng chữ cái Hy Lạp, nhưng sau đó nó được mở rộng sang các ngôn ngữ khác. Các chữ cái trong bảng chữ cái ghép thành hình vuông hoặc hình chữ nhật phù hợp. Nếu có nhiều chữ cái hơn cho hình vuông, thì chúng có thể được kết hợp trong một ô.

Một bảng như vậy có thể được sử dụng như trong mật mã Caesar. Để mã hóa trên một hình vuông, chúng tôi tìm chữ cái của văn bản và chèn chữ cái thấp hơn từ nó vào cùng một cột vào mã hóa. Nếu chữ cái ở hàng dưới cùng, thì chúng ta lấy chữ cái trên cùng từ cùng một cột. Đối với Cyrillic, bạn có thể sử dụng bảng ROT11(một dạng tương tự của mật mã Caesar với sự thay đổi 11 ký tự):

Các chữ cái của dòng đầu tiên được mã hóa thành các chữ cái của dòng thứ hai, thứ hai - thành thứ ba và thứ ba - thành thứ nhất.

Nhưng tất nhiên, tốt hơn là sử dụng "con chip" của hình vuông Polybius - tọa độ của các chữ cái:

    Dưới mỗi chữ cái của văn bản được mã hóa, chúng tôi viết trong một cột hai tọa độ (trên và bên). Bạn sẽ nhận được hai dòng. Sau đó, chúng tôi viết hai dòng này thành một dòng, chia thành các cặp số và sử dụng các cặp này làm tọa độ, mã hóa lại theo hình vuông Polybius.

    Nó có thể phức tạp. Các tọa độ ban đầu được viết thành một dòng mà không chia thành từng cặp, được dịch chuyển bởi số lẻ số bước, chia kết quả thành từng cặp và mã hóa lại.

Polybius Square cũng có thể được tạo bằng một từ mã. Đầu tiên, từ mã được nhập vào bảng, sau đó là các chữ cái còn lại. Từ mã không được chứa các chữ cái lặp lại.

Một biến thể của mật mã Polybius được sử dụng trong các nhà tù bằng cách khai thác tọa độ của các chữ cái - đầu tiên là số dòng, sau đó là số của chữ cái trong dòng.

mật mã thơ

Phương pháp mã hóa này tương tự như mật mã Polybius, nhưng chìa khóa không phải là bảng chữ cái, mà là một bài thơ phù hợp với từng dòng trong một hình vuông có kích thước nhất định (ví dụ: 10 × 10). Nếu dòng không được bao gồm, thì "đuôi" của nó sẽ bị cắt. Hơn nữa, hình vuông kết quả được sử dụng để mã hóa văn bản theo từng chữ cái với hai tọa độ, như trong hình vuông Polybius. Ví dụ: chúng tôi lấy một câu thơ hay "Borodino" của Lermontov và điền vào bảng. Chúng tôi nhận thấy rằng các chữ cái Yo, Y, X, W, W, Y, E không có trong bảng, điều đó có nghĩa là chúng tôi không thể mã hóa chúng. Tất nhiên, những bức thư này rất hiếm và có thể không cần thiết. Nhưng nếu chúng vẫn cần thiết, bạn sẽ phải chọn một câu khác có tất cả các chữ cái.

NGA/LẠI

Có lẽ là mật mã phổ biến nhất :) Nếu bạn cố gắng viết bằng tiếng Nga mà quên chuyển sang bố cục tiếng Nga, bạn sẽ nhận được kết quả như sau: Tckb gsnfnmcz gbcfnm gj-heccrb? pf,sd gthtrk.xbnmcz yf heccre. hfcrkflre? nj gjkexbncz xnj-nj nbgf "njuj^ Tại sao không phải là một mật mã? Hầu hết không phải là một mật mã thay thế. Bàn phím hoạt động như một bảng mã.

Bảng chuyển đổi trông như thế này:

chất nhờn

Litorea (từ lat. Có hai loại litorea: đơn giản và khôn ngoan. Một lá thư đơn giản, hay còn gọi là vô nghĩa, như sau. Nếu "e" và "e" được coi là một chữ cái, thì ba mươi hai chữ cái còn lại trong bảng chữ cái tiếng Nga, có thể được viết thành hai hàng - mỗi hàng mười sáu chữ cái:

Bạn nhận được bản tương tự tiếng Nga của mật mã ROT13 - ROT16:) Khi mã hóa, chữ cái trên được đổi thành chữ cái dưới và chữ cái dưới thành chữ cái trên. Một phiên bản thậm chí còn đơn giản hơn của litorea chỉ để lại 20 phụ âm:

Nó chỉ ra một mật mã ROT10. Khi mã hóa, chỉ các phụ âm được thay đổi, trong khi các nguyên âm và các nguyên âm khác không có trong bảng được giữ nguyên. Nó chỉ ra một cái gì đó như “từ điển → lsosh”, v.v.

Tuy nhiên, nếu toàn bộ cuốn sách (ví dụ: từ điển) được sử dụng làm khóa, thì có thể mã hóa không phải các chữ cái riêng lẻ mà là toàn bộ từ và thậm chí cả cụm từ. Khi đó tọa độ của từ sẽ là số trang, số dòng và số từ trong dòng. Có ba số cho mỗi từ. Bạn cũng có thể sử dụng ký hiệu nội bộ của cuốn sách - chương, đoạn, v.v. Ví dụ, thật thuận tiện khi sử dụng Kinh thánh như một cuốn sách mật mã, vì có sự phân chia rõ ràng thành các chương và mỗi câu có đánh dấu riêng, giúp bạn dễ dàng tìm thấy dòng văn bản mong muốn. Đúng vậy, không có từ hiện đại nào như "máy tính" và "internet" trong Kinh thánh, vì vậy đối với các cụm từ hiện đại, tất nhiên, tốt hơn là sử dụng từ điển bách khoa hoặc giải thích.

Đây là những mật mã thay thế trong đó các chữ cái được thay thế bằng các chữ cái khác. Và cũng có những chữ cái không được thay thế mà trộn lẫn với nhau.

Vào ngày này, Dịch vụ mật mã của Nga kỷ niệm ngày lễ chuyên nghiệp của mình.

"Mật mã" từ tiếng Hy Lạp cổ đại có nghĩa là "viết bí mật".

Làm thế nào các từ được ẩn?

Một phương pháp đặc biệt để truyền một bức thư bí mật đã tồn tại dưới triều đại của các pharaoh Ai Cập:

đã chọn một nô lệ. Họ cạo trọc đầu anh ấy và bôi dòng chữ lên đó bằng sơn thực vật không thấm nước. Khi tóc mọc, nó đã được gửi đến người nhận.

mật mã- đây là một loại hệ thống chuyển đổi văn bản có khóa bí mật (khóa) để đảm bảo tính bí mật của thông tin được truyền đi.

AiF.ru đã lựa chọn các sự kiện thú vị từ lịch sử mã hóa.

Tất cả các hệ thống chữ viết bí mật đều có

1. chữ thập- một văn bản có nghĩa (từ, cụm từ hoặc câu), bao gồm các chữ cái đầu tiên của mỗi dòng của bài thơ.

Ví dụ, đây là một bài thơ đố với gợi ý trong các chữ cái đầu tiên:

Đ. Tôi thường được biết đến với tên riêng của mình;
r kẻ lừa đảo và vô tội thề với anh ta,
Tại tehoy trong thảm họa tôi hơn bất cứ điều gì,
cuộc sống ngọt ngào hơn với tôi và chia sẻ tốt nhất.
b Tôi có thể phục vụ hạnh phúc của những linh hồn thuần khiết một mình,
giữa các nhân vật phản diện - tôi sẽ không được tạo ra.
Yuri Neledinsky-Meletsky
Sergei Yesenin, Anna Akhmatova, Valentin Zagoryansky thường sử dụng acrostics.

2. Nước nhờn- một loại chữ viết mật mã được sử dụng trong văn học viết tay cổ của Nga. Nó là đơn giản và khôn ngoan. Một cái đơn giản được gọi là một chữ cái vô nghĩa, nó bao gồm những điều sau: sắp xếp các phụ âm thành hai hàng theo thứ tự:

họ sử dụng chữ hoa thay vì chữ thường trong văn viết và ngược lại, và các nguyên âm không thay đổi; Ví dụ, tokepot = mèo con vân vân.

Litorea khôn ngoan ngụ ý các quy tắc thay thế phức tạp hơn.

3. "ROT1"- mật mã cho trẻ em?

Bạn cũng có thể đã sử dụng nó khi còn nhỏ. Chìa khóa của mật mã rất đơn giản: mỗi chữ cái trong bảng chữ cái được thay thế bằng chữ cái tiếp theo.

A trở thành B, B trở thành C, v.v. "ROT1" nghĩa đen là "xoay về phía trước 1 chữ cái trong bảng chữ cái". cụm từ "Tôi yêu borscht" biến thành một cụm từ bí mật "Một yavmya vps". Mật mã này nhằm mục đích vui nhộn, dễ hiểu và dễ giải mã, ngay cả khi khóa được sử dụng ngược lại.

4. Từ việc sắp xếp lại các thuật ngữ...

Trong Thế chiến thứ nhất, các thông điệp bí mật được gửi bằng cái gọi là phông chữ hoán vị. Trong đó, các chữ cái được sắp xếp lại bằng một số quy tắc hoặc phím nhất định.

Ví dụ, các từ có thể được viết ngược để cụm từ "mẹ rửa khung" biến thành một cụm từ "amam alym umar". Một phím hoán vị khác là hoán vị từng cặp chữ cái để thông báo trước đó trở thành "am um um al ar um".

Có vẻ như các quy tắc hoán vị phức tạp có thể làm cho các mật mã này trở nên rất khó khăn. Tuy nhiên, nhiều tin nhắn được mã hóa có thể được giải mã bằng đảo chữ cái hoặc thuật toán máy tính hiện đại.

5. Mật mã dịch chuyển của Caesar

Nó bao gồm 33 mật mã khác nhau, mỗi mật mã tương ứng với một chữ cái trong bảng chữ cái (số lượng mật mã khác nhau tùy thuộc vào bảng chữ cái của ngôn ngữ được sử dụng). Người đó phải biết sử dụng mật mã Julius Caesar nào để giải mã thông điệp. Ví dụ: nếu mật mã Ё được sử dụng, thì A trở thành Ё, B trở thành F, C trở thành Z, v.v. Nếu Y được sử dụng, thì A trở thành Y, B trở thành Z, C trở thành A, v.v. Thuật toán này là cơ sở cho nhiều mật mã phức tạp hơn, nhưng bản thân nó không cung cấp khả năng bảo vệ bí mật tin nhắn một cách đáng tin cậy, vì việc kiểm tra 33 khóa mật mã khác nhau sẽ mất tương đối ít thời gian.

Không ai có thể. Cố lên

Tin nhắn công khai được mã hóa trêu chọc chúng tôi với âm mưu của họ. Một số trong số họ vẫn chưa được giải quyết. Họ đây rồi:

tiền điện tử. Một tác phẩm điêu khắc của nghệ sĩ Jim Sanborn được đặt trước trụ sở Cơ quan Tình báo Trung ương ở Langley, Virginia. Tác phẩm điêu khắc chứa bốn mật mã, cho đến nay vẫn chưa thể mở được mật mã thứ tư. Vào năm 2010, người ta tiết lộ rằng các ký tự 64-69 NYPVTT trong phần thứ tư là viết tắt của từ BERLIN.

Bây giờ bạn đã đọc bài viết này, chắc chắn bạn sẽ có thể giải được ba mật mã đơn giản.

Để lại các lựa chọn của bạn trong phần bình luận cho bài viết này. Câu trả lời sẽ xuất hiện vào lúc 13:00 ngày 13/05/2014.

Câu trả lời:

1) đĩa

2) Chú voi con mệt mỏi với mọi thứ

3) Thời tiết tốt