“Mật mã quân sự” một dự báo vĩ đại của Kerckhoffs về mật mã từ thế kỷ XIX

14:30 | 11/08/2021

Tiếp theo Phần I (được trình bày trong Tạp chí An toàn thông tin, số 5 (057) 2020), bài báo này trình bày những tư tưởng chính của tác phẩm “Mật mã quân sự” của Kerckhoffs. Về cơ bản, tác phẩm trình bày tổng quan về các phương pháp mật mã hiện đại vào thời điểm công bố công trình (năm 1883) và cả về khả năng nắm bắt chúng từ vị thế người phân tích mật mã. Trong bài báo dưới dạng rút gọn (2 phần gồm 66 trang), tác giả đã trình bày tầm nhìn của mình về thiết kế các hệ thống mật mã. Đặc biệt Nguyên lý nổi tiếng Kerckhoffs về hiệu quả của một hệ thống mật mã không nhất thiết phải dựa trên việc đối phương không được biết đến nó.

Mật mã trong quân đội

Trong phần mở đầu, tác giả đã trích dẫn câu nói của Tướng Lewal “Mật mã học là một công cụ hỗ trợ đắc lực cho các chiến thuật quân sự” trong cuốn Nghiên cứu Chiến tranh. Sau đó là phần trình bày tóm lược về lịch sử phát triển mật mã và một tổng quan về bối cảnh tạo ra trong phạm vi mật mã quân sự vào thời điểm xuất bản bài báo. Tác giả nhận xét rằng, mặc dù ai cũng biết rõ vai trò của khóa mật mã trong việc lập mã tin cậy các thông báo trong thời gian tiến hành các hoạt động chiến đấu, nhưng mật mã và phân tích mật mã không thu hút nhiều sự quan tâm. Lĩnh vực này ít được chú ý đến từ sau khi đóng cửa văn phòng bí mật.

Để minh họa cho vấn đề đặt ra, Kerckhoffs mô tả trường hợp xảy ra vào mùa hè năm 1877 trong giai đoạn chiến tranh Nga - Thổ. Một buổi sáng chủ nhật, Bộ Chiến tranh của nước Pháp đã nhận được một bức điện tín được mã hóa từ một tùy viên quân sự theo dõi quá trình các hoạt động chiến đấu. Do vào đúng ngày nghỉ nên người phụ trách mật mã tại vị trí làm việc đã không có mặt, cũng có nghĩa là không có khóa mật mã để giải mã bức điện tín. Hơn nữa, do sự việc lại đang rất cấp thiết, nên con trai Bộ trưởng Bộ Chiến tranh đang phục vụ trong Ban lãnh đạo đã giành lấy nhiệm vụ phá khóa mật mã. Do biết thuật toán mật mã, nên chỉ trong vài tiếng đồng hồ anh ta đã có thể đọc được thông báo rõ.

Về mặt chi tiết, tác giả đã trình bày thành 2 phần nhỏ. Phần thứ nhất, tác giả trình bày về các khái niệm lịch sử. Mật mã là một khoa học cổ xưa như chính bản thân trái đất. Việc sử dụng mật mã để trao đổi thông tin bí mật quân sự đã được thực hiện bởi những người Spartan từ năm 400 trước công nguyên. Họ sử dụng thiết bị mật mã gọi là Scytale để liên lạc thông tin bí mật giữa các người chỉ huy quân sự.

Phần thứ hai là về thực trạng phát triển mật mã quân sự lúc bấy giờ. Khi đó, việc luyện tập cho các sĩ quan để soạn, đọc các thông tin mật mã và cả kiến thức về các nguyên tắc lý thuyết của nghệ thuật giải mật mã rất được coi trọng. Thậm chí, công việc này còn được luật hóa trong Điều 32 của Quy định ngày 19/01/1874 rằng các thông tin quân sự bất cứ khi nào có thể đều phải được lập mã.

Thông qua phần thứ nhất, tác giả muốn chuẩn bị các lập luận để dẫn đến việc đưa ra các nguyên tắc của mật mã quân sự trong phần thứ hai. Các nguyên tắc này cũng chính là các yêu cầu đối với mật mã quân sự.

Những yêu cầu đối với mật mã quân sự

Phần thứ hai là phần nổi tiếng hơn cả của bài báo. Trong phần này, Kerckhoffs đưa ra các tầm nhìn của mình về việc thiết kế các hệ thống mật mã mà ông dựa trên hai khẳng định then chốt.

Khẳng định thứ nhất, cần phải bằng nhiều cách khác nhau, thiết kế được các hệ thống giành cho trao đổi thông tin, không phải riêng tư của một nhóm hẹp những người cách biệt và các hệ thống truyền dữ liệu thường xuyên giữa một tập hợp các sĩ quan quân đội, mà chúng cần phải bảo toàn tính bền vững mật mã trong một khoảng thời gian không được biết trước (Về mặt tiềm năng - Không bị hạn chế).

Khẳng định thứ hai, độ tin cậy của một hệ thống mật mã có thể được đánh giá một cách hiện thực chỉ từ vị trí của người phân tích mật mã. Khẳng định này đánh giá rất cao vai trò của phân tích mật mã. Điều mà trước đó có thể đã rất ít được quan tâm hoặc coi trọng đúng mức.

Dựa trên hai khẳng định trên, tác giả đã đưa ra 6 yêu cầu của mình khi thiết kế một hệ thống mật mã như sau:

1. Hệ thống cần phải không thể được khám phá nếu không phải về mặt toán học thì cũng phải về mặt vật lực;

2. Hệ thống không cần phải đòi hỏi tính bí mật và khi rơi vào tay quân thù phải không được đánh mất tính tin cậy;

3. Khóa của hệ thống cần đảm bảo sao cho có thể trao đổi và gìn giữ được, mà không cần đến bất kỳ ghi chép nào bằng văn bản và cũng có thể thay đổi được theo mong muốn của các bên tham gia trao đổi thông tin;

4. Hệ thống cần phải phù hợp để truyền đi các thông báo với sự giúp đỡ của điện tín;

5. Thiết bị và tài liệu cần phải có thể di chuyển được và để sử dụng nó thì không cần đòi hỏi đến sự giúp đỡ của nhiều người;

6. Hệ thống cần phải đơn giản trong sử dụng và không cần đòi hỏi người sử dụng bất kỳ những nỗ lực đáng kể nào, dù là về mặt trí tuệ hay về mặt vật lực, hoặc bất kỳ kiến thức có khối lượng lớn về các quy tắc.

Yêu cầu thứ hai trong các yêu cầu này ngày nay nổi tiếng với tên gọi Nguyên lý Kerckhoffs.

Cũng cần lưu ý rằng, Kerckhoffs là người đầu tiên phát biểu ý tưởng về phân chia một cách nguyên tắc một hệ thống mật mã (về mặt tiềm năng được biết rõ bởi nhiều người kể cả những người phân tích mật mã) và khóa mật mã (được biết đến chỉ bởi một nhóm hạn chế những người trao đổi điện tín). Ý tưởng này đã được diễn đạt ở chính phần này trong các giải thích đối với các yêu cầu.

Những phương pháp mật mã khác nhau

Đây là phần dài nhất của bài báo. Tác giả mô tả hầu như tất cả các thuật toán mật mã được biết đến vào thời điểm đó cùng với mô tả chi tiết các phương pháp hiệu quả đã biết để phá vỡ chúng. Trong phần này của bài báo, ngoài việc mô tả các phương pháp phân tích mật mã đã biết, ông cũng đã phát triển phương pháp phân tích mật mã đặt chồng các bản mã với cùng một khóa lên nhau theo pha (Superimposition) và cũng là người đầu tiên mô tả việc sử dụng tìm kiếm đối xứng ẩn trong các bảng đa biểu để phá vỡ các hệ mật mã đa biểu.

Về mặt chi tiết, tác giả chia các hệ thống mật mã thành ba loại là loại theo phương pháp chuyển vị, loại theo phương pháp đảo thứ tự và loại theo phương pháp từ điển mật mã.

Loại hệ thống mật mã chuyển vị là loại hệ thống mật mã tự hạn chế trong một phép chuyển vị đơn giản của các chữ cái của văn bản dạng rõ. Phương pháp đảo thứ tự ngày nay gọi là phương pháp thay thế. Phương pháp này dựa trên việc đảo thứ tự của thứ tự các chữ cái trong bảng chữ cái đối với từng chữ cái. Phương pháp từ điển mật mã biểu diễn các âm tiết, các từ và các nguyên cả câu bằng các số hoặc các nhóm chữ cái.

Trong phương pháp chuyển vị thì chỉ làm thay đổi vị trí của các chữ cái trong văn bản trong mỗi chu kỳ. Tần số của các chữ cái được giữ nguyên và thậm chí các chữ cái cũng được giữ nguyên mà chỉ thay đổi vị trí trong chu kỳ.

Trong phương pháp đảo thứ tự, thì trong mỗi chu kỳ mỗi chữ cái được thay thế bởi một chữ cái khác theo bảng chữ cái theo quy định của khóa mật mã. Bộ tần số của từng chữ cái không thayđổi mà chỉ có việc chữ cái này thay bằng chữ cái khác với chu kỳ bằng một chúng ta có hệ mật Caesar. Với chu kỳ lớn hơn một chúng ta có hệ mật Vigenère hay Beaufort. Tổng quát của loại hệ mật này là thay thế đa biểu mà trong mỗi chu kỳ mỗi chữ cái được thay bằng chữ cái khác theo các cách không giống nhau. Cao hơn nữa, chu kỳ thay thế cũng có thể biến thiên và không cố định.

Tác giả còn trình bày về các hệ mật khóa kép hay hai khóa như hệ mật Porta. Hệ mật này là hệ mật thay thế đa biểu giống như Vigenère, nhưng thay vì sử dụng bảng chữ cái cho khóa với 26 chữ cái thì chỉ sử dụng 13 chữ cái và lập mã và giải mã là giống nhau. Do đó, các chữ cái khóa A, B hay C, D sẽ là như nhau. Ngoài ra, hệ mật Saint-Cyr hay Beaufort Gronfeld cũng được trình bày. Cuối cùng là hệ mật khóa thay đổi độ dài.

Tác giả cũng trình bày về cách giải mã các hệ mật khóa kép hay hai khóa. Đầu tiên là tìm chu kỳ của hệ mật mà tác giả gọi là tìm số bảng chữ cái. Khi đã biết chu kỳ thì đối với từng chữ cái trong chu kỳ sẽ tìm tần số của từng chữ cái trong mỗi bảng chữ cái. Từ đó sẽ tìm ra chữ cái nào có tần số cao nhất ứng với chữ cái e. Trường hợp tổng quát, phải tìm từng phép thay thế cho từng chữ cái mà không thay thế các chữ cái giống nhau. Tác giả cũng trình bày về giải mã hệ mật có khóa độ dài thay đổi.

Bên cạnh đó, tác giả còn trình bày về giải mã hệ mật ba khóa. Ngoài bảng Vigenère ra còn lập mã tiếp với bảng chuyển vị. Khóa được chia làm hai phần, một phần cho bảng Vigenère và phần còn lại cho bảng chuyển vị.

Đối với hệ mật từ điển, tác giả đã chọn loại hệ mật từ điển sử dụng từ mã gồm bốn chữ số thập phân khóa gồm ba chữ số thập phân và một hoán vị của bốn chữ số thập phân. Tác giả cũng trình bày cách tìm ra khóa số và hoán vị nhờ biết trước một số cặp từ mã rõ và từ mã.

Phần này sẽ thú vị đối với những người quan tâm hay sử dụng cho giảng dạy, cho dù các hệ mật này ngày nay đã trở thành cổ điển và không có hệ mật nào đáp ứng được các yêu cầu của tác giả đặt ra. Chúng đều có thể được lập trình trên máy tính và được giải mã sau vài giờ không cần đến khóa mật mã.

Máy móc mật mã

Phần cuối cùng của bài báo trình bày về các máy mật mã. Tác giả mô tả các thiết bị để tự động lập mã. Kerckhoffs đánh giá cao tiềm năng của các hệ mật cơ khí hiện đại và biểu hiện lòng tin vào việc trong tương lai các thiết bị tương tự như vậy sẽ hiện thực các hệ mật tương ứng đầy đủ nhất đối với các yêu cầu được phát biểu trong bài báo.

Đặc biệt, tác giả đã trình bày khá chi tiết về thiết bị máy mật mã Wheatstone với cách lập mã và giải mã. Tuy nhiên cũng như các hệ mật đã được trình bày, các thiết bị mật mã tuy được kỳ vọng hơn nhưng chưa thể đáp ứng được toàn bộ các yêu cầu đặt ra bởi Kerckhoffs, nhất là yêu cầu nổi tiếng thứ hai hay Nguyên lý Kerckhoffs nổi tiếng.

Vĩ thanh

Ngày nay không cần nhờ đến hệ mật ngẫu nhiên khóa dùng một lần Vernam nổi tiếng dựa trên lý thuyết thông tin của Shannon để đáp ứng nguyên lý Kerckhoffs, mà nhiều hệ mật đáp ứng tốt các yêu cầu thiết kế của ông như DES, AES. Nhưng Nguyên lý Kerckhoffs được áp dụng trong hầu như tất cả các thuật toán lập mã hiện đại.

Điều đó nói lên tầm tư tưởng dự báo vĩ đại của nhà bác học Kerckhoffs từ ngay cuối thế kỷ XIX. Khi đó khoa học mật mã và phân tích mật mã chưa thật phát triển cao. Các máy mật mã càng chưa có dịp điện tử hóa và tự động hóa được như ngày nay để có cơ sở dự đoán những tầm nhìn vĩ đại.

TÀI LIỆU THAM KHẢO

1. https://www.petitcolas.net/kerckhoffs/la_cryptographie_ militaire_i.htm.

2. https://www.petitcolas.net/kerckhoffs/la_cryptographie_militaire_ii.htm.

3. https://crypto.stackexchange.com/questions/9603/ kerckhoffs-principles-why-should-i-make-my-cipher-public.

4. https://medium.com/@inbox.rahimian/kerckhoffs-principlethe-enemy-knows-the-system-bce2c94f14e0.