Mật mã Bí ẩn là gì? Lịch sử, mô tả

Mục lục:

Mật mã Bí ẩn là gì? Lịch sử, mô tả
Mật mã Bí ẩn là gì? Lịch sử, mô tả
Anonim

Mật mã Enigma là một mật mã thực địa được người Đức sử dụng trong Thế chiến thứ hai. Enigma là một trong những cỗ máy mã hóa nổi tiếng nhất trong lịch sử. Cỗ máy Enigma đầu tiên được phát minh bởi một kỹ sư người Đức tên là Arthur Scherbius vào cuối Thế chiến thứ nhất. Nó đã được sử dụng cho mục đích thương mại từ đầu những năm 1920 và cũng được sử dụng bởi quân đội và các dịch vụ chính phủ của một số quốc gia, bao gồm cả Đức, trước và trong Thế chiến thứ hai để truyền các thông điệp được mã hóa. Nhiều mô hình Enigma khác nhau đã được sản xuất, nhưng mô hình quân sự của Đức và mật mã "Enigma" của Đức là nổi tiếng và được thảo luận nhiều nhất.

Ví dụ về mật mã Enigma
Ví dụ về mật mã Enigma

Bẻ khóa mật mã Enigma trong Thế chiến II

Một số nhà sử học tin rằng việc phá vỡ mật mã Enigma là chiến thắng quan trọng nhất của các cường quốc Đồng minh trong Thế chiến thứ hai. Cỗ máy Enigma cho phép hàng tỷ cách mã hóa tin nhắn, khiến các quốc gia khác khó có thể phá mã của Đức trong Thế chiến thứ hai. Trong một thời gian, mã dường như bất khả xâm phạm. Sau đó, Alan Turing vàcác nhà nghiên cứu khác đã khai thác một số lỗ hổng trong việc triển khai mã Enigma và có được quyền truy cập vào các cuốn sách mã của Đức, cho phép họ tạo ra một cỗ máy gọi là Bombe. Cô ấy đã giúp phá vỡ những phiên bản khó nhất của Enigma. Năm 2007, Ba Lan đã phát hành một đồng xu để kỷ niệm 75 năm phá vỡ mật mã Enigma - 2 złoty từ vàng phương Bắc. Ở giữa là quốc huy của Ba Lan, và trong một vòng tròn có bánh xe Enigma.

Ý nghĩa của việc phá mật mã đối với đồng minh

Một số nhà sử học tin rằng vụ hack Enigma là chiến thắng quan trọng nhất của phe Đồng minh trong Thế chiến thứ hai. Sử dụng thông tin mà họ giải mã được từ quân Đức, quân Đồng minh đã có thể ngăn chặn nhiều cuộc tấn công. Nhưng để tránh bị nghi ngờ rằng họ đã tìm ra cách để giải mã các thông điệp, quân Đồng minh phải cho phép một số cuộc tấn công, mặc dù thực tế là họ có đủ kiến thức để ngăn chặn chúng. Điều này được mô tả trong bộ phim "The Imitation Game", phát hành năm 2014.

Mật mã tiếng Đức "Enigma"
Mật mã tiếng Đức "Enigma"

Máy "Enigma": mô tả, linh kiện

Máy Enigma bao gồm một số bộ phận, bao gồm bàn phím, bo mạch, rôto và các mạch điện tử bên trong. Một số trong số chúng có các tính năng bổ sung. Các tin nhắn được mã hóa là một tập hợp các chữ cái biến thành một câu rõ ràng khi được giải mã. Máy Enigma sử dụng một dạng mã hóa thay thế. Mã hóa thay thế là một cách đơn giản để mã hóa tin nhắn, nhưng những mã như vậy khá dễ bị phá. Nhưng cỗ máy Enigma được thiết kế để cánh quạt phù hợp tiến lênmột vị trí ngay sau khi nhấn phím enter. Do đó, quá trình mã hóa các chữ cái thực sự bắt đầu trong khi các rôto ở vị trí trước AAA. Thường thì vị trí này là AAZ.

Mật mã Enigma hoạt động như thế nào

Một ví dụ đơn giản về sơ đồ mã hóa thay thế là mật mã Caesar. Nó bao gồm việc thay đổi vị trí của mỗi chữ cái trong bảng chữ cái. Ví dụ, khi bị dịch chuyển 3 vị trí, chữ A sẽ thay cho chữ G. Nhưng chắc chắn mật mã máy Enigma mạnh hơn nhiều so với mật mã Caesar đơn giản. Họ sử dụng một dạng mật mã thay thế, nhưng mỗi khi một chữ cái được so khớp với một chữ cái khác, toàn bộ sơ đồ mã hóa lại thay đổi. Các biến thể của mật mã Enigma - trong ảnh bên dưới.

Mật mã Enigma hoạt động như thế nào?
Mật mã Enigma hoạt động như thế nào?

Sau khi nhấn mỗi nút, các rôto di chuyển và hướng dòng điện theo một đường khác tới một chữ cái đang mở khác. Do đó, đối với lần gõ phím đầu tiên, một mã hóa được tạo ra và đối với lần nhấn phím thứ hai, một mã hóa khác. Điều này làm tăng đáng kể số lượng các tùy chọn mã hóa có thể có, bởi vì mỗi khi nhấn một phím trên máy Enigma, các rôto sẽ quay và mã sẽ thay đổi.

Nguyên lý của cỗ máy Bí ẩn

Khi nhấn một phím trên bàn phím, một hoặc nhiều rôto sẽ di chuyển để tạo thành cấu hình rôto mới sẽ mã hóa một ký tự này thành một ký tự khác. Dòng điện chạy qua máy và một đèn trên bảng đèn sáng lên để chỉ ra chữ cái đầu ra. Ví dụ về mật mã Enigma trông như thế này: nếu phím P được nhấn và máy Enigma mã hóa chữ cái này thành A, bậtbảng điều khiển đèn sẽ sáng A. Mỗi tháng, các nhà điều hành Enigma nhận được sách mã cho biết cài đặt nào sẽ được sử dụng mỗi ngày.

Mật mã "Enigma" ảnh
Mật mã "Enigma" ảnh

Lược đồ mã hóa

Mạch tương tự như một bảng vá điện thoại kiểu cũ có mười dây, mỗi dây có hai đầu có thể cắm vào giắc cắm. Mỗi dây cắm có thể ghép hai chữ cái bằng cách nối một đầu dây với một rãnh chữ cái và đầu dây kia với chữ cái kia. Hai chữ cái trong cặp sẽ hoán đổi với nhau, vì vậy nếu B được kết nối với G, G sẽ trở thành B và B trở thành G. Điều này cung cấp thêm một lớp mã hóa cho quân đội.

Mã hóa tin nhắn

Mỗi rôto máy có 2626 số hoặc chữ cái. Máy Enigma có thể sử dụng ba rôto cùng một lúc, nhưng chúng có thể được thay đổi từ năm bộ, dẫn đến hàng nghìn cấu hình khả thi. "Chìa khóa" của mật mã Enigma bao gồm một số yếu tố: các rôto và thứ tự của chúng, vị trí ban đầu của chúng và sơ đồ dịch chuyển. Giả sử rằng các rôto chuyển động từ trái sang phải và ký tự A được mã hóa, thì khi ký tự A được mã hóa, mỗi rôto sẽ ở vị trí ban đầu của nó - AAA. Khi các rôto di chuyển từ trái sang phải, nhân vật A sẽ đi qua cánh quạt thứ ba trước. Mỗi rôto thực hiện một hoạt động thay thế. Do đó, sau khi ký tự A đi qua cánh quạt thứ ba, nó sẽ xuất hiện với tên B. Bây giờ, ký tự B được nhập vào rôto thứ hai, nơi nó được thay thế bằng J và trong chữ J đầu tiên được đổi thành Z. Sau khi mật mã Enigma đi quaqua tất cả các rôto, nó đi đến bộ làm lệch hướng và trải qua một sự thay thế đơn giản khác.

Cách thức hoạt động của mật mã
Cách thức hoạt động của mật mã

Phím giải mã tin nhắn

Sau khi thoát ra khỏi gương phản xạ, thông báo được gửi qua các cánh quạt theo hướng ngược lại, có áp dụng thay thế ngược lại. Sau đó, ký hiệu A sẽ chuyển thành U. Mỗi rôto, trên vành, có một bảng chữ cái, vì vậy người điều khiển có thể thiết lập một trình tự nhất định. Ví dụ: người vận hành có thể xoay rôto đầu tiên để hiển thị D, xoay rôto thứ hai để hiển thị K và xoay rãnh thứ ba để hiển thị P. Với bộ ba số hoặc chữ cái ban đầu được hiển thị trên máy của người gửi khi anh ta bắt đầu nhập tin nhắn, người nhận có thể giải mã nó bằng cách đặt máy Enigma giống hệt của nó về cài đặt người gửi ban đầu.

Máy mật mã "Enigma"
Máy mật mã "Enigma"

Nhược điểm của phương pháp mã hóa Enigma

Nhược điểm chính của mật mã Enigma là bức thư không bao giờ có thể được mã hóa như nó vốn có. Nói cách khác, A sẽ không bao giờ được mã hóa thành A. Đây là một lỗ hổng lớn trong mã Enigma vì nó cung cấp một phần thông tin có thể được sử dụng để giải mã các thông điệp. Nếu người giải mã có thể đoán từ hoặc cụm từ có khả năng xuất hiện trong tin nhắn, thông tin này sẽ giúp họ giải mã. Vì người Đức luôn gửi tin nhắn thời tiết vào đầu và thường bao gồm một cụm từ với lời chào truyền thống của họ ở cuối tin nhắn, các cụm từ được tìm thấy là gần đúngbộ giải mã để làm sáng tỏ.

Alan Turing và xe của Gordon Welchman

Alan Turing và Gordon Welchman đã phát triển một cỗ máy tên là Bombe sử dụng mạch điện để giải mã một thông điệp được mã hóa Enigma trong vòng chưa đầy 20 phút. Máy Bombe đã cố gắng xác định cài đặt rôto và mạch máy Enigma được sử dụng để gửi một thông điệp được mã hóa nhất định. Xe Bombe tiêu chuẩn của Anh về cơ bản là 36 xe Enigma được liên kết với nhau. Vì vậy, cô ấy đã mô hình hóa nhiều cỗ máy Enigma cùng một lúc.

Bombe trông như thế nào

Hầu hết các máy Enigma đều có ba rôto, và mỗi máy mô phỏng Enigma ở Bombe có ba trống, một trống cho mỗi rôto. Các trống của Bombe được mã hóa màu sắc để phù hợp với cánh quạt mà chúng đang mô phỏng. Các trống được sắp xếp để trên cùng của ba chiếc mô phỏng cánh quạt bên trái của Enigma, chiếc giữa mô phỏng cánh quạt ở giữa và phần dưới mô phỏng cánh quạt bên phải. Đối với mỗi vòng quay hoàn chỉnh của cuộn trên, trục giữa được tăng thêm một vị trí, điều tương tự cũng xảy ra với trục giữa và cuộn dưới, nâng tổng số vị trí của máy Enigma 3 rôto lên 17.576 vị trí.

2 zł mật mã Enigma
2 zł mật mã Enigma

Công việc giải mã

Đối với mỗi cấu hình rôto, tại mỗi vòng quay của trống, máy Bombe đưa ra một giả định về thiết lập mạch, chẳng hạn như A được kết nối với Z. Nếu giả thiết này là sai, máy sẽ từ chối nó và không sử dụng nó một lần nữa, và không dành thời gian kiểm trabất kỳ trong số này sau này. Máy Bombe đã dịch chuyển các vị trí của rôto và chọn một suy đoán mới và lặp lại quá trình này cho đến khi một sự sắp xếp cài đặt thỏa đáng xuất hiện. Nếu máy "đoán" rằng A được kết nối với Z, thì nó sẽ hiểu rằng B phải được kết nối với E, v.v. Nếu quá trình kiểm tra không dẫn đến mâu thuẫn, máy sẽ dừng và bộ giải mã sẽ sử dụng cấu hình đã chọn làm chìa khóa cho thông báo.

Đề xuất: