Lịch sử Quân sự Việt Nam
Tin tức: Lịch sử quân sự Việt Nam
 
*
Chào Khách. Bạn có thể đăng nhập hoặc đăng ký. 28 Tháng Ba, 2024, 10:04:06 pm


Đăng nhập với Tên truy nhập, Mật khẩu và thời gian tự động thoát


Trang: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 »   Xuống
  In  
Tác giả Chủ đề: Mật Mã - Từ cổ điển đến lượng tử  (Đọc 14467 lần)
0 Thành viên và 1 Khách đang xem chủ đề.
Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #60 vào lúc: 19 Tháng Năm, 2020, 06:43:51 pm »


        BÁU VẬT CỦA KHOA HỌC MẬT MÃ

        Cuộc Chiến tranh Thế giới Thứ nhất đã chứng kiến một loạt chiến thắng của các nhà giải mã, kết thúc là việc giải mã bức điện Zimmermann. Kể từ khi hóa giải được mật mã Vigenère vào thế kỷ 19, các nhà giải mã vẫn ở trên thế thượng phong so với các nhà tạo mã. Vì vậy, cho đến khi kết thúc chiến tranh, khi các nhà tạo mã đang trong tình trạng cực kỳ tuyệt vọng, thì các nhà khoa học Mỹ đã có một đột phá đáng kinh ngạc. Họ khám phá ra rằng mật mã Vigenère có thể được sử dụng làm cơ sở cho một dạng mật mã mới, khó vượt qua hơn. Thực tế, mật mã mới này có thể đem lại độ an toàn tuyệt đối.

        Điểm yếu căn bản của mật mã Vigenère là bản chất quay vòng của nó. Nếu từ khóa có năm chữ cái thì mỗi chữ cái thứ năm trong văn bản thường lại được mã hóa theo cùng một bảng chữ cái mật mã. Nếu người giải mã có thể xác định được số chữ cái trong từ khóa mã thì văn bản mật mã có thể được xử lý như là một tập hợp của năm mật mã dùng một bảng chữ cái, và mỗi mật mã có thể được hóa giải bằng phương pháp phân tích tần suất. Tuy nhiên, hãy thử xem điều gì sẽ xảy ra nếu từ khóa mã có nhiều chữ cái hơn.

        Hãy tưởng tượng một văn bản thường gồm 1.000 chữ cái được mã hóa theo mật mã Vigenère, và chúng ta đang thử giải bản mật mã đó. Nếu từ khóa mã được sử dụng để mã hóa chỉ có năm chữ cái, thì bước cuối cùng của việc giải mã là áp dụng phương pháp phân tích tần suất đối với năm nhóm, mỗi nhóm chứa 200 chữ cái và việc này thật dễ dàng. Nhưng nếu từ khóa mã gồm 20 chữ cái, thì bước cuối cùng là áp dụng phương pháp phân tích tần suất đối với 20 nhóm, mỗi nhóm chứa 50 chữ cái, việc này đã khó hơn một cách đáng kể. Và nếu từ khóa mã có 1000 chữ cái thì bạn phải phân tích tần suất của 1000 nhóm, mỗi nhóm chứa 1 chữ cái, và điều này thì hoàn toàn không thể thực hiện được. Nói cách khác, nếu từ khóa mã (hay cụm từ khóa mã) có số chữ cái bằng với văn bản thường thì kỹ thuật giải mã của Babbage và Kasiski sẽ trở nên vô dụng.

        Sử dụng một từ khóa mã có độ dài bằng với văn bản thì càng tốt nhưng điều này đòi hỏi người mã hóa phải tạo được một từ khóa mã thật dài. Nếu văn bản gồm hàng trăm chữ cái thì khóa mã cũng cần có đến hàng trăm chữ cái. Thay vì chọn ngẫu nhiên để tạo ra khóa mã, ta có thể thử lấy, chẳng hạn, lời một bài hát. Hoặc người mã hóa lấy từ một cuốn sách viết về nhận dạng chim và tạo khóa mã bằng cách chọn tên các loại chim một cách ngẫu nhiên. Tuy nhiên, những khóa mã như vậy vẫn còn những sơ hở rất cơ bản.

        Trong ví dụ dưới đây, tôi mã hóa một câu bằng mật mã Vigenère với cụm từ khóa mã được sử dụng có độ dài bằng với câu gốc. Tất cả các kỹ thuật giải mã mà tôi trình bày ở trên đều thất bại. Tuy nhiên, câu này vẫn có thể giải mã được.
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #61 vào lúc: 20 Tháng Năm, 2020, 08:36:17 pm »


        Hệ thống giải mã mới bắt đầu bằng việc giả định rằng văn bản mật mã có chứa các từ thường gặp, như the, chẳng hạn. Sau đó, chúng ta đặt một cách ngẫu nhiên từ the ở những vị trí khác nhau trong văn bản thường, như trình bày dưới đây và tìm ra các chữ cái trong từ khóa mã cần để chuyển the thành các chữ cái tương ứng trong văn bản mật mã. Chẳng hạn, nếu chúng ta giả định rằng the là từ đầu tiên trong văn bản thường, thì có thể suy ra điều gì về ba chữ cái đầu tiên của từ khóa mã? Chữ cái đầu tiên trong từ khóa mã sẽ mã hóa t thành V. Để tìm ra chữ cái đầu tiên trong từ khóa mã, chúng ta sử dụng hình vuông Vigenère, nhìn vào cột bắt đầu bằng chữ t cho đến khi thấy V, rồi tìm chữ chữ cái bắt đầu của dòng chứa chữ V đó, ta sẽ tìm được chữ cái đó là c. Lặp lại quá trình này với he được mã hóa thành HR tương ứng, và cuối cùng chúng ta tìm được ba chữ cái đầu tiên của từ khóa mã là CAN. Tất cả có được là nhờ ta đã giả định the là từ đầu tiên trong văn bản thường. Đặt the vào một số vị trí khác và một lần nữa, lại tìm được các chữ cái tương ứng trong từ khóa mã (Bạn có thể kiểm tra mối quan hệ giữa mỗi chữ cái trong văn bản thường và văn bản mật mã bằng cách tham khảo hình vuông Vigenère ở bảng 9)
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #62 vào lúc: 20 Tháng Năm, 2020, 08:39:08 pm »

     
        Chúng ta thử đặt ba từ the vào ba chỗ ngẫu nhiên của văn bản mật mã, và có được ba nhóm chữ cái giả định ở những phần nhất định của từ khóa mã. Vậy làm thế nào biết được từ the nào ở vị trí đúng? Chúng ta đoán rằng từ khóa mã chứa các từ có nghĩa và đó là điểm lợi thế cho chúng ta. Nếu một từ the ở vị trí sai thì có thể sẽ cho kết quả là tập hợp ngẫu nhiên các chữ cái trong từ khóa mã. Tuy nhiên, nếu nó ở vị trí đúng thì các chữ cái trong từ khóa mã sẽ tạo nên một nghĩa nào đó. Chẳng hạn, chữ the đầu tiên cho các chữ cái trong từ khóa mã là CAN, điều này thật đáng khích lệ, vì đây là một âm tiết tiếng Anh hoàn toàn hợp lý. Như vậy, có thể từ the này ở vị trí đúng. Từ the thứ hai cho nhóm chữ cái BSJ, là một tập hợp quá đặc biệt của các phụ âm, cho thấy từ the thứ hai này có thể không đúng. Từ the thứ ba cho các chữ cái YPT, một âm tiết không bình thường nhưng cũng đáng để nghiên cứu tiếp. Nếu YPT thực sự là một phần cấu tạo nên từ khóa mã thì nó có thể thuộc một từ dài hơn, mà chỉ có thể là các khả năng APOCALYPTIC, CRYPT và EGYPT, và các từ phái sinh của các từ này. Làm thế nào chúng ta xác định được từ nào trong số các từ trên là thuộc từ khóa mã? Chúng ta có thể kiểm tra thử mỗi khả năng bằng cách chèn ba ứng viên trên vào từ khóa mã, bên trên đoạn thích hợp của văn bản mật mã và tìm ra các chữ cái tương ứng trong văn bản thường: Khóa mã
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #63 vào lúc: 20 Tháng Năm, 2020, 08:42:23 pm »


        Nếu từ được thử không thuộc từ khóa mã thì nó có thể sẽ cho kết quả là một nhóm các chữ cái vô nghĩa trong văn bản thường, nhưng nếu nó thuộc từ khóa mã thì các chữ cái trong văn bản thường phải tạo nên các từ có nghĩa. Với APOCALYPTIC thì kết quả là nhóm các chữ cái đó là cực kỳ vô nghĩa. Với CRYPT, kết quả là cithe, cũng không phải là một nhóm từ không thể chấp nhận được. Tuy nhiên, nếu EGYPT thuộc từ khóa mã thì nó cho nhóm chữ cái atthe, một sự kết hợp các chữ cái có vẻ hứa hẹn hơn, có thể đó là các từ at the.

        Đến đây, chúng ta hãy giả sử rằng khả năng chắc chắn nhất là EGYPT thuộc từ khóa mã. Có lẽ khóa mã ở đây là một danh sách tên các nước. Điều này gợi ý rằng CAN, nhóm chữ cái thuộc khóa mã tương ứng với chữ the đầu tiên, có thể là các chữ cái bắt đầu của từ CANADA. Chúng ta có thể thử giả định này bằng cách tìm thêm các chữ cái của văn bản thường dựa trên từ giả định CANADAEGYPT thuộc khóa mã:
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #64 vào lúc: 20 Tháng Năm, 2020, 08:47:21 pm »


        Giả định của chúng ta có vẻ hợp lý. CANADA cho ta các chữ cái bắt đầu của văn bản thường là themee, có lẽ là the meeting. Giờ thì chúng ta tìm ra thêm được một số chữ cái nữa của văn bản thường, đó là ting, từ đó suy ra các chữ cái tương ứng trong khóa mã, đó là BRAZ. Chắc chắn đây là các chữ cái bắt đầu của từ BRAZIL. Sử dụng tập hợp các từ CANADABRAZILEGYPT, chúng ta có được phần giải mã sau: the meeting is at the?Huh.

        Để tìm từ cuối cùng trong văn bản thường, địa điểm của cuộc gặp (the meeting), phương cách tốt nhất là hoàn tất từ khóa mã bằng cách thử tên của tất cả các quốc gia có thể và suy ra các chữ cái còn lại của văn bản thường. Chỉ có một khả năng hợp lý khi nhóm chữ cái cuối cùng của từ khóa mã là CUBA:
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #65 vào lúc: 20 Tháng Năm, 2020, 08:55:48 pm »

       
        Như vậy, một khóa mã có số chữ cái bằng với văn bản chưa chắc đã đảm bảo đủ an toàn. Sự không an toàn trong ví dụ nêu trên nảy sinh vì (cụm) từ khóa mã được cấu tạo bởi các từ có nghĩa. Chúng ta bắt đầu bằng việc chèn ngẫu nhiên các từ the vào văn bản thường rồi tìm các chữ cái tương ứng trong từ khóa mã. Chúng ta có thể nói khi nào từ the được đặt vào vị trí đúng vì các chữ cái trong từ khóa mã dường như là một phần của những từ có nghĩa. Sau đó, chúng ta sử dụng những đoạn chữ cái đó để tìm ra toàn bộ các từ trong khóa mã. Đến lượt các từ này lại giúp chúng ta tìm ra thêm các đoạn chữ cái khác trong văn bản thường, nhờ đó chúng ta có thể mở rộng thêm ra các từ khác và cứ tiếp tục như vậy. Toàn bộ quá trình tới lui giữa văn bản thường và khóa mã này chỉ có thể thực hiện được khi từ khóa mã có một cấu trúc rõ ràng và gồm những từ có thể nhận ra. Tuy nhiên, năm 1918, các nhà mật mã đã bắt đầu thử nghiệm với các khóa mã không có cấu trúc nào cả. Và kết quả là thu được một mật mã không thể phá nổi.

        Khi Thế chiến Thứ nhất đã gần đến hồi kết, Thiếu tá Joseph Mauborgne, giám đốc Viện Nghiên cứu Mật mã của quân đội Mỹ, đã đưa ra khái niệm về khóa mã ngẫu nhiên - nó không chứa một dãy các từ nào có thể nhận biết được mà chỉ là một dãy các chữ cái ngẫu nhiên. Ồng đã ủng hộ việc áp dụng những khóa mã ngẫu nhiên này như một bộ phận của mật mã Vigenère để đạt được mức độ an toàn chưa từng có trước đó. Bước đầu tiên trong hệ thống của Mauborgne là soạn ra một quyển sổ tay dày, bao gồm hàng trăm trang, mỗi trang mang một khóa mã duy nhất dưới hình thức là hàng dãy các chữ cái được lựa chọn ngẫu nhiên. Quyển sổ tay này sẽ có hai bản, một cho người gửi và một cho người nhận. Để mã hóa một văn bản, người gửi sẽ sử dụng mật mã Vigenère với trang đầu tiên trong sổ tay làm khóa mã. hình 30 trình bày ba trang từ một quyển sổ tay như vậy (trong thực tế mỗi trang chứa hàng trăm chữ cái), và phía dưới là một văn bản được mã hóa bằng cách sử dụng khóa mã ngẫu nhiên ở trang 1. Người nhận có thể dễ dàng giải mã bằng việc sử dụng đúng khóa mã đó và đảo ngược mật mã Vigenère. Một khi văn bản mật mã đó đã được gửi đi, nhận và giải mã xong, người gửi và người nhận sẽ hủy trang đã sử dụng làm khóa mã, do vậy nó sẽ không bao giờ được sử dụng lại nữa. Khi văn bản tiếp theo được mã hóa, thì khóa mã ngẫu nhiên tiếp theo trong sổ tay được sử dụng và cuối cùng cũng bị hủy, và cứ tiếp tục như vậy. Vì mỗi khóa mã chỉ được sử dụng một lần và chỉ một lần duy nhất, nên hệ thống này còn được gọi là mật mã sổ tay dùng một lần.

        Mật mã sổ tay dùng một lần khắc phục được tất cả các điểm yếu trước đây. Hãy thử tưởng tượng thông báo attack the valley at dawn (tấn công thung lũng vào lúc bình minh) được mã hóa như ở Hình 30, rồi gửi qua máy phát vô tuyến và bị kẻ thù chặn bắt được. Bản mật mã được chuyển tới cho các nhà giải mã. Chướng ngại đầu tiên đó là, theo định nghĩa, không có sự lặp lại nào trong khóa mã ngẫu nhiên, do vậy phương pháp của Babbage và Kasiski không thể nào phá được mật mã này. Một cách khác, các nhà giải mã đối phương có thể thử đặt từ the vào một số vị trí và tìm các chữ cái tương ứng của khóa mã, như chúng ta đã làm với đoạn văn bản trước. Nếu nhà giải mã đặt the vào đầu câu, mà như vậy là sai, thì những chữ cái tương ứng trong khóa mã sẽ là WXB, chỉ là dãy ngẫu nhiên các chữ cái mà thôi. Nếu nhà giải mã thử đặt the ở vị trí thứ bảy, vô tình là đúng, thì chữ cái trong khóa mã sẽ là QKJ, cũng chỉ là một đoạn chữ cái ngẫu nhiên. Nói cách khác, nhà giải mã không thể biết liệu các từ mình thử đặt vào có đúng vị trí hay không.

        Trong cơn tuyệt vọng, nhà giải mã có thể nghĩ đến phương án thử tất cả các khóa mã có thể. Bản mật mã gồm 21 chữ cái, vì vậy nhà giải mã biết rằng khóa mã sẽ gồm 21 chữ cái. Điều này có nghĩa là cần phải thử 500.000.000.000.000.000.000.000.000.000 khóa mã khả dĩ, mà điều này hoàn toàn vượt quá khả năng của cả máy móc lẫn con người. Tuy nhiên, ngay cả khi nhà giải mã có thể thử hết tất cả các khả năng đi nữa, thì vẫn còn một khó khăn lớn hơn nữa phải vượt qua. Bằng cách kiểm tra tất cả các khóa mã khả dĩ, nhà giải mã chắc chắn sẽ tìm ra bức thư đúng - nhưng đồng thời cũng tìm ra tất cả các bức thư sai. Ví dụ, từ khóa mã dưới đây sử dụng để giải chính bản mật mã trên lại cho một bức thư hoàn toàn khác:
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #66 vào lúc: 21 Tháng Năm, 2020, 06:37:06 am »


        Nếu tất cả các khóa mã khác nhau đều được thử qua thì tất cả các bức thư gồm 21 chữ cái có nghĩa sẽ được tìm thấy và người giải mã sẽ không thể phân biệt được bức thư đúng với số còn lại. Khó khăn này sẽ không nảy sinh nếu từ khóa mã gồm một dãy các từ hoặc là một cụm từ, vì bức thư không đúng sẽ gần như chắc chắn gắn liền với khóa mã không có nghĩa, còn bức thư đúng sẽ ứng với khóa mã có nghĩa.

        Độ an toàn của mật mã sổ tay dùng một lần là hoàn toàn dựa vào tính ngẫu nhiên của khóa mã. Khóa mã sẽ tạo nên tính ngẫu nhiên trong văn bản mật mã và nếu văn bản mật mã là ngẫu nhiên thì nó sẽ không hề có các hình mẫu, không có cấu trúc, tức không có gì để nhà giải mã bấu víu vào. Thực tế, có thể chứng minh bằng toán học rằng không có cửa nào cho người giải mã để giải một bức thư được mã hóa bằng mật mã sổ tay dùng một lần. Nói cách khác, mật mã sổ tay dùng một lần không chỉ được tin là không thể phá nổi, như mật mã Vigenère ở thế kỷ 19, mà thực sự là nó tuyệt đối an toàn. Mật mã sổ tay dùng một lần bảo đảm an toàn tuyệt đối: nó đúng là chiếc ly thánh của khoa mật mã.

        Vậy là cuối cùng, các nhà tạo mã cũng đã tìm ra một hệ thống mật mã không thể phá nổi. Tuy nhiên, sự hoàn hảo của mật mã sổ tay dùng một lần vẫn không kết thúc được vấn đề giữ bí mật: sự thực của vấn đề là ở chỗ nó rất ít khi được sử dụng. Mặc dù về lý thuyết nó rất hoàn hảo, song lại có điểm yếu trong thực tế vì sử dụng mật mã này có hai khó khăn cơ bản. Thứ nhất, có một khó khăn thực tế trong việc soạn ra một số lượng lớn các khóa mã ngẫu nhiên. Trong một ngày, quân đội có thể phải trao đổi hàng trăm bức thư, mỗi bức thư lại bao gồm hàng ngàn ký tự, do vậy các điện báo viên sẽ phải được cung cấp các khóa mã hằng ngày tương đương với hàng triệu các chữ cái được sắp xếp ngẫu nhiên. Cung cấp những chuỗi chữ cái ngẫu nhiên nhiều đến như vậy là một nhiệm vụ cực kỳ khó khăn.

        Một số nhà mã hóa ban đầu cho rằng họ có thể tạo ra số lượng lớn các khóa mã ngẫu nhiên bằng cách đánh máy chữ một cách ngẫu nhiên. Tuy nhiên, mỗi lần thử, người đánh máy đều có xu hướng theo thói quen đánh máy một ký tự bằng tay trái rồi đến một ký tự bằng tay phải và như vậy là có sự luân chuyển giữa hai bên. Đây có thể là một cách tạo ra khóa mã một cách nhanh chóng song các dãy chữ cái lại có cấu trúc và không còn là ngẫu nhiên nữa - nếu người đánh máy đánh chữ cái D, ở bên trái của bàn phím, sau đó chữ cái tiếp theo có thể dự đoán được gần như sẽ là ở bên phải bàn phím. Nếu một khóa mã sổ tay dùng một lần thực sự là ngẫu nhiên thì tiếp theo một chữ cái bên trái bàn phím sẽ là một chữ cái cũng ở bên trái bàn phím với tỷ lệ khoảng gần một nửa.

        Các nhà tạo mã cuối cùng cũng nhận ra rằng phải tốn rất nhiều thời gian, công sức và tiền bạc để tạo một khóa mã ngẫu nhiên. Những khóa mã ngẫu nhiên tốt nhất được tạo bởi những quá trình vật lý tự nhiên, chẳng hạn như sự phóng xạ, được biết là quá trình thực sự ngẫu nhiên. Các nhà tạo mã có thể đặt một mẫu chất phóng xạ trên một cái bàn và ghi sự phóng xạ của nó bằng máy đếm Geiger. Đôi khi sự phóng xạ tiếp nối nhau rất nhanh, đôi khi lại chậm lại - thời gian giữa hai phóng xạ là không thể dự đoán được và mang tính ngẫu nhiên. Các nhà tạo mã sau đó có thể nối một màn hình với máy đếm Geiger, trên đó quay vòng rất nhanh bảng chữ cái với tốc độ cố định, nhưng nó sẽ tạm thời ngưng lại mỗi khi ghi được một phóng xạ. Chữ cái nào lưu trên màn hình sẽ được sử dụng làm chữ cái tiếp theo của khóa mã ngẫu nhiên. Rồi màn hình lại bắt đầu lại, nó quay vòng bảng chữ cái cho đến khi nó dừng lại một cách ngẫu nhiên do có một phóng xạ tiếp theo, chữ cái ngưng lại trên màn hình lại được bổ sung vào khóa mã và cứ tiếp tục như vậy. Sự sắp xếp này sẽ đảm bảo tạo nên một khóa mã thực sự ngẫu nhiên nhưng nó hoàn toàn phi thực tế đối với công việc mã hóa hằng ngày.

        Ngay cả khi bạn có thể tạo ra đủ số khóa mã ngẫu nhiên thì vẫn còn một vấn đề thứ hai, đó là khó khăn trong việc phân phối chúng. Hãy thử hình dung cảnh tượng chiến trường, trong đó có hàng trăm điện báo viên cùng tham gia vào mạng lưới thông tin liên lạc. Trước tiên, mỗi người trong số họ phải có những mật mã sổ tay dùng một lần giống hệt nhau. Tiếp đó, khi những cuốn sổ tay mới được ban hành thì chúng cũng phải được phân phối đồng thời cho tất cả mọi người. Cuối cùng, tất cả phải tuân thủ quy trình để đảm bảo rằng họ sử dụng cùng trang sổ tay một lần vào cùng một thời điểm. Việc sử dụng sổ tay dùng một lần trên diện rộng như thế khiến chiến trường nhan nhản những người đưa và giữ sổ. Hơn nữa, nếu kẻ thù bắt được một bộ khóa mã thì toàn bộ hệ thống liên lạc sẽ bị tổn hại.

        Có thể liều thử cắt giảm việc tạo và phân phối khóa mã bằng cách tái sử dụng các cuốn sổ tay dùng một lần, song đây lại là một sai lầm nghiêm trọng trong việc mã hóa. Tái sử dụng sổ tay một lần sẽ cho phép người phá mã của đối phương giải mã được các thư tín tương đối dễ dàng. Kỹ thuật được sử dụng để giải hai bản mật mã được mã hóa bằng cùng một khóa mã sổ tay dùng một lần sẽ được giải thích ở Phụ Lục G, nhưng hiện thời, điểm quan trọng nhất lúc này đó là không có một cách sử dụng nhanh gọn trong mật mã sổ tay dùng một lần. Người nhận và người gửi phải sử dụng khóa mã mới cho mỗi lần sử dụng.

        Sổ tay dùng một lần trong thực tế chỉ được người ta sử dụng trong những liên lạc tối mật và có thể trang trải được những chi phí cực lớn trong việc tạo ra và phân phối khóa mã. Chẳng hạn, đường dây nóng giữa Tổng thống Nga và Tổng thống Mỹ được an toàn là nhờ sử dụng mật mã sổ tay dùng một lần.

        Những điểm yếu trong thực tế của sổ tay dùng một lần, dù là hoàn hảo về mặt lý thuyết, đồng nghĩa với việc những ý tưởng của Mauborgne khó có thể được sử dụng ở thời điểm nóng bỏng của cuộc chiến. Trước hậu quả của Thế chiến Thứ nhất và toàn bộ sự thất bại của nó về mặt mật mã, cuộc tìm kiếm một hệ thống thực tế hơn để có thể sử dụng trong cuộc xung đột tiếp sau vẫn phải tiếp tục. Thật may mắn cho các nhà tạo mã, không bao lâu sau họ đã có một đột phá quan trọng, một thứ có thể thiết lập lại được sự an toàn trong mạng lưới thông tin liên lạc trên chiến trường. Để tăng sức mạnh cho mật mã của mình, các nhà tạo mã đã buộc phải từ bỏ phương pháp mã hóa bằng giấy bút mà sử dụng công nghệ tiên tiến nhất để mã hóa thông tin.
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #67 vào lúc: 21 Tháng Năm, 2020, 06:42:02 am »


        SỰ PHÁT TRIỂN CỦA MÁY MÃ - TỪ ĐĨA MÃ HÓA ĐẾN MÁY ENIGMA

        Máy mã hóa đầu tiên chính là đĩa mã hóa, được phát minh vào thế kỷ 15 bởi kiến trúc sư người Italia, Leon Alberti, một trong những cha đẻ của mật mã dùng một bảng chữ cái. Ông đặt hai chiếc đĩa bằng đồng, một chiếc nhỏ hơn chiếc kia một chút và khắc bảng chữ cái xung quanh mép của cả hai đĩa. Bằng cách đặt đĩa nhỏ hơn lên trên đĩa lớn hơn và cố định chúng bằng một cái kim, có tác dụng như một trục, ông đã chế tạo ra một thứ tương tự như đĩa mã hóa ở Hình 31. Hai chiếc đĩa có thể quay một cách độc lập nên hai bảng chữ cái sẽ có vị trí tương đối khác nhau và nhờ vậy có thể sử dụng để mã hóa thông tin bằng dịch chuyển Caesar đơn giản. Chẳng hạn, để mã hóa thông tin với dịch chuyển Caesar một vị trí, vị trí của chữ A bên ngoài sẽ ở cạnh chữ B bên trong - đĩa bên ngoài là bảng chữ cái thường còn đĩa bên trong biểu thị bảng chữ cái mật mã. Mỗi chữ cái trong văn bản thường thì nhìn vào đĩa ngoài còn các chữ cái tương ứng trên đĩa bên trong được viết ra chính là của văn bản mật mã. Để mã hóa một bức thư với dịch chuyển Caesar năm vị trí, đơn giản là quay các đĩa sao cho chữ A bên ngoài nằm cạnh chữ F bên trong và sử dụng đĩa mã hóa ở vị trí mới của nó.

        Mặc dù đĩa mã hóa là một thiết bị rất cơ bản song việc mã hóa lại đơn giản và nó đã được sử dụng trong suốt năm thế kỷ. Dạng đĩa mã hóa ở Hình 31 đã được sử dụng trong cuộc nội chiến ở Mỹ. Hình 32 trình bày máy Code-o-Graph, một đĩa mã hóa được sử dụng bởi nhân vật nổi tiếng trong vở Thuyền trưởng Midnight, một vở kịch truyền thanh thuở ban đầu của Mỹ. Người nghe có thể được sở hữu một máy Code-o-Graph bằng cách viết thư cho công ty tài trợ chương trình là Ovaltine kèm với nhãn hiệu của một trong những vỏ hộp sản phẩm của công ty này mà họ đã mua. Đôi khi chương trình sẽ kết thúc bằng một thông điệp mật mã từ Thuyền trưởng Midnight, để những người nghe trung thành giải mã bằng đĩa Code-o-Graph.

        Đĩa mã hóa có thể được coi là một “máy mã”, lấy mỗi chữ cái thường rồi biến đổi nó thành một thứ gì đó khác. Kiểu vận hành này đơn giản và mật mã đạt được cũng khá dễ bị hóa giải, nhưng đĩa mã hóa có thể sử dụng theo một cách phức tạp hơn. Người phát minh ra nó, Alberti, đã khuyến nghị thay đối cách sắp đặt đĩa trong quá trình mã hóa, điều này tạo ra mật mã dùng nhiều bảng chữ cái chứ không phải một. Chẳng hạn, Alberti đã sử dụng đĩa để mã hóa từ goodbye với từ khóa mã là LEON. Ông bắt đầu bằng việc đặt đĩa theo chữ cái đầu của từ khóa mã, tức là dịch chuyển chữ A bên ngoài đến đứng cạnh chữ L bên trong. Sau đó ông mã hóa chữ cái đầu tiên của từ, tức chữ cái g, bằng cách tìm nó trên đĩa ngoài và ghi lại chữ cái tương ứng ở đĩa trong, là chữ R. Đe mã hóa chữ cái thứ hai, ông điều chỉnh lại đĩa theo chữ cái thứ hai của từ khóa mã, sao cho chữ A bên ngoài đứng cạnh chữ E bên trong. Sau đó, ông mã hóa chữ o bằng cách tìm nó trên đĩa ngoài và ghi lại chữ cái tương ứng ở đĩa trong, là chữ s. Quá trình mã hóa tiếp tục với đĩa mã hóa được điều chỉnh theo chữ cái o của từ khóa mã, và tiếp theo là N, và sau đó trở lại L và cứ tiếp tục như vậy. Alberti đã mã hóa thành công một thông tin bằng mật mã Vigenère với tên riêng của ông được sử dụng làm từ khóa mã. Đĩa mật mã làm tăng tốc độ mã hóa và giảm những sai sót so với hình thức mã hóa bằng hình vuông Vigenère.
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #68 vào lúc: 21 Tháng Năm, 2020, 10:06:08 am »


        Đặc điểm quan trọng của việc sử dụng đĩa mã hóa theo cách này đó là đĩa thay đổi cách thức mã hóa của nó trong quá trình mã hóa. Mặc dù độ phức tạp hơn này làm cho văn bản mật mã khó hóa giải hơn song cũng không phải là không giải được, vì chẳng qua là chúng ta dùng phiên bản cơ khí hóa của mật mã Vigenère mà thôi, mà mật mã Vigenère thì đã được giải mã bởi Babbage và Kasiski. Tuy nhiên, năm trăm năm sau Alberti, một dạng phức tạp hơn đã làm sống lại đĩa mã hóa của ông, và đã mang lại một thế hệ mật mã mới, thuộc hạng tầm cỡ khó hóa giải hơn bất kỳ loại mật mã nào đã sử dụng trước đây.

        Năm 1918, nhà phát minh người Đức, Arthur Scherbius cùng người bạn thân là Richard Ritter đã thành lập một công ty mang tên Scherbius & Ritter, một hãng kỹ nghệ tân tiến làm đủ mọi thứ từ tuốcbin đến gối ngủ nhiệt. Scherbius chịu trách nhiệm nghiên cứu và phát triển, ông liên tục tìm kiếm những cơ hội mới. Một trong những dự án mà ông tâm đắc, đó là thay thế hệ thống mật mã sử dụng trong Thế chiến Thứ nhất đã không còn thích hợp nữa bằng cách chuyển việc mã hóa từ giấy bút sang một dạng mã hóa mới, sử dụng công nghệ thế kỷ 20. Nhờ học ngành kỹ thuật điện ở Hanover và Munich, ông đã phát minh ra một dạng máy mã hóa mà thực chất chính là đĩa mã hóa của Alberti thế hệ điện tử. Được gọi là Enigma, phát minh của Scherbius trở thành một hệ thống mã hóa đáng sợ nhất trong lịch sử.

        Máy Enigma của Scherbius có chứa nhiều bộ phận tinh vi, kết hợp lại tạo thành một cỗ máy mã đồ sộ và phức tạp. Tuy nhiên, nếu chúng ta tháo tung cỗ máy này ra thành các bộ phận và rồi lắp ráp lại theo từng bước, thì những nguyên lý của nó sẽ trở nên dễ hiểu thôi. Dạng cơ bản phát minh của Scherbius gồm ba phần được nối với nhau bằng dây dẫn: một bàn phím để đánh vào các chữ cái thường, một bộ phận mã hóa dùng để mã hóa các chữ cái thường thành chữ cái mật mã tương ứng, và một bảng hiển thị chứa nhiều đèn để chỉ thị các chữ cái mật mã. Hình 33 trình bày một mặt cắt tiêu biểu của máy, và để đơn giản ta chỉ giới hạn xét bảng gồm sáu chữ cái. Để mã hóa một chữ cái trong văn bản thường, nhân viên mã hóa gõ vào chữ cái đó trên bàn phím, lập tức một xung điện được gửi tới bộ phận mã hóa trung tâm và đi ra phía bên kia, làm sáng chữ cái mật mã tương ứng trên bảng đèn.

        Bộ phận mã hóa, một chiếc đĩa cao su dày, chằng chịt dây dẫn, là bộ phận quan trọng nhất của máy. Từ bàn phím, các dây dẫn đi vào bộ phận mã hóa ở sáu điểm, sau đó qua một loạt những uốn lượn rắc rối trong bộ phận mã hóa trước khi đi ra ở sáu điểm, phía bên kia. Việc nối dây bên trong bộ phận mã hóa sẽ quyết định các chữ cái thường bị mã hóa như thế nào. Chẳng hạn, ở Hình 33, các dây dẫn quyết định rằng:

        Đánh chữ a sẽ làm sáng đèn chữ B, tức là a được mã hóa thành B; đánh chữ b sẽ làm sáng đèn chữ A, tức là b được mã hóa thành A; đánh chữ c sẽ làm sáng đèn chữ D, tức là c được mã hóa thành D; đánh chữ d sẽ làm sáng đèn chữ F, tức là d được mã hóa thành F; đánh chữ e sẽ làm sáng đèn chữ E, tức là e được mã hóa thành E; đánh chữ f sẽ làm sáng đèn chữ c, tức là f được mã hóa thành C;

        Từ cafe khi đó sẽ được mã hóa thành DBCE. Với cách cài đặt cơ bản này thì bộ phận mã hóa thực chất là xác định bảng chữ cái mật mã và máy có thể được sử dụng để thực hiện một mật mã thay thế dùng một bảng chữ cái đơn giản.
Logged

Giangtvx
Thượng tá
*
Bài viết: 25560


« Trả lời #69 vào lúc: 21 Tháng Năm, 2020, 10:14:21 am »


        Tuy nhiên, ý tưởng của Scherbius là để cho đĩa mã hóa tự động quay 1/6 vòng mỗi khi một chữ cái được mã hóa (hay 1/26 vòng đối với một bảng chữ cái đủ 26 chữ cái). Hình 34(a) trình bày cách sắp đặt như ở Hình 33; lại một lần nữa, khi đánh chữ cái b sẽ làm sáng đèn ở chữ cái A. Tuy nhiên lần này, ngay sau khi đánh một chữ cái và làm sáng đèn ở bảng đèn, đĩa mã hóa quay 1/6 vòng đến vị trí như ở Hình 34(b). Lúc này đánh chữ cái b lần nữa sẽ làm sáng đèn một chữ cái khác, đó là C. Ngay sau đó, đĩa mã hóa lại quay đến vị trí ở Hình 34(c). Lúc này, đánh chữ cái b sẽ làm sáng đèn ở chữ cái E. Đánh chữ cái b sáu lần liên tiếp sẽ tạo ra bản mật mã là ACEBDC. Nói cách khác, bảng chữ cái mật mã thay đổi sau mỗi lần mã hóa và việc mã hóa chữ cái b cũng thay đổi liên tục. Với việc cho quay như vậy, đĩa mã hóa thực chất là xác định 6 bảng chữ cái và máy có thể được sử dụng để thực hiện mật mã dùng nhiều bảng chữ cái.

        Sự quay của đĩa mã hóa là đặc điểm quan trọng nhất trong thiết kế của Scherbius. Tuy nhiên, nếu chỉ như thế thì máy này vẫn có một điểm yếu rõ rệt. Sau khi đánh chữ cái b sáu lần, đĩa mã hóa lại trở về vị trí ban đầu và tiếp tục đánh chữ b nhiều lần nữa thì sẽ lặp lại hình mẫu mã hóa. Nói chung, những người tạo mã cố tránh sự lặp lại vì nó sẽ dẫn tới tính quy luật và cấu trúc trong văn bản mật mã, những triệu chứng của một loại mật mã yếu. vấn đề này có thể hạn chế bằng cách thêm vào đĩa mã hóa thứ hai.
Logged

Trang: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 »   Lên
  In  
 
Chuyển tới:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM