Cuốn Sách Mật Mã

The Code Book: The Science of Secrecy from Ancient Egypt to ...

The Code Book (1999), Simon Singh

Cuốn sách mật mã (1999) nói về lịch sử dài và bí ẩn của các phương thức giao tiếp bí mật. Phần tóm tắt này sẽ đưa bạn từ Hy Lạp cổ tới Cơ quan an ninh quốc gia Mỹ, với nhiều câu chuyện về sự khéo léo, quyết tâm và thủ đoạn lừa đảo.

Cuốn sách này dành cho:

  • Những người hứng thú với mật mã, bí mật và lịch sử thế giới;
  • Những người yêu thích những câu chuyện tình báo thời chiến;
  • Những nhà ngôn ngữ và toán học.

Về tác giả:

Simon Singh có bằng Tiến sĩ ở trường đại học Cambridge. Ông là tác giả của cuốn sách bán chạy Bài toán Fermat và chỉ đạo sản xuất phim tài liệu dành nhiều giải thưởng mang tên Lí thuyết cuối cùng của Fermat.

Cuốn sách này có gì dành cho tôi? Tìm hiểu sự phát triển của mật thư

Khi bạn còn nhỏ, bạn đã bao giờ nghĩ ra một loại mật mã để trao đổi bí mật với bạn thân chưa? Tin nhắn bí mật có gì đó hết sức lôi cuốn, khiến cho con người sử dụng nó hàng thiên niên kỉ trước.

Mật mã được những người có quyền lực hoặc những người muốn tìm kiếm quyền lực sử dụng. Mật mã là phương tiện thực hiện các âm mưu và mưu đồ, có khả năng thay đổi lịch sử, quyết định quốc gia nào sẽ thắng trận hoặc ai sẽ được sống, ai phải chết, ai trở thành vua hay ai phải vào tù. 

Phần tóm tắt này sẽ giới thiệu một vài sự kiện quan trọng trước thế thế kỉ 20 và thời kì các nhà giải mã thay đổi thế trận Thế chiến thứ 2. Bạn sẽ tìm hiểu về sự phức tạp của mã hóa và cách mật mã được công nghệ thông tin hỗ trợ.

Trong phần tóm tắt này, bạn sẽ khám phá:

  • Cách để mã hóa các kí tự bí mật, bảo vệ không để đồng nghiệp hay người thân đọc được;
  • Vì sao một mật mã bình thường có thể ảnh hưởng nghiêm trọng tới Nữ hoàng Mary của Scotland;
  • Lí do chính phủ sẽ nỗ lực không để người dân biết được phương thức mã hóa tân tiến nhất.

Mật mã xuất hiện sớm và phát triển nhanh trong lịch sử nhân loại

Mặc dù mật mã có vẻ tân tiến nhưng hình thức mật mã che giấu thông điệp sớm nhất xuất hiện từ thế kỉ V trước Công nguyên. Hy Lạp vào lúc đó đối mặt với nỗi lo bị Persia xâm chiếm và nhận ra tầm quan trọng của hình thức giao tiếp bí mật.

Kết quả là mật mã – một lĩnh vực nghiên cứu đồng thời hai hướng ra đời: đảo vị trí và thay thế. Đảo vị trí là cách sắp xếp lại thứ tự kí tự trong từ hoặc trong câu để tạo ra mật mã – một phương thức viết bí mật. Ví dụ phương thức mã hóa hàng rào xe lửa, một phương thức đảo vị trí nổi tiếng, thay đổi kí tự trong thông điệp theo hình zigzag giữa hai dòng liên tiếp.

Phương thức còn lại, thay thế là hệ thống chữ cái dùng để thay thế cho chữ cái khác. Ví dụ, A=V, B=X v.v. cho tới khi tất cả các kí tự của bảng chữ cái đều có chữ thay thế, tạo nên một bảng chữ cái mã hóa. Vì cách này tạo một bảng chữ cái thay thế bảng chữ cái gốc nên người ta gọi nó là mã hóa đơn kí tự.

Ví dụ, hình thức thay thế đơn giản nhất có tên là Mã hóa thay đổi Caesar, được Julius Caesar hay sử dụng. Quy chế hoạt động bằng cách dịch chuyển bảng chữ cái chuẩn sang một số lượng chữ nhất định. Ví dụ, nếu dịch 3 vị trí thì chúng ta sẽ có A=D, B=E, C=F v.v.

Tuy nhiên, sau một thời gian dài sử dụng cách này để che mắt đối thủ thì cuối cùng một bảng chữ cái mã hóa từ khóa được sáng tạo nên, thay đổi mã hóa đơn kí tự. Cách mã hóa này tương đồng với cách của Caesar trừ việc bảng chữ cái bắt đầu bằng một từ khóa hoặc cụm từ nào đó, sau đó đến một điểm sẽ dùng bảng chữ cái bình thường đã loại các kí tự có trong từ khóa ra.

Ví dụ, nếu “Caesar” là từ khóa, bảng chữ cái nên bắt đầu là CAESRBDFGHIJK… Vậy, A=C, B=A, C=E, D=S, v.v.

Cái chết của nữ hoàng Scotland Mary tạo nên tiến triển trong ngành mã hóa

Dù mật mã đã xuất hiện từ sớm nhưng bị hóa giải bởi các nhà phân tích mật mã, những người tạo ra các chiến thuật để giải mã. Trong đó nổi bật là nhà phân tích mật mã Ả Rập sống trong thời kì năm 750 sau Công nguyên, người đã phát minh ra một công cụ giải mã hiệu quả: Phân tích tần suất, được sử dụng để giải mã chữ cái đơn.

Mỗi ngôn ngữ viết đều dùng một số kí tự và từ nhiều hơn những kí tự và từ khác, và phương pháp phân tích tần suất được thiết kế để nhận diện những kí tự trong thông điệp được mã hóa theo kiểu đơn chữ cái, sử dụng các kí tự phổ biến.

Ví dụ, trong tiếng Anh viết, những chữ cái được sử dụng nhiều nhất là E, T, A, O, N, S và R. Với một bức thông điệp mã hóa là “piuub gkulvwpev!, nhà phân tích sẽ dùng những chữ cái phổ biến để thay thế các kí tự lặp lại trong mật mã – “pERRb gkRlSTpAS!”. Đến đây thì mọi chuyện đã dễ dàng.

Vì thế, khi người giải mã càng giỏi thì công nghệ mã hóa cũng phải phát triển theo. Nhưng giữa thiên niên kỉ thứ 2 và thiên niên kỉ thứ 5, chỉ diễn ra những thay đổi nhỏ như việc hình thành code – một công cụ mã hóa thay thế cả từ hoặc cụm từ với biểu tượng. Ví dụ, nomenclature là một bảng chữ cái mã hóa sử dụng mã (code). Không may là cách này không an toàn, đã gây ra cái chết của một nhân vật hoàng gia nên các nhà mã hóa mới nhận ra nhu cầu thay đổi.

Vào ngày 02/08/1587, Nữ hoàng Mary của Scotland bị xử tử sau khi bị phán xử và kết tội âm mưu giết hại chị gái, nữ hoàng Elizabeth. Mặc dù Mary từ chối nhận tội, bà không biết rằng thư từ của bà – được mã hóa dưới dạng bảng đơn chữ cái nomenclature đã bị giải mã cho nữ hoàng Elizabeth đọc.

Vào thời đó, các nhà phân tích mật mã có trình độ vượt xa các nhà mã hóa, vì vậy, cần những phương thức mã hóa mới. Kể cả người hoàng gia còn bị các nhà giải mã xử lí thì có còn ai an toàn?

Vào thế kỉ XVI, một phương thức mã hóa mới xuất hiện, từng được tin là không thể bị phá giải.

Phân tích tần suất thách thức độ bảo mật của các mã chữ cái đơn. Vào thế kỉ XVI, một người Pháp tên Blaise de Vigenère đã sáng tạo ra kĩ thuật mã hóa sử dụng 26 chữ cái khác nhau trong một tin nhắn – nói cách khác là mã hóa đa chữ cái.

Mã của Vigenère xuất hiện năm 1586 có tên “Le Chiffre Indéchiffrable”, hay mã không thể giải. Mã có quy luật sau: Đầu tiên, tạo một hình vuông Vigenère và từ mã hóa. Hình vuông này có 26 dòng, mỗi dòng có một chữ cái mã hóa lệch một vị trí so với hàng trên nó. Ví dụ, nếu hàng đầu tiên BCDEF, hàng thứ hai là CDEFG v.v.

Từ mã hóa được dùng để ám chỉ bảng chữ cái bạn đang dùng. Ví dụ, với từ WHITE, bạn có thể lập mã sử dụng 5 bảng chữ cái khác nhau. Bởi vì chữ cái đầu tiên sẽ tương ứng với bảng chữ cái thứ 22 bắt đầu với chữ cái W; chữ cái thứ 2 tương ứng với bảng chữ cái thứ 7, bắt đầu với chữ cái H, v.v.

Nhưng mã này vẫn chưa phải là an toàn nhất, mã này không thực dụng, vẫn có thể bị giải mã, quá phức tạp và tốn thời gian; trong khi thông tin trong quân đội cần nhanh chóng và đơn giản. Mật mã phổ biến trong thế kỉ 17 hay được vua Louis XIV sử dụng thực ra là mật mã đơn chữ cái được cải tiến, sử dụng thêm số và âm tiết thay vào chữ cái.

Thực ra, vào thế kỉ XVIII khi thông tin điện tín trở nên phổ biến, mật mã Vigenère cũng được sử dụng nhiều hơn. Việc người đọc thư tín phải đọc tin nhắn thành lời rõ ràng là một sự giảm thiểu tính bảo mật.

Vì thế, nhà phân tích mật mã người Anh Charles Babbage phát hiện ra rằng thậm chí khi sử dụng nhiều bảng chữ cái thì vẫn có các dấu hiệu và sự lặp lại trong mật mã đa chữ cái ám chỉ độ dài từ khóa, từ đó dẫn tới khả năng giải mã.

Bạn đã biết được vai trò của mật mã trong lịch sử, bây giờ hãy quay về những vấn đề cơ bản để tìm hiểu mối quan hệ giữa mã hóa và ngôn ngữ.

Các nhà phân tích mật mã có vai trò quan trọng trong việc giải mã ngôn ngữ Ai Cập và Hy Lạp cổ.

Bạn có biết quân đội Mỹ từng có ý tưởng sử dụng người Navajos gốc Mỹ làm người điều hành radio trong thế chiến thứ II không? Bởi vì ngôn ngữ của người Navajos không thể bị giải mã khi không có văn bản viết nào ghi lại loại ngôn ngữ này. Tuy nhiên đây không phải lần đầu tiên một ngôn ngữ ít người biết được sử dụng trong mã hóa.  

Phiến đá Rosetta, được khai quật năm 1798, có thông điệp bằng 3 ngôn ngữ: tiếng Hy Lạp, tiếng Ai Cập cổ và chữ tượng hình chưa từng thấy trước đây. Thiên tài ngôn ngữ tiếng Anh ngay lập tức giải mã ngôn ngữ tượng hình này.

Sử dụng bản dịch tiếng Hy Lạp, ông đã tiến hành và giải mã một phần thông điệp trong đó có từ cartouches – bao quanh dòng chữ tượng hình – tượng trưng cho tên “Ptolemy,” một vị vua Ai Cập và “Bernika,” vợ của ông ta.

Nhờ phát hiện này, nhà ngôn ngữ học người Pháp Jean-François Champollion tiếp tục nghiên cứu phiến đá, tìm ra cartouches của Cleopatra and Alexander. Hai cái tên này đã giúp Champollion giải mã loại chữ tượng hình và công bố kết quả nghiên cứu của ông vào năm 1824.

Nhưng nếu ngôn ngữ này là một nhiệm vụ thú vị thì ngôn ngữ Linear B lại là một nhiệm vụ khó khăn hơn nhiều.

Năm 1900, các bảng đất sét từ năm 1375 sau Công nguyên được tìm thấy trên đảo Crete, dấy lên tranh cãi về loại ngôn ngữ được dùng trên bảng đất sét lâu đời nhất. Các nhà phân tích mật mã gọi đó là Linear B, và không ai có thể giải được ngôn ngữ kì bí đó. Cho đến những năm 1940, kiến trúc sư người Anh Michael Ventris bắt đầu liên kết các biểu tượng với các địa điểm Hy Lạp nổi tiếng.  

Ventris bắt đầu nhận diện được các địa điểm đầu mối vận chuyển như Knossos và Tylissos, dần giúp ông giải mã được loại ngôn ngữ này. Các học giả hoàn toàn bất ngờ khi Ventris công bố Linear B thực chất là một phiên bản cổ của tiếng Hy Lạp, và phát hiện của ông được xem là “Ngọn Everest của Khảo cổ Hy Lạp”.

Vì thế, mối liên quan giữa mã hóa và ngôn ngữ không ai có thể bác bỏ, nhưng ảnh hưởng của mã hóa với các sự kiện của thế giới thì không thể xem nhẹ. Trong Thế chiến thứ II, mã hóa lại một lần nữa quyết định dòng chảy lịch sử.

Chiến tranh tạo nên tiến bộ trong ngành mật mã

Việc phát minh ra radio và nhu cầu bảo mật do hai Thế chiến đặt ra đã khiến việc tìm ra một phương thức giao tiếp bí mật trở nên hết sức quan trọng. Vì thế, trong Thế chiến thứ I, quân đội Mỹ bắt đầu xây dựng một hệ thống mã gần như không thể giải được tên là Mã đệm một-lần.

Mã này được xem như “mật mã thần thành”, là biến thể của hệ thống Vigenère. Mã sử dụng hai cuốn sách giống nhau, một cuốn do người gửi giữ và cuốn còn lại do người nhận giữ. Mỗi trang của cuốn sách là một mật mã 24 chữ cái độc nhất ngẫu nhiên. Sau khi người gửi dùng mã ngẫu nhiên này để truyền tải thông điệp, hai bên hủy trang sách đã dùng, đồng nghĩa với việc mỗi mã chỉ sử dụng một lần.

Mặc dù mã này được chứng minh trên toán học là không thể giải được nhưng nó cũng thiếu thực tế. Quân đội gửi hàng trăm tin nhắn mỗi ngày, nên việc tạo tin nhắn hoàn toàn ngẫu nhiên không hề dễ dàng.

Thêm vào đó, việc phải thay đổi sách thường xuyên cũng là một vấn đề. Cho nên, cần một hệ thống khác, và sau khi máy Enigma ra đời, việc mã hóa đã được tự động hóa.

Năm 1918, nhà phát minh người Đức Arthur Scherbius đã tìm ra cách mới để tạo ra mật mã bằng cách sử dụng một thiết bị máy móc tên là Enigma. Máy bao gồm một bàn phím, các đĩa mã hóa và một màn hình hiển thị. Người dùng đánh một chữ cái và các đĩa mã hóa sẽ quyết định chữ cái nào xuất hiện trên màn hình.

Mặc dù Scherbius chật vật bán phát minh này trong thời bình sau Thế chiến thứ I thì trong những năm trước Thế chiến thứ II, nhu cầu của quân đội Đức tăng lên và đã sử dụng 30,000 máy Enigma. Quy mô của hệ thống máy móc này đã tạo nên một trình độ mã hóa chưa từng thấy trước đây, và Enigma được xem là không thể đánh bại.

Giải mã Enigma là một thách thức lớn giúp thay đổi thế trận Thế chiến thứ II

Năm 1926, người Anh theo dõi người Đức kĩ càng khi họ bắt đầu sử dụng các loại mật mã lạ. Đây là thành quả của máy Enigma, đã khiến cho các nhà giải mã của Phe Đồng minh phải đau đầu. Nhưng trớ trêu thay, chính phương pháp người Đức phát minh ra để tăng tính bảo mật lại khiến Enigma bị lộ khuyết điểm. 

Mã chính giúp người Đức thực hiện công việc liên lạc. Một mã sẽ dùng cho hoạt động liên lạc hàng ngày, còn các tin nhắn khác sẽ bắt đầu bằng một mã mới nhằm giải được chính tin nhắn đó. Để tránh xảy ra lỗi, người gửi sẽ lặp lại mã của tin nhắn hai lần – một cụm 3 chữ cái chỉ dẫn cách cài đặt đĩa mã hóa.

Nhà phân tích mã toán học người Ba Lan đã sử dụng sự lặp lại này để nghiên cứu đoạn mã 3 chữ cái của tất cả tin nhắn nước này nhận được. Trong vòng một năm, ông đã thu thập được tập hợp tất cả các cài đặt đĩa mã hóa Enigma có thể tạo ra –tổng cộng là 105,456 cách cài đặt.

Vì thế, mã tin nhắn trở thành điểm đặc trưng làm lộ mã hàng ngày và cách vận hành của Enigma.

Tuy nhiên, nếu không có Alan Turing và đội ngũ giải mã ở Bletchley Park thì Thế chiến có thể phải kéo dài hơn. Quân Đồng minh đã phát hiện ra cách mà đối thủ lặp lại một mã tin nhắn và Alan Turing được giao nhiệm vụ tìm một cách khác để giải mã.

Turing, cũng như Rejewski, tiến hành giải mã tin nhắn cũ để tìm ra cấu trúc đặc trưng. Ví dụ, mỗi buổi sáng, người Đức sẽ phát một bản tin dự báo thời tiết. Nghiên cứu kĩ sẽ phát hiện ra từ mã hóa cho từ “thời tiết”.

Nhưng tài năng của Turing thể hiện ở cách ông chuyển hóa quá trình giải mã của Rejewski thành quá trình máy móc tự động cho tới khi Enigmas tự động phân tích ra mã hóa. Thành quả của Turing và đồng đội đã giúp Quân Đồng minh biết trước các cuộc đột kích đánh bom, và thậm chí là chi tiết về vụ tấn công của người Đức đã dàn sẵn cho Quân Đồng minh tại Normandy. Chiến công của họ đã giúp rút ngắn thời gian cuộc chiến và giảm thiểu thương vong.

Enigma đánh dấu một giai đoạn mới trong sự phát triển của ngành mật mã, nhưng sự phát triển vẫn còn tiếp diễn. Tiếp theo, chúng ta sẽ tìm hiểu cách ngành mật mã hiện đại đã và đang phát triển như thế nào.

Sự phát triển của máy tính cá nhân tạo ra những phương thức mã hóa và hình thức an ninh mới.

Enigma và sự kiện giải mã Enigma đã làm sáng tỏ một điều: máy tính là tương lai của ngành mật mã. Sự thương mại hóa máy tính cá nhân đã tạo ra nhiều dạng thức liên lạc an toàn. Sự phổ biến của máy tính trong giới kinh doanh vào những năm 1960 đã đặt ra nhu cầu về một phương thức an ninh mới cho các giao dịch tài chính và đàm phán thương mại.

Thành quả là hệ thống Lucifer của IBM, đây là một hệ thống có thể chuyển các tin nhắn viết tay thành mã nhị phân, phân nó thành 64 nhóm và xáo trộn 16 lần theo một mã cho sẵn. Năm 1976, Lucifer được NSA công nhận là Tiêu chuẩn mã hóa dữ liệu, gọi tắt là DES. 

Nhưng vẫn chưa có phương pháp tạo mã nào tối ưu hơn. Để đạt được mục tiêu đó, ba nhà mật mã, Whitfield Diffie, Martin Hellman và Ralph Merkle cùng nhau tìm cách giúp con người trao đổi tin nhắn mã hóa từ xa một cách an toàn.

Trước đó, người ta cho rằng người nhận cần có mã giải của người gửi để đọc được tin nhắn đã mã hóa. Vì vậy, trừ phi họ có thể trực tiếp gặp nhau thì mã giải phải được trao đổi qua thư, dẫn tới nguy cơ bị lộ lọt thông tin.

Tuy nhiên, ba nhà mật mã này đã tìm ra được một cách khác: Trao đổi mã Diffie-Hellman-Merkle, đó là phương thức trao đổi mã như sau: Khi nhận được tin nhắn mã hóa, người nhận sử dụng mã của mình để mã hóa. Sau đó, tin nhắn được mã hóa hai lần sẽ được gửi lại người gửi để xóa lớp mã hóa của người gửi, sau đó gửi lại người nhận. Bây giờ người nhận có thể dễ dàng giải mã vì đây chỉ là lớp mã của anh ta.

Nhưng luôn luôn cần có sự đổi mới, vào năm 1977, ba nhà khoa học ở MIT đã tạo ra mã RSA, sử dụng thêm các mã an toàn dựa trên các số nguyên tố. Những mã khóa này đặc biệt an toàn vì không có phép toán đơn giản nào tính được số nguyên tố; vì thế đây một phép tính rất mất thời gian. Ví dụ, giải quyết các số nhỏ như 21 với 2 số nguyên tố là 3 và 7, thì những số lớn hơn cần nhiều thời gian hơn.

Tương lai của ngành mật mã phụ thuộc vào máy tính – và phát triển chính trị.  

Cỗ máy Enigma đã thay đổi cục diện ngành mật mã, và kể từ đó, ngành mật mã đã thay đổi từ bản chất dựa trên ngôn ngữ sang dựa trên toán học. Trên thực tế, giờ đây vật lí có thể nắm giữ tương lai của ngành mật mã bởi vì ngành này đã đạt được mục tiêu vượt mặt được các nhà phân tích mật mã.

Bằng cách nào? Thông qua sự an toàn của mã DES và RSA.

Ngày nay, kể cả NSA, đơn vị đã kiểm soát được độ phức tạp của mã DES cũng không thể theo kịp lượng dữ liệu được giải phá để chạy phép tính tìm số nguyên tố. Điều này có nghĩa rằng cách duy nhất để giải các mã này cần đến một tiến bộ đột phá trong công nghệ và lí thuyết học.

Nhưng chúng ta có thể trông chờ vào công nghệ máy tính lượng tử. Cách hợp lí nhất để giải các loại mã hiện đại là chạy nhiều phép tính đồng thời. Làm như vậy mới có thể giúp các nhà giải mã làm được việc đáng lẽ mất 17 năm chỉ trong vòng mấy phút.

Vậy công nghệ máy tính lượng tử hoạt động như thế nào?

Người ta chạy trên qubits, đơn vị định lượng tương đương với mã nhị phân của máy tính. Nhưng trong máy tính định lượng, các phân tử xoay vòng sẽ thay thế cho số 1 và 0 của mã nhị phân. Mỗi qubit có thể hoạt động độc lập, có nghĩa rằng 250 qubit có thể chạy được 1075 phép tính đồng thời.

Nhưng các nhà mật mã đã nhận ra khả năng này và đang nghiên cứu để đánh bại nó. Trên thực tế, vật lí lượng tử có thể đã tìm ra những cách mới để tạo được những mật mã và mã giải an toàn hơn. 

Ví dụ, các nhà vật lí học đã thành công trong việc gửi photons – một phân tử lượng tử của ánh sáng, qua khoảng cách dài bằng cáp sợi thị giác. Ngoài ra, các photon có thể được sắp xếp theo thứ tự để tạo ra các mã giải hoàn toàn ngẫu nhiên dùng cho bảng an toàn dùng một lần và có thể nhận dạng các nỗ lực xâm nhập của bên thứ ba.

Công nghệ này có thể mang lại các mật mã siêu an toàn; đến nỗi các chính phủ sẽ cấm công dân và tội phạm sử dụng các mã này.

Tóm tắt

Thông điệp chính trong cuốn sách:

Hàng trăm năm nay, quân đội và chính phủ các nước trên thế giới đã sử dụng thông điệp mã hóa để giành chiến thắng trong các cuộc chiến tranh và giấu bí mật; trong khi đó, các nhà giải mã vẫn đang cố gắng giải các mã một cách hiệu quả hơn. Nhưng khi mã hóa đã trải qua lịch sử lâu năm, thời hiện đại và công nghệ máy tính đã thay đổi cả mã hóa lẫn giải mã thông tin.

Gợi ý đọc thêm

A Mind for Numbers, Barbara Oakley