Bombe Turning - Cỗ máy hủy diệt Enigma | Cha tổ của máy tính điện tử

Toán Thú Vị
29 người theo dõi
75 Lượt xem video·27 thg 6, 2025
Ở video trước, chúng ta đã nghiên cứu về kỳ quan về mặt kỹ thuật trong những năm chiến tranh thế giới thứ 2, ELECMA.
Và bây giờ, chúng ta sẽ tìm hiểu đến cỗ máy đã giải má ELECMA này.
Đó chính là bomby do Alan Turning chế tạo ra.
Chúng ta biết rằng cấu tạo bàn phím của ELECMA là công tác 2 tiếp điểm.
Khi nhấn, nó sẽ kết nối với cực dương của pin để đi qua hệ thống sáo trộn.
Còn khi không nhấn, nó sẽ kết nối tới bóng đèn của đúng phím đó.
Ví dụ như ấn E sẵn thì bóng đèn T sáng.
Tức là dọng điện đi qua công tác chữ T đến bóng đèn T.
Còn ở bóng đèn E, công tác đã ngắt kết nối tới bóng đèn E.
Điều này cho chúng ta biết rằng trong máy ELECMA không có chữ cái nào được chuyển đổi thành chính nó.
Nếu ấn E thì đèn E sẽ không thể sáng, ấn T thì đèn T không thể sáng.
Vì vậy đây là điểm yếu đầu tiên của ELECMA để giúp các nhà toán học tìm ra cách bẻ khoa nó.
Giả sử các nhân viên nghe nén nghe được đoạn mã này,
và vì họ nghe được nó lúc 6 giờ sáng, nên người ta hy vọng nó sẽ mã hóa cho dự báo thời tiết trong nành và hin em môn năm.
Bây giờ làm sao để khớp tin nhắn bị nghe nén và tin nhắn khách hàng nhận được?
Vài điểm yếu đầu tiên của ELECMA mà chúng ta nhắc tới ở trên sẽ giúp thực hiện điều này.
Hãy căn chỉnh thông điệp của khách hàng ngay đầu tin nhắn bị nghe nén.
Cặp chữ cái đầu tiên ngụy ý rằng W được mã hóa thành W,
nhưng do không thể có chữ cái nào được chuyển đổi thành chính nó nên sự căn chỉnh này không đúng.
Hãy trượt tin nhắn sang một ký tự.
Cặp chữ A ở đây là không đúng, nên ta tiếp tục trượt tiếp.
Ta cần tìm hai đoạn tương ứng không có cặp ký tự nào chủng nhau.
Chúng ta đã tìm ra đoạn mã không có cặp ký tự nào chủng nhau.
Đây được gọi là cũi mà Alan Turning đã dùng để kiểm tra.
Hãy trượt hết để kiểm tra nó, để điều xem có thêm cũi nào hay không.
Có vẻ như chúng ta chỉ có một cũi trong trường hợp này.
Giờ hãy dựa vào cũi này để tìm hiểu cách máy bôm bi hoạt động,
sử dụng cái cũi đó để giải má Elon Musk.
Hãy nhắc lại một chút về cách mã hóa một ký tự của Elon Musk.
Khi ấn một phím bất kỳ, dòng điện được kết nối truyền qua bảng phích cắm,
đến rô tô 1, rô tô 2, rô tô 3, rồi quay lại rô tô 3, rô tô 2, rô tô 1,
tới bảng phích cắm, rồi tới bóng đèn.
Trong chuỗi này, từ rô tô 1 lại đến rô tô 1.
Nó chỉ phụ thuộc vào vị trí của rô tô, hay nói cách khác,
những chuyển đổi này là hàm số của vị trí của rô tô.
Giả sử vị trí rô tô ban đầu là X,
thì VKF được chuyển thành O tại X0-1.
Do mỗi lần ấn phím, rô tô sẽ quay một bước.
Tương tự E thành T tại X0-2, A thành H tại X0-3.
Cứ tiếp tục như vậy.
Mục tiêu của máy bôm bi là tìm ra X và tìm các cài đặt bảng cắm.
Giờ hãy xem bôm bi được thiết kế như thế nào để đạt được những mục tiêu này.
Để đơn giản, chúng ta hãy lấy một ví dụ đơn giản về một cái cũi là ADD,
và được chuyển đổi thành CCA.
Hãy đơn giản cộ máy của chúng ta chỉ trong 6 ký tự là ABCDEF,
và ta có được bảng thu gọn như thế này.
Việc chuyển đổi lôi ban đầu của chúng ta được thể hiện bằng cách sử dụng 3 máy ELECMA như minh họa.
Điểm khác biệt giữa 3 máy này chỉ là vị trí rô tô,
A thành C tại X0-1,
D thành C tại X0-2,
D thành A tại X0-3.
Chúng ta cần tìm vị trí rô tô và cài đặt bảng cắm trong tất cả các chuyển đổi này xảy ra.
Đây là phương pháp tìm kiếm thủ công.
Chúng ta bắt đầu với cài đặt rô tô là X0-1-1-1.
Bảng phích cắm là AD.
Mỗi máy có vị trí rô tô cách nhau một bước.
3 người dùng sẽ cùng ấn các phím mã đồng thời với nhau,
để có được kết quả là CCA.
Trường hợp hiện tại đang là ADD, được chuyển thành EBC.
Nên các cài đặt này sai, chúng ta phải thử các cài đặt khác.
Cứ tiếp tục.
Ở vị trí rô tô 2-5-2,
và bảng cài đặt phích cắm là AC,
chúng ta đã có đúng mã đầu ra.
Và đây đúng là những gì mà chúng ta cần tìm kiếm về cài đặt ban đầu của Eligma.
Nhưng việc làm thủ công này là vô cùng tốn thời gian.
Đối với cô máy Eligma với 26 ký tự,
thì để thử gần 159 nhân với 10 mũ 18 là một điều không thể.
Do đó, Alan Turning muốn tạo ra một cô máy có thể tự tìm được các cài đặt phù hợp,
và theo cách hiệu quả hơn nhiều,
đó là BOMBY.
Chúng ta hãy tìm hiểu chuyên lý thiết kế của BOMBY.
Hãy bắt đầu với BOMBY rô tô.
Chúng ta vẫn đang xem xét chỉ với 6 ký tự thay vì hay 6 ký tự như thực tế.
Đây là cấu tạo của rô tô Eligma.
Dây màu vàng là nguồn vào,
còn các dây màu xanh là nguồn ra.
Nếu ta cấp điện cho dây đầu tiên,
thì nó sẽ hoạt động thông qua tất cả các rô tô và quay lại để tạo thành đầu ra là B.
Các rô tô BOMBY ở đây dựa trên các rô tô của Eligma.
Về cơ bản, chúng tách đường quay trở lại của điện app và nấy đầu ra từ bộ dây riêng biệt.
Chúng ta có 2 rô tô giống hẹt nhau theo từng cặp.
Nếu chúng ta đưa ra một đầu vào,
nó sẽ đi qua tất cả các rô tô và quay lại để tạo ra là B.
Điểm khác biệt duy nhất giữa rô tô Eligma và rô tô BOMBY
là đầu vào và đầu ra tương ứng với một bộ dây riêng biệt.
Chúng tương đương về mặt cấu trúc điện với nhau.
Nếu rô tô Eligma chuyển A thành B, thì rô tô BOMBY cũng vậy.
Nhưng để phân biệt các rô tô trên đường quay về,
hãy đổi cho chúng thành màu khác nhau.
Và để đơn giản hơn, hãy biểu diễn 6 dây chỉ bằng 1 dây như minh họa ở đây.
Do các rô tô giống hẹt nhau,
nên ta có thể gắn chúng chung trên cùng một trục như thế này.
Nó chính xác là rô tô mà Adam Tunning đã tạo ra.
Bây giờ chúng ta sẽ đến với một khái điểm rất quan trọng
để giải thích các hoạt động của BOMBY,
đó là mạch rô tô tương đương.
Chúng ta hãy đặt vị trí các rô tô ở vị trí 111.
Khi đưa đầu vào là A,
điện sẽ đi qua tất cả các rô tô để tạo đầu ra là B,
nên ta có thể vẽ một đường kết nối A với B trong mạch rô tô tương đương cho vị trí rô tô này.
Nếu ta lấy B nằm đầu vào,
thì sau khi đi qua các rô tô để tạo ra đầu ra là A,
và ta lại có thể vẽ một đường nối B với A.
Nếu ta lấy C nằm đầu vào,
thì nó cho ra F.
Ta lại lối C với F.
Và tương tự ta có thể hoàn thành mạch rô tô tương đương cho các chữ cái còn lại.
Chúng ta hãy xoay rô tô thêm một bước.
Mạch rô tô tương đương sẽ thay đổi hoàn toàn,
vì các kết nối điện của rô tô thay đổi khi vị trí của rô tô thay đổi.
Nên giờ hãy xây dựng mạch điện cho máy bom B.
Các chuyển đổi rô tô của Eligma trong sơ đồ này
có thể được thay thế bằng rô tô bom B như hình minh họa ở trên.
Đối với bảng phích cắm, ta có 6 kết nối có thể.
Nếu bảng phích cắm A không được kết nối với bảng phích cắm nào khác,
thì A sẽ đi đến A,
là kết nối với dây đầu tiên.
Nếu bảng phích cắm nối A với B,
thì nó được nối đến dây thứ 2 của rô tô, tương ứng với B.
Tương tự như vậy, phần còn lại của các khả năng A được chuyển thành C, D, E, F.
Chúng ta cần tìm ra khả năng nào trong số những khả năng này thực sự đúng.
Nhưng hiện tại tất cả đều có khả năng xảy ra như nhau.
Nên ta hãy giữ tất cả các dây nằm đại diện cho bảng cắm.
Mỗi dây ở đây là một giả thiết hoặc một phỏng đoán
cho chữ cây A được kết nối với chữ cây nào đó trên bảng phích cắm.
Chỉ có một trong các khả năng ở đây là đúng,
và không thể kết nối A với nhiều chữ cây trên bảng phích cắm của Eligma.
Tương tự như vậy, ta còn 6 dây giả thiết cho chữ C.
Nếu ta thay thế các rô tô bằng mạch rô tô tương đương của nó theo vị trí rô tô này,
mạch này dùng để chuyển đổi từ A sang C,
và chúng ta có thể vẽ các mạch tương tự cho phần còn lại của củi.
Đặt X bằng 1, 6, 2 là vị trí rô tô Bombi đang thử nghiệm là khả thi.
Đây sẽ là 3 mạch dựa trên củi.
Các rô tô trong các chuyển đổi này được đặt cách nhau một vị trí.
Nhiều ý, các mạch rô tô tương đương là khác nhau đối với mỗi mạch chuyển đổi này.
Và các mạch này có mối liên hệ với nhau.
D và D ở đây, C với C ở đây, và A với A ở đây.
Sắp xếp các kết nối mạch này chúng ta có được mạch như sau.
Để kiểm tra xem vị trí hiện tại của X bằng 1, 6, 2 xem có phải là giải pháp đúng hay không,
chúng ta đặt điện app vào 1 trong các dây.
Trong trường hợp này, dòng điện đi qua tất cả các dây được kết nối.
Hãy xem một dây cắp bất kỳ, nó không thể được kết nối cùng một nút trên bảng phích cắm với tất cả các dây còn lại,
nên trường hợp X bằng 1, 6, 2 là không đúng.
Nên chúng ta cần thử vị trí rô tô ở các vị trí tiếp theo.
Vị trí tiếp theo sẽ là X bằng 2, 5, 2.
Mạch rô tô tương đương thay đổi.
Thử điện app vào 1 trong các dây.
Trong trường hợp này, điện app không đi qua tất cả các dây.
Chỉ có một dây mang điện app, nên đây chính là giải pháp đúng.
Vì vậy, Bombi đã xác định được giải pháp cho rô tô ở đây chính là 2, 5, 2.
Và cài đặt bảng phích cắm là A kết nối với C, C với A.
Và D không kết nối với bảng nào khác.
Khi này, Bombi sẽ ngưng chạy và kiểm tra các vị trí rô tô tiếp theo.
Đây chính là nguyên tắc cơ bản hoạt động của Bombi.
Ta biết rằng máy Enigma được sử dụng để mã hóa, và chính nó cũng được sử dụng để giải mã.
Như vậy, việc chuyển đổi A thành C ở một vị trí rô tô cụ thể,
thì C cũng chuyển đổi thành A ở vị trí rô tô như vậy.
Và đây chính là điểm yếu thứ 2 của Enigma.
Vì điểm yếu này, chúng ta có thể tạo thành một vòng lặp như hình,
và xây dựng một mạch tương đương với vòng lặp này.
Để máy Bombi hoạt động được, chúng ta cần tìm vòng lặp trong cũi giống như cái mà chúng ta có ở đây.
Chỉ có vòng lặp là hữu ích trong việc giải mã bí ẩn bằng máy Bombi.
Như vậy, việc máy Bombi giải mã được Enigma sẽ gồm 3 bước chính.
Một là xác định vòng lặp trong cũi đã cho.
Hai, kết nối các rô tô Bombi theo vòng lặp.
Ba, đặt điện app đến một trong các dây trong vòng lặp và chạy rô tô cho đến khi tìm thấy dây độc lập.
Hãy đi vào cụ thể.
Một, tìm vòng lặp trong cũi.
Đây là cũi mà chúng ta đã có ban đầu.
Hãy thể hiện chúng theo cách khác nhau như thế này.
Một vòng tròn 26 chữ cái.
Ta sẽ kết nối các cặp ký tự tương ứng với nhau.
Chúng là quan hệ 2 chiều.
Trong số các kết nối này, chúng ta cần tìm và chọn ra các kết nối tạo thành các vòng lặp ở đây.
Đó là E, I, N.
Tương tự, chúng ta có thể đánh dấu tất cả các vòng lặp còn lại.
Các kết nối màu xanh na cây là những kết nối được quan tâm vì chúng đang hình thành các vòng lặp,
còn các đường màu trắng không tạo ra các vòng lặp.
Chúng ta hãy sắp xếp lại mạch để có thể xác định rõ ràng các vòng lặp.
Đánh dấu lại các vòng lặp theo vị trí của chúng so với vị trí rô tô ban đầu.
Lưu ý, ta có 2 lần xuất hiện của việc chiến đối từ R sang A,
nên nó sẽ mang lại cho ta một vòng lặp bổ sung.
Giờ chúng ta đã xác minh được tất cả các vòng lặp và các kết nối tương ứng.
Vậy là hoàn thành bước 1.
Đến bước 2.
Kết nối các rô tô của Bombi theo các vòng lặp.
Cấu trúc rô tô của ELECMA là như thế này.
Đầu vào và đầu ra được lấy ra từ cùng 26 dây.
Rô tô của Bombi khác với rô tô của ELECMA ở chỗ này.
Rô tô của Bombi có 26 bộ dây riêng biệt cho đầu vào và đầu ra.
Sự khác biệt này là do chúng ta cần kết nối các rô tô này thiết nập với các vòng lặp.
Nếu không có sự thay đổi này, chúng ta không thể kết nối các rô tô trong vòng lặp.
Và đây là hình dạng rô tô trên máy Bombi.
Hãy xem bên trong nó.
Một rô tô rất giống với rô tô trong ELECMA với 26 đầu vào và 26 đầu ra.
Ánh sạ giữa đầu vào và đầu ra phụ thuộc vào vị trí rô tô.
Hay lấy một rô tô khác tương tự.
Nếu chúng ta kết hợp rô tô này trên cùng một trục, chúng ta sẽ có một rô tô của Bombi.
Nên một rô tô Bombi được tạo thành bằng cách sử dụng 2 rô tô ELECMA giống hẻt nhau.
Chúng quay cùng nhau và có cùng vị trí rô tô tại bất kỳ thời điểm nào.
Để đơn giản, hãy biểu diễn 26 giây chỉ bằng 1 giây duy nhất.
Và ta có được rô tô 2, rô tô 3.
Sau đó kết nối vòng lặp giống như ELECMA.
Điều này hoàn thành một bộ rô tô Bombi.
Nhưng máy Bombi có tới 12 bộ rô tô.
Điều này để cài đặt các vị trí rô tô khác nhau.
Ví dụ những bộ rô tô này cài đặt ở vị trí 1-1-1 sẽ bằng A-A-A bằng X.
Bộ rô tô thứ 2 sẽ được cài đặt ở X-1.
Bộ rô tô thứ 3 sẽ được cài đặt ở X-2.
Ta có thể đưa nó vào mạch vòng như đã đề cập ở phía trước.
Và nó có thể được hình thành bởi bộ rô tô Bombi như thế này.
Nên bây giờ chúng ta biết làm thế nào mà rô tô Bombi có thể kết nối với nhau để tạo thành các vòng lặp.
Giờ là đến lúc máy Bombi thực hiện.
Nó có tổng cộng 12 bộ rô tô.
Bộ rô tô đầu tiên có viền màu vàng riêng biệt để chỉ giải pháp về vị trí của rô tô.
Nó không kết nối với bất kỳ rô tô nào khác.
Tam giác màu vàng nhỏ này để đọc vị trí hiện tại của rô tô.
Và tất cả các rô tô ban đầu là như vậy.
Giờ chúng ta phải đặt vị trí rô tô cho các bộ rô tô này.
Và kết nối theo các vòng lặp mà chúng ta đã tìm thấy trong cũi.
Trên thực tế người ta sẽ làm việc này bằng cách xoay vật ní các rô tô.
Và kết nối các bó cap ở phía sau máy.
Nhưng ở đây chúng ta sẽ làm việc này bằng cách nhập liệu.
Đây là cài đặt 12 bộ rô tô và kết nối tương ứng của chúng.
Và chúng ta có thể theo dõi điện app trên mỗi 26 giây trong gói cap cho tất cả các chữ cái.
Hiện tại điều này đang hiển tị 26 giây cho bộ cap trong chữ A.
Tất cả hiện có màu xám và chưa có điện app vào.
Giờ nhập các kết nối cho rô tô bằng các vòng lặp chúng ta đã tìm thấy trước đó.
EVT ở vị trí số 2.
EVN ở vị trí số 6.
RVA ở vị trí số 7.
Tương tự cho đến hết.
Xong, tất cả các rô tô đã xoay theo số bước mà chúng ta đã cài đặt.
Chúng ta bắt đầu chạy máy bombi ở vị trí 111.
Chúng ta hãy nhìn vào các sợi dây trong bó cap cho chữ A.
Tất cả đều mang điện app.
Cap chữ E cũng vậy.
Và giống nhau cho các chữ còn lại.
Bombi đang tìm vị trí rô tô tới có thể tìm thấy một dây đầu đập mang điện app.
Khi nó xảy ra, máy sẽ ngừng lại.
Và đây là kết quả.
Bộ rô tô đầu tiên đã chỉ là CEA.
Biểu thị 3, 5, 1.
Và đó là cài đặt của Enigma.
Và cùng xem các dây cap.
Với cap chữ Y chỉ có dây cap chữ O sáng.
Như vậy Y được kết nối với O trong bảng phi cấm.
Và A đối với E.
Tương tự, ta có thể kiểm tra tất cả các cap chữ cái khác.
Và đó là toàn bộ cài đặt của Enigma mà Bombi đã tìm thấy.
Cảm ơn các bạn đã theo dõi.
Hãy để lại những chia sẻ phía dưới và đăng ký kênh để cập nhật các video hấp dẫn.
