Tuần này khoa toán có một buổi nói chuyện đặc biệt. Khách mời là David Saltman, giám đốc của một trong ba trung tâm nghiên cứu của IDA (Institute for Defence Analysis), một dạng CIA công nghê của chính phủ. Bác Saltman ngày xưa làm tiến sĩ toán tại Yale, và đi dậy học một thời gian khá dài. Trong một ngày đẹp trời, tinh thần ái quốc nổi lên, bác đầu quân cho IDA. Thật ra ở IDA các chuyên viên cũng làm toán, nhưng làm toán gì thì cóc được nói ra ngoài. Cũng như ca sĩ sáng tác nhạc chỉ được hát cho nhau nghe.
Vì không được nói cái bác đang làm, bác nói về cái ngừoi khác làm. Cụ thể là chương trình giải mã Enigma.
Enigma quá nổi tiếng, nó là máy mã hoá của Đức trong thế chiến thứ hai. Để buổi nói chuyện thêm xôm, bác S. đem đến một máy Enigma xịn, tài sản của IDA, nặng như cùm. Quá trình giải mã Enigma bạn chắc đã xem qua bộ phim The Immitation Game gần đây, với anh Benedict Cumberbatch đẹp giai và cô Keira Knightley eo thon. Phim kể về công trình của Alan Turing, nhà toán học lừng lẫy người Anh, và nhóm của anh, đã phá mã Enigma thành công. Theo giới sử học Anh-Mỹ, công trình này đã giúp kết thúc chiến tranh sớm hai năm, và tránh được cái chết cho hàng triệu người.
Chỉ có điều, Turing không phải người đầu tiên làm được điều đó.
Chuyện của Saltman hướng về một nhóm nhà toán học người Balan, dẫn đầu bởi Marian Rejewski, đã phá mã Enigma thành công từ những năm 30s, 10 năm trước nhóm của Tủring. Đã có những giai đoạn nhóm này có thể đọc được 75% các trao đổi của quân đôi Đức, đáng tiếc công trình của họ không giúp cho quân đội Balan, với trang bị kém hơn hẳn và phải thụ địch từ cả hai phía, tránh khỏi thảm bại. Lịch sử, dĩ nhiên được viết bởi nước thắng cuộc.
Trong quá trình giải mã, Rejewski và đồng đội có một số ý tưởng rất thông minh. Một ví dụ là mật mã sau:
TYUE MHJU STKJ ITHY QURE XCDF ZSAI NHJM KOPH XCVB BFYT ĐHIU QPOK ÁZXD MING
CTUO OKPO ẺKGU VBGI HINU NHHJ SDAW QECU EKMH JPOY TVFG SEEG VGUI MFDX
Quá trình mã hoá dựa trên các hoán vị của 26 chữ cái. Cái hiểm hóc của Enigma là mỗi lần bấm một chữ cái mới trong bản tin cần chuyển, máy sẽ mã hoá chữ này bằng một hoán vị mới. Chẳng hạn thông tin (nhậy cảm) BEO, sẽ được mã hoá thành p(B) q(E) r(O), trong đó p,q,r là ba hoán vị khác nhau do máy Enigma tự làm ra vào thời điểm gõ chữ.
Tất nhiên, vì sinh ra bởi máy, các hoán vị P,Q,R không phải ngẫu nhiên. Một đặc điểm của Enigma, do cơ chế cơ khí của nó, là tất cả các hoán vị do nó sinh ra gồm các cập chữ đảo cho nhau, chẳng hạn nếu p(B)= G, thì p(G)= B, q(E)= A thì q(A)= E, r(O)= Y thì r(Y)= O vv. Vì vậy không có chữ nào được hoán vị với chính nó. Bạn có thể thấy trong mật mã trên không có chữ L nào. Điều đó cho thấy khả năng rất cao là đoạn văn chưa mã hoá gồm toàn chữ L (dĩ nhiên do nhân viên điện đài gõ chơi để thử máy). Đoạn văn này chả có nội dung gì, nhưng một khi biết cả đoạn chưa mã hoá và đoạn đã mã hoá, thì khả năng đoán được mã là khá cao.
Các hoán vị của Enigma được thay đổi hàng ngày, bằng cách quay 3 trục trên máy. Các trục sẽ đứng vào một tổ hợp cố định trong ngày. (Trong thực tế tổ hợp này là 3 số, tôi sẽ dùng các chữ cái cho dễ diễn đạt.) Chẳng hạn các trục được xét ở vị trí RU-AB-AT thì trong ngày hôm đó máy sẽ mã hoá một kiểu, nếu hôm sau trục để theo vị trí khác, như DO-NC-ON, máy sẽ mã hoá theo kiểu khác. Trong phim The Immitation Game, nhóm của Turing phải giải mã từng ngày, tức là họ tìm cách đoántổ hợp trục của ngày hôm đó, có ngày tìm được, có ngày không. Nhưng Keira thì hôm nào cũng xinh.
Trong một thời gian dài, nhóm toán học Balan đoán rất thành công tổ hợp này. Thành công này, trớ trêu, được tạo nên bởi sự cẩn thận của người Đức. Các anh Đức, để tăng thêm phần khó cho đối phương, quyết định là mỗi thông tin gửi đi phải được dùng một tổ hợp trục khác nhau. Tổ hợp này được gửi ở đầu đoạn văn, nhân viên mật mã đọc nó ra bằng tổ hợp của ngày, sau đó chỉnh máy vào tổ hợp trục mới để giải mã, giải xong lại quay máy lại vào tổ hợp của ngày như cũ. Hiển nhiên đây là một tầng bảo mật mới.
Vấn đề ở chỗ, để cho chắc ăn, người Đức gửi tổ hợp trục mới hai lần ở đầu đoạn văn, đề phòng khi thông tin bị nhiễu (cũng như khi để số ĐT cho ai đó trên băng ghi âm, bạn nhắc lại hai lần). Thông điệp gửi đi sẽ trông thế này
LA-UN-HA LA-UN-HA HOM NAY THONG CHE ĐAU BUNG.
Dĩ nhiên, người Balan không nhìn thấy thông điệp này, họ chỉ bắt đươc bản mã hoá thôi.
TI-PU-CV CG-ON-DF LKJ NHU TTYDF GIO LPY BGTI
Cái mà họ biết, là 12 chữ cái đầu tiên là mã hoá hai lần liền của cùng một tổ hợp. Nếu các hoán vị Enigma đã dùng là p_1, p_2,p_3……., thì có nghĩa là p_1(T)= p_7 (c), p_2 (I)= p_8 (G) vv. Nhờ thông tin này, và một số kiến thức về sự vận hành của máy, và tất nhiên, một phần may mắn, họ tìm ra được tổ hợp của ngày, và qua đó đọc hết các trao đổi của đối phương ngày hôm đó. Đáng khâm phục hơn, khác với nhóm Turing, nhóm này không có một máy Enigma nào của quân đội Đức. (Họ biết nguyên lý hoạt động của máy và có thể có một Enigma cũ hơn; Enigma được dùng vào mục đích dân sự từ những năm 1920.)
Các ý tưởng của nhóm Balan được Turing và đồng đội sử dụng và phát triển khá nhiều. Chính phủ Balan bất bình vì trong bộ phim The Immitation Game (và nhiều tư liệu khác), chiến công của nhóm Rejewsky chỉ được nhắc rất qua loa. (Trong phim IG chỉ có một câu thoại nhắc đến họ.) Balan đang có một phong trào lobby cho việc đề cao công lao của nhóm này.
Về con số 2 năm và mấy triệu người, mình đoán các sử gia ngây ngất men chiến thắng cũng hơi nói quá lên một chút. (Tổng số thiệt hại của Anh trong cả cuộc chiến là 450.000 người; của Mỹ còn ít hơn một chút.) Không nhớ có chiến dịch hay trận đánh lớn nào mà việc giải mã qua Enigma có vai trò bản lề ? Một số nhận định cho thấy vai trò việc giải mã quan trọng nhất trong việc đánh đắm một số lớn tàu chở nguyên liệu của đối phương. Rommel phải chịu thất bại và rút khỏi Bắc Phi một phần vì xe tăng hết xăng.
Còn cái máy Enigma, đúng là đồ nồi đồng cối đá của Đức, sau hơn 60 năm vẫn hoạt động một cách rất ổn, bấm đâu chạy đấy.