Đề xuất chỉ số trùng hợp ngôn ngữ tiếng Việt nâng cao độ an toàn cho hệ thống mật mã Vigenère
lượt xem 4
download
Bài viết đã phát triển hai khái niệm chỉ số trùng hợp và chỉ số trùng hợp tương hỗ giữa hai xâu văn bản Latin của Wolfe Friedman để áp dụng cho ngôn ngữ bất kỳ, trong đó có ngôn ngữ Việt ở dạng telex. Phần cuối bài viết trình bày việc ứng dụng chỉ số trùng hợp và chỉ số trùng hợp tương hỗ của ngôn ngữ tiếng Việt để nâng cao độ an toàn cho các hệ thống mật mã Vigenère.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Đề xuất chỉ số trùng hợp ngôn ngữ tiếng Việt nâng cao độ an toàn cho hệ thống mật mã Vigenère
- Kỷ yếu Hội nghị Khoa học công nghệ Quốc gia lần thứ XV về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 03-04/11/2022 DOI: 10.15625/vap.2022.0203 ĐỀ XUẤT CHỈ SỐ TRÙNG HỢP NGÔN NGỮ TIẾNG VIỆT NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ VIGENÈRE Nguyễn Đào Trường1, Lê Văn Tuấn2, Đoàn Thị Bích Ngọc3, Trần Thị Lượng1 1 Học viện Kỹ thuật Mật mã 2 Viện Khoa học Quân sự 3 Đại học Công nghệ Thông tin & Truyền thông truongnd-it@actvn.edu.vn, levantuan71@yahoo.com, ngocdb.cntt@gmail.com TÓM TẮT: Khái niệm chỉ số trùng hợp và chỉ số trùng hợp tương hỗ do Wolfe Friedman đề xuất đã được ứng dụng thành công trong việc khám phá những bản mã của hệ mã Vigenère với bản mã có ngôn ngữ gốc là tiếng Anh. Trong bài báo này, chúng tôi phát triển khái niệm chỉ số trùng hợp và xác định chỉ số trùng hợp cho ngôn ngữ tiếng Việt, đồng thời ứng dụng kết quả nghiên cứu trong việc nâng cao độ an toàn của hệ thống mật mã Vigenère. Từ khóa: Chỉ số trùng hợp, mã loạn có chu kỳ, chỉ số trùng hợp tương hỗ. I. GIỚI THIỆU Hiện nay, vấn đề an toàn và bảo mật thông tin đang nóng trên phạm vi toàn cầu và trở thành cuộc đấu tranh không có hồi kết giữa những người sở hữu thông tin với kẻ đánh cắp thông tin. Trước bối cảnh đó, nhiều giải pháp bảo mật thông tin được sử dụng, một trong những giải pháp đó là sử dụng mật mã. Hiện nay, hầu hết các hệ thống truyền tin số [6, 8, 10] đang sử dụng hệ mã Vigenère với nhiều mục đích khác nhau, chẳng hạn để cân bằng kênh, đảm bảo bí mật thông tin… Để khảo sát độ an toàn của hệ thống mật mã Vigenère [1,3-4] người ta thường dựa vào một số hằng số của ngôn ngữ tồn tại trên điện văn trước khi đưa vào mã hóa, tiêu biểu là chỉ số trùng hợp và chỉ số trùng hợp tương hỗ. Những hằng số ngôn ngữ này sẽ tồn tại trên điện mã nếu khóa của hệ mã Vigenère không đảm bảo tính ngẫu nhiên, không đủ độ dài,... và dẫn đến nguy cơ hệ mã bị tấn công là rất cao. Chính vì thế, sau khi một thông báo được mã hóa, cần khảo sát xem những hằng số ngôn ngữ còn tồn tại trên đó hay không, để thay đổi các tham số của hệ mã nhằm che giấu được những đặc điểm này. Bài báo đã phát triển hai khái niệm chỉ số trùng hợp và chỉ số trùng hợp tương hỗ giữa hai xâu văn bản Latin của Wolfe Friedman để áp dụng cho ngôn ngữ bất kỳ, trong đó có ngôn ngữ Việt ở dạng telex. Phần cuối bài báo trình bày việc ứng dụng chỉ số trùng hợp và chỉ số trùng hợp tương hỗ của ngôn ngữ tiếng Việt để nâng cao độ an toàn cho các hệ thống mật mã Vigenère. II. MỘT SỐ KIẾN THỨC CƠ SỞ A. Chỉ số trùng hợp Định nghĩa 1 [3-4]. Giả sử ký hiệu 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 là một xâu ký tự Latin. Chỉ số trùng hợp của 𝑥 (ký hiệu là 𝐼 𝑐 (𝑥)) được định nghĩa là xác suất xảy ra biến cố lấy ngẫu nhiên hai phần tử trong xâu 𝑥 là đồng nhất. Định lý 1: Chỉ số trùng hợp của xâu 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 ký hiệu là 𝐼 𝑐 (𝑥), được xác định như sau: 𝑧 ∑ 𝑖=𝑎 𝑓 𝑖 (𝑓 𝑖 −1) 𝐼 𝑐 (𝑥) = (1) 𝑛(𝑛−1) trong đó: 𝑓a , 𝑓b , .. , 𝑓z . lần lượt là tần suất (số lần xuất hiện) của các chữ cái 𝑎, 𝑏, .. , 𝑧 trong xâu 𝑥. Chứng minh: Gọi A là biến cố lấy ngẫu nhiên hai phần tử của xâu 𝑥 thì chúng là đồng nhất; Gọi 𝐴 𝑖 (𝑖 = 𝑎. . 𝑧) là biến cố lấy ngẫu nhiên hai phần tử kết quả lần lượt là 𝑖. Ký hiệu các tần suất của các chữ cái 𝑎, 𝑏, .. , 𝑧 trong xâu 𝑥 lần lượt là 𝑓i (𝑖 = 𝑎. . 𝑧), dễ thấy với mỗi 𝑖, có 𝐶 2𝑖 cách chọn hai phần tử là 𝑖 (𝑖 = 𝑎. . 𝑧). Theo [2], xác suất của biến cố 𝐴 𝑖 là: 𝑓 𝐶2 𝑓 𝑓 𝑖 (𝑓 𝑖 −1) 𝑖 𝑃(𝐴 𝑖(𝑖=𝑎..𝑧) ) = = (2) 𝐶2 𝑛 𝑛(𝑛−1) Do các biến cố 𝐴 𝑖(𝑖=𝑎..𝑧) xung khắc từng đôi một nên xác suất biến cố 𝐴 là: 𝑧 𝑧 𝑃(𝐴) = P(∑ 𝑖=𝑎 𝐴 𝑖 )=∑ 𝑖=𝑎 𝑃𝑖 (𝐴 𝑖 ) (3) 𝑧 ∑ 𝑖=𝑎 𝑓 𝑖 (𝑓 𝑖 −1) 𝐼 𝑐 (𝑥) = 𝑃(𝐴) = ∎ (4) 𝑛(𝑛−1) Nếu ký hiệu 𝑃𝑖 là xác suất biến cố 𝐴 𝑖 (𝑖 = 𝑎. . 𝑧), ta có thể ước lượng như sau: 𝑓 𝑖 (𝑓 𝑖 −1) 𝑓𝑖 𝑓 𝑖 −1 = . ≈ 𝑃𝑖 𝑃𝑖 = 𝑃𝑖2 (5) 𝑛(𝑛−1) 𝑛 𝑛
- 26 ĐỀ XUẤT CHỈ SỐ TRÙNG HỢP NGÔN NGỮ TIẾNG VIỆT NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ VIGENÈRE Từ (5) dễ dàng ước lượng giá trị chỉ số trùng hợp như sau: 𝐼 𝑐 (𝑥) = 𝑃(𝐴) = ∑ 𝑖=𝑎 𝑃𝑖2 𝑧 (6) Định nghĩa 2: Giả sử 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 và 𝑦 = 𝑦1 𝑦2 . . . 𝑦 𝑛′ ' là các xâu có độ dài lần lượt là 𝑛 và 𝑛' kí tự Latin. Chỉ số trùng hợp tương hỗ của xâu 𝑥 và xâu 𝑦, kí hiệu là 𝑀𝐼c (𝑥, 𝑦) được xác định là xác suất xảy ra biến cố phép thử lấy ngẫu nhiên một phần tử từ xâu 𝑥 trùng với một phần tử được lấy ngẫu nhiên từ xâu 𝑦. Định lý 2: Chỉ số trùng hợp tương hỗ giữa xâu 𝑥 và xâu 𝑦, ký hiệu là: 𝑀𝐼c (𝑥, 𝑦) sẽ được xác định bằng công 𝑧 𝑓𝑖 𝑓𝑖′ thức sau: 𝑀𝐼c (𝑥, 𝑦) = ∑ 𝑖=𝑎 . (7) 𝑛 𝑛; trong đó: tần suất của các chữ cái 𝑎, 𝑏, .. , 𝑧 trong xâu 𝑥 lần lượt được ký hiệu là 𝑓a , 𝑓b , .. , 𝑓z và tần suất của các chữ ′ cái 𝑎, 𝑏, .. , 𝑧 trong xâu 𝑦 lần lượt được kí hiệu là 𝑓𝑎′ , 𝑓 𝑏 , .. , 𝑓𝑧′ . Chứng minh: Giả sử ký hiệu hai xâu 𝑥, 𝑦 như sau: 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 và 𝑦 = 𝑦1 𝑦2 . . . 𝑦 𝑛′ . Gọi 𝐴 𝑖 là biến cố lấy ngẫu nhiên phần tử trong xâu 𝑥 được kết quả là phần tử là 𝑖 (𝑖 = 𝑎. . . 𝑧). Gọi 𝐵 𝑖 là biến cố lấy ngẫu nhiên phần tử trong xâu 𝑦 được kết quả phần tử là 𝑖 (𝑖 = 𝑎. . . 𝑧). Ký hiệu 𝐶 𝑖 là biến cố lấy đồng thời ngẫu nhiên hai phần từ, một phần tử lấy từ xâu 𝑥 và một phần tử lấy từ xâu 𝑦 kết quả đều là cặp ký tự (𝑖, 𝑖) với (𝑖 = 𝑎. . . 𝑧). Khi đó không gian các biến cố được xác định như sau: 𝐴 𝑖 = {𝑎, }… {𝑧}; 𝐵 𝑖 = {𝑎},…,{𝑧}; 𝐶 𝑖 = 𝐴 𝑖 𝐵 𝑖 = {(𝑎, 𝑎)}, {(𝑏, 𝑏)},…, hoặc = {(𝑧, 𝑧)} Ký hiệu 𝐶 là biến cố lấy đồng thời ngẫu nhiên hai phần tử, một phần tử từ xâu 𝑥 và một phần tử từ xâu 𝑦 chúng 𝑧 đồng nhất. Dễ thấy 𝐶 =∑ 𝑖=𝑎 𝐶 𝑖 . Do các biến cố 𝐶 𝑖 (𝑖 = 𝑎. . . 𝑧) xung khắc từng đôi một, nên xác suất xảy ra biến cố 𝐶 𝑧 𝑧 𝑓𝑖 𝑓𝑖′ được xác định như sau: 𝑃(𝐶) = ∑ 𝑖=𝑎 𝑃𝑖 (𝐶 𝑖 )=∑ 𝑖=𝑎 . ∎ 𝑛 𝑛; Dưới đây, tác giả phát triển khái niệm chỉ số trùng hợp có thể phát triển để áp dụng cho một ngôn ngữ bất kỳ. Định nghĩa 3. Mã Vigenère Mã Vigenère thuộc lớp mã dòng đặc biệt được định nghĩa như sau: Cho 𝑚 là một số nguyên dương cố định nào đó. Ký hiệu các tập hợp 𝑃, 𝐶, 𝐾[1,3-4] như sau: P = (𝑍26 ) 𝑚 là tập hữu hạn các bản rõ; C = (𝑍26 ) 𝑚 là tập hữu hạn các bản mã; K = (𝑍26 ) 𝑚 là tập hữu hạn các khóa. Với khóa k = (𝑘1 , 𝑘2 , ..., 𝑘m ) ∈ 𝐾, ta xác định: Hàm lập mã: x ϵ P; y = 𝑒k (𝑥1 , 𝑥2 , …, 𝑥m ) = (𝑥1 +𝑘1 , 𝑥2 +𝑘2 , …, 𝑥m +𝑘m ); Hàm giải mã: y ϵ C; x = 𝑑k ( 𝑦1 , 𝑦2 , …, 𝑦m ) = (𝑦1 −𝑘1 , 𝑦2 −𝑘2 , …, 𝑦m −𝑘m )); Các phép toán trong hàm mã và giải mã được thực hiện trong vành 𝑍26 [5]. Chú ý: Trên thực tế, nhiều công thức kết hợp giữa rõ và loạn khác nhau được sử dụng, chẳng hạn công thức 𝑀 = 𝑅 − 𝐿 𝑚𝑜𝑑 32 (mã máy H460) [11] hoặc 𝑅 + 𝑀 = 𝐿+∝ 𝑚𝑜𝑑 26 ( với ∝ = 0…25 áp dụng cho máy mã C52 [12]). Định nghĩa 4: Khóa của hệ mã Vigenère là một dãy số (𝑘1 , 𝑘2 ,..., 𝑘 𝑚 ) trong vành 𝑍 𝑚 được sinh ra theo một quy tắc nào đó. Trên thực tế dãy khóa (𝑘1 , 𝑘2 ,..., 𝑘 𝑚 ) trong hệ mã Vigenère được sinh ra từ một số thanh ghi dịch hồi tiếp tuyến tính (các 𝑘 𝑖 ∈ 𝑍2 , 𝑘 𝑖 ∈ 𝑍26 , 𝑘 𝑖 ∈ 𝑍32 ). Thông thường, nhiều thanh ghi dịch hồi tiếp tuyến tính được ghép nối với nhau để mỗi nhịp cho tổ hợp bit đầu ra (𝑙1 ,…, 𝑙 𝑘 ) tạo thành một số trong một vành 𝑍 𝑚 . Chẳng hạn với mã máy H460 [11] tổ hợp (𝑙1 ,…, 𝑙5 )= (01000) tương ứng với chữ E trong bảng mã ITA1 và các thanh ghi của máy mã này trong Hình 1. Hình 1. Mô hình thanh ghi dịch trong mãy mã H460
- Nguyễn Đào Trường, Lê Văn Tuấn, Đoàn Thị Bích Ngọc 27 Chính vì vai trò quan trọng của thanh ghi dịch hồi tiếp tuyến tính trong việc tạo ra dãy khóa, nên trong bài báo này sẽ giới thiệu khái quát về thanh ghi dịch hồi tiếp tuyến tính. Định nghĩa 5: Thanh ghi dịch hồi quy tuyến tính [5, 7, 9] độ dài L trên trường Fq là một Automat hữu hạn trạng thái sinh ra một dãy các phần tử của Fq , s = (st )t≥0 , thỏa mãn quan hệ hồi quy tuyến tính bậc L trên trường Fq : st+L = ∑L ci st+L−i , ∀t ≥ 0. i=1 (8) trong đó: L hệ số c1 , c2 , … , cL là các phần tử của trường Fq và được gọi là các hệ số hồi quy của thanh ghi dịch. Các hệ số hồi quy sẽ hình thành nên cấu trúc của một thanh ghi dịch. Cấu trúc của một thanh ghi dịch được mô tả ở Hình 3. Như vậy, một thanh ghi dịch sẽ gồm L ô nhớ, mỗi ô chứa một phần tử của trường Fq . Các giá trị của L ô nhớ được gọi là trạng thái của thanh ghi. L ô nhớ của thanh ghi được khởi tạo bằng L phần tử s0 , s1 , … , sL−1 được lấy tùy ý từ trường Fq và được gọi là khởi điểm của thanh ghi dịch. Hình 2. Cấu trúc của thanh ghi dịch Thanh ghi dịch được điều khiển bởi một đồng hồ. Tại thời điểm t (còn được gọi là nhịp thứ t), nội dung của ô nhớ phải cùng st là giá trị đầu ra của thanh ghi. Tiếp đó, giá trị của mỗi ô nhớ trong thanh ghi được chuyển sang ô nhớ bên phải. Giá trị mới của ô trái ngoài cùng là giá trị hồi quy st+L . Giá trị hồi quy st+L nhận được là giá trị biểu thức tuyến tính của nội dung các ô trong thanh ghi với các hệ số hồi quy: st+L = ∑L ci st+L−i i=1 (9) Ví dụ cho thanh ghi dịch nhị phân với độ dài 4 với các hệ số hồi quy (c1 , c2 , c3 , c4 ) = (0,0,1,1): Hình 3. Thanh ghi dịch nhị phân với các hệ số hồi quy (0,0,1,1) Khi đó dãy loạn 1011110001001101 được sinh ra bởi thanh ghi với khởi điểm (s0 , s1 , s2 , s3 ) = (1,0,1,1) được cho bởi Bảng 1 sau đây: Bảng 1. Bảng thay đổi trạng thái của thanh ghi dịch theo nhịp thời gian Dãy loạn do thanh ghi dịch tạo ra được xác định duy nhất bởi các hệ số hồi quy và khởi điểm của thanh ghi. Các hệ số hồi quy c1 , c2 , … , cL của một thanh ghi dịch có độ dài L thường được biểu thị bằng một đa thức gọi là đa thức hồi quy (hoặc đa thức nối) được định nghĩa bởi: P(X) = 1 − ∑L ci X i i=1 (10) Ngoài ra, ta có thể dùng đa thức đặc trưng là đa thức đảo ngược của đa thức hồi quy để biểu thị cấu trúc của thanh ghi dịch: P ∗ (X) = X L P(1/X) = X L − ∑L ci X L−i . i=1 (11) Ví dụ 2: Đa thức hồi quy của thanh ghi dịch nhị phân ở Hình 4 là P(X) = 1 + X 3 + X 4 và đa thức đặc trưng của ∗ (X) nó là P = 1 + X + X4. Thanh ghi dịch được gọi là không suy biến nếu bậc của đa thức hồi quy bằng độ dài của thanh ghi dịch nghĩa là hệ số cL ≠ 0. Mọi dãy loạn được sinh ra bởi một thanh ghi dịch không suy biến sẽ có chu kỳ và độ lớn của chu kỳ không vượt quá qL − 1 vì thanh ghi dịch với độ dài L trên trường Fq có tối đa qL trạng thái khác nhau và trạng thái 0 (khi các ô nhớ của thanh ghi đều có giá trị là 0) sẽ luôn theo sau bởi các trạng thái 0. Nghĩa là, một khi thanh ghi ở trạng thái 0 thì nó sẽ ở trạng thái 0 vĩnh viễn. III. XÂY DỰNG CHỈ SỐ TRÙNG HỢP CHO NGÔN NGỮ TIẾNG VIỆT Trong phần này, chúng tôi mở rộng khái niệm chỉ số trùng hợp của Wolfe Friedman và ứng dụng vào xác định chỉ số trùng hợp cho ngôn ngữ tiếng Việt.
- 28 ĐỀ XUẤT CHỈ SỐ TRÙNG HỢP NGÔN NGỮ TIẾNG VIỆT NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ VIGENÈRE Định nghĩa 6: Giả sử 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 là một xâu ký tự trên ngôn ngữ bất kỳ có bảng chữ cái với 𝑘 phần tử. Chỉ số trùng hợp của 𝑥 (ký hiệu là 𝐼c (𝑥)) là xác suất xảy ra biến cố lấy ngẫu nhiên hai phần tử của xâu 𝑥 thì chúng đồng nhất. Định lý 3: Giả sử 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 là một xâu có 𝑛 ký tự trên bảng chữ cái của ngôn ngữ bất kỳ có 𝑘 phần tử. Chỉ số trùng hợp của 𝑥 (ký hiệu là 𝐼c (𝑥)) được xác định như sau: k f (f i i 1) (12) I c ( x) i 1 n(n 1) Chứng minh: Áp dụng Định lý 1, trong trường hợp xâu 𝑥 gồm các phần tử trong bảng chữ cái Latin, dễ dàng chứng minh công thức (12) ∎ Định nghĩa 7: Giả sử 𝑥 = 𝑥1 𝑥2 . . . 𝑥 𝑛 và 𝑦 = 𝑦1 𝑦2 . . . 𝑦 𝑛′ là các xâu có lần lượt là 𝑛 và 𝑛′ kí tự trên bảng chữ cái của một ngôn ngữ nào đó có 𝑘 phần tử. Chỉ số trùng hợp tương hỗ giữa xâu 𝑥 và xâu 𝑦, kí hiệu là 𝑀𝐼c (𝑥, 𝑦) được xác định là xác suất xảy ra biến cố lấy ngẫu nhiên một phần tử của xâu 𝑥 và biến cố lấy ngẫu nhiên một phần tử từ xâu 𝑦 thì chúng đồng nhất. Định lý 4: Chỉ số trùng hợp tương hỗ giữa xâu 𝑥 và xâu 𝑦 lần lượt có 𝑛 và 𝑛′ ký tự trên bảng chữ cái của ngôn ngữ 𝑘 𝑓𝑖 𝑓𝑖′ bất kỳ có 𝑘 phần tử định nghĩa 4, ký hiệu là: 𝑀𝐼c (𝑥, 𝑦) sẽ được tính bằng công thức sau: 𝑀𝐼c (𝑥, 𝑦) = ∑ 𝑖=1 . (13) 𝑛 𝑛; Trong đó tần suất xuất hiện các chữ cái trong bảng chữ cái có trong xâu 𝑥 lần lượt được ký hiệu là 𝑓1 , 𝑓2 ,..., 𝑓 𝑘 và ′ kí hiệu tần suất của các chữ trong bảng chữ cái thuộc xâu 𝑦 lần lượt tương ứng với 𝑓1′ , 𝑓2′ ,…, 𝑓 𝑘 . Chứng minh: Áp dụng Định lý 2, trong trường hợp xâu 𝑥 gồm các phần tử trong bảng chữ cái Latin, dễ dàng chứng minh công thức (13) ∎ Trong bài báo này sẽ ứng dụng phần mềm hỗ trợ để khảo sát chỉ số trùng hợp của ngôn ngữ Việt. Phương pháp thực hiện là khảo sát chỉ số trùng hợp một cách độc lập trên khoảng 5.000.000 thông báo là điện văn tiếng Việt, dựa trên kết quả chỉ số trùng hợp của từng thông báo, lấy kết quả trung bình làm chỉ số trùng hợp của ngôn ngữ tiếng Việt. Do khuôn khổ bài báo có hạn nên chỉ trình bày một số kết quả khảo sát chỉ số trùng hợp trên một số thông báo ngôn ngữ tiếng Việt. Mẫu 1: xâu 𝑥 là thông báo như sau: X=THOONGBAOSGUWIRCACSNGAIFCHIRHUYTRUWOWNGRCACSDDOWNVIJVEEFVIEECJTOORCHUWCSHOOIJNGHIJLIEENHOWPJMIXT HAISSTOPRUTSKINHNGHIEEMJDIEENXTAAPJVAOFNGAYFKHOONGNAWMTHANGSKHOONGBOONSSTOPYEEUCAAUFACSDDOWNVIJKHAANRTR UWOWNGHOANFTAATSVIEECJDICHUYEENRVEEFVIJTRISCUCHAMSPHAYRXTOORCHUWCSRUTSKINHNGHIEEMJNOOIJBOOJVAFCHUAANRBIJB AOSCAOSDDUNGSKHOONGBAYRGIOWFNGAYFKHOONGNAWMZKHOONGBOONSCHAMSPHAYRMOWIFCACSNGAIFTUWFTRUNGDDOANFTRUW OWNGRTROWRLEENCOSMAWTJTAIJBTLLUCJQUAANMONGOACNHONJBANGKOCDONGNGOACNHONJSTOPTHOONGBAOSNAYFTHAYCHOGIAY SMOWIFSTOP Kết quả như trong Bảng 2. Bảng 2. Kết quả thống kê mẫu 1 STT Mẫu Số lần Xác suất STT Mẫu Số lần Xác suất 1 Z 1 0,00195 14 J 19 0,03711 2 Q 1 0,00195 15 W 20 0,03906 3 X 3 0,00586 16 R 21 0,04102 4 L 4 0,00781 17 E 22 0,04297 5 P 8 0,01562 18 T 26 0,05078 6 V 9 0,01758 19 G 27 0,05273 7 K 9 0,01758 20 S 27 0,05273 8 B 10 0,01953 21 C 27 0,05273 9 Y 11 0,02148 22 I 28 0,05469 10 D 11 0,02148 23 H 32 0,06250 11 M 11 0,02148 24 A 45 0,08789 12 F 16 0,03125 25 N 47 0,09180 13 U 19 0,03711 26 O 58 0,03711 Chỉ số trùng hợp của mẫu 1 sẽ là: I(x)= 0.05831. Mẫu 2: xâu 𝑥 là thông báo như sau: x=LUWCJLUWOWNGJKHOONGQUAANMYXOWRTAAYTHAISBINHFDUWOWNGDDAXDDIEEUFKHOONGBO ONSMAYSBAYMOOTJSAUSFHOOJTOONGSBAYTUWFKADENNADDANGTREENDDUWOWNGFVAOFTHAISTHAMGI ADIEENXTAAPJSTOPYEEUCAAUFSAANBAYUTAPAOCHUAANRBIJTIEEPSNHAANJSTOPZZZ Khi đó chỉ số trùng hợp của mẫu 2 sẽ là: I(x) = 0,059. Mẫu 3: xâu 𝑥 là thông báo như sau: coongddieenjsoosbatamskhoongstoptronghaingayfhaikhoongvafhaimootjthangskhoongbachamsphayrddoongfch istuwleenhjsexddeenskieemrtinhfhinhftrieenrkhaikeeshoachjdieenxtaapjtoongrhowpjtaijcacsehaimootjchamsphayrehai haichamsphayrebayrmootjstopyeeucaaufcacsngaifchirhuytrungddoanfchuaanrbibaoscaostruwowcsngaiftuwleenhjstop.
- Nguyễn Đào Trường, Lê Văn Tuấn, Đoàn Thị Bích Ngọc 29 Để tính chỉ số trùng hợp với mẫu thông báo trên, công việc đầu tiên là phải thống kê tần suất. Việc thống kê được trình bày trong Bảng 3. Trên cơ sở kết quả thống kê, áp dụng công thức (2) được kết quả chỉ số trùng hợp như sau: Ic(x) =0,061. Mẫu 4: xâu 𝑥 là thông báo như sau: LUWCJLUWOWNGJKHOONGQUAANMYXOWRTAAYTHAISBINHFDUWOWNGDDAXDDIEEUFKHOONGBOONSMA YSBAYMOOTJSAUSFHOOJTOONGSBAYTUWFKADENNADDANGTREENDDUWOWNGFVAOFTHAISTHAMGIADIEEN XTAAPJSTOPYEEUCAAUFSAANBAYUTAPAOCHUAANRBIJTIEEPSNHAANJSTOPZZZ Thực hiện tương tự như mẫu 1, được kết quả thống kê trong Bảng 4. Bảng 3. Kết quả thống kê mẫu 3 STT Mẫu Số lần Xác suất STT Mẫu Số lần Xác suất 1 V 1 0,00308 13 j 11 0,03385 2 l 2 0,00615 14 g 12 0,03692 3 x 2 0,00615 15 r 14 0,04308 4 b 5 0,01538 16 c 16 0,04923 5 w 5 0,01538 17 t 18 0,05538 6 k 6 0,01846 18 i 19 0,05846 7 y 8 0,02462 19 s 20 0,06154 8 u 8 0,02462 20 n 22 0,06769 9 d 9 0,02769 21 e 22 0,06769 10 m 9 0,02769 22 o 30 0,09231 11 p 9 0,02769 23 h 31 0,09538 12 f 9 0,02769 24 a 31 0,11385 Bảng 4. Kết quả thống kê mẫu 4 STT Mẫu Số lần Xác suất STT Mẫu Số lần Xác suất 1 Q 1 0,00465 14 F 7 0,03256 2 V 1 0,00465 15 G 8 0,03721 3 L 2 0,0093 16 I 8 0,03721 4 C 3 0,01395 17 W 9 0,04186 5 K 3 0,01395 18 H 9 0,04186 6 X 3 0,01395 19 S 11 0,05116 7 R 3 0,01395 20 D 11 0,05116 8 Z 3 0,01395 21 E 11 0,05116 9 M 4 0,0186 22 U 12 0,05581 10 P 5 0,02326 23 T 13 0,06047 11 B 6 0,02791 24 N 18 0,08372 12 J 7 0,03256 25 O 20 0,09302 13 Y 7 0,03256 26 A 30 0,13953 Kết quả chỉ số trùng hợp là: Ic(x) =0,061. Mẫu 5: xâu 𝑥 là thông báo như sau: toansbabaddaxhanhfquaanddeensvijtrismowistaijtoajddoojsvchinsbanawmchinsluc smootjsauskhoongkhoongstopdduwowngfhanhfquaanantoanchamsphayrfddangtrieenrkhaic oongtacstheokeeshoachjstopxinchowfleenhjmowisstopZZ Kết quả thống kê của mẫu 5 như trong Bảng 5: Bảng 5. Kết quả thống kê mẫu 5 STT Mẫu Số lần Xác suất STT Mẫu Số lần Xác suất 1 y 1 0,00488 14 g 5 0,02439 2 x 2 0,00976 15 w 6 0,02927 3 q 2 0,00976 16 j 7 0,03415 4 v 2 0,00976 17 c 8 0,03902 5 l 2 0,00976 18 e 9 0,0439 6 z 2 0,00976 19 d 10 0,04878 7 b 3 0,01463 20 i 10 0,04878 8 r 4 0,01951 21 t 12 0,05854 9 k 4 0,01951 22 h 16 0,07805 10 p 4 0,01951 23 s 17 0,08293 11 f 5 0,02439 24 n 19 0,09268 12 u 5 0,02439 25 o 22 0,10732 13 m 5 0,02439 26 a 23 0,1122 Kết quả chỉ số trùng hợp của mẫu 5 là: Ic(x) =0,063.
- 30 ĐỀ XUẤT CHỈ SỐ TRÙNG HỢP NGÔN NGỮ TIẾNG VIỆT NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ VIGENÈRE Trong khuôn khổ bài báo có hạn không thể trình bày kết quả thử nghiệm trên nhiều mẫu thử, mà chúng tôi chỉ trích một phần kết quả thực hiện trên 5000 mẫu, các giá trị chỉ số trùng hợp của các thông báo được giao động trong khoảng [0,058; 0,075], tính giá trị trung bình của các chỉ số trùng hợp trên các mẫu thử cho kết quả là Ic(x) = 0,066, giá trị này được gọi là chỉ số trùng hợp của ngôn ngữ tiếng Việt. Kết quả khảo sát đã chứng tỏ rằng chỉ số trùng hợp ngôn ngữ tiếng Việt cũng không khác nhiều so với chỉ số trùng hợp của ngôn ngữ tiếng Anh. IV. GIẢI PHÁP NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ A. Một số tình huống mất an toàn Để đảm bảo được mục đích bảo của mật mã, vấn đề đặt ra là phải xây dựng hệ mã an toàn, có các giao thức phân phối và trao đổi khóa an toàn ,... Tuy nhiên, để xây dựng được một hệ mã an toàn phụ thuộc vào rất nhiều yếu tố, trong đó thuật toán mã hóa đóng vai trò quan trọng để tạo lên một hệ mã an toàn. Một hệ mã có thuật toán mã hóa tốt, ngoài nguyên tắc nhanh chóng và chính xác trong mã dịch, thì hệ mã phải tạo ra những bức điện che giấu được chỉ số trùng hợp, những đặc điểm mang tính quy luật của ngôn ngữ gốc. Nếu thuật toán mã hóa không tốt, sẽ tạo ra những bức điện mã trên đó tồn tại những hằng số của ngôn ngữ, những đặc điểm mang tính quy luật của ngôn ngữ, khi đó hệ mã sẽ bị tấn công. Đối với hệ thống mật mã Vigenère, nếu để lộ chỉ số trùng hợp của ngôn ngữ trên bản mã, chu kỳ khóa sẽ bị lộ. Việc xác định độ dài chu kỳ khóa của hệ thống mật mã Vigene're, cần thực hiện theo các bước của thuật toán sau: Thuật toán 1: Tìm chu kỳ dãy loạn. Đầu vào: Bản mã Vigene're. Đầu ra: Độ dài khóa. Bước 1: Thử với độ dài chu kỳ là 𝑘 (𝑘 là số tự nhiên thuộc [1. . . 𝑘]). Bước 2: Dàn bản mã dưới chiều dài chu kỳ 𝑘 giả thuyết. Bước 3: Tính chỉ số trùng hợp trên từng cột riêng biệt. Bước 4: Đối sánh giá trị chỉ số trùng hợp của từng cột với chỉ số trùng hợp của ngôn ngữ (tiếng Anh: ≈ 0,065; tiếng Việt dạng telex: ≈ 0,066). Bước 5: kiểm tra chỉ số trùng hợp của từng cột gần với chỉ số trùng hợp của ngôn ngữ nhất (thông thường chọn độ dài k khi các cột có 𝐼c (𝑥) ≥ 0,05) thì dự kiến 𝑘 chính là độ dài chu kỳ khóa và sang Bước 7, ngược lại sau khi tính chỉ số trùng hợp trên các cột mà tồn tại một số cột có chỉ số 𝐼c (𝑥)𝐼c (𝑥) ≤ 0,05) sang Bước 6. Bước 6: Kiểm tra if k
- Nguyễn Đào Trường, Lê Văn Tuấn, Đoàn Thị Bích Ngọc 31 của hệ mã. Vậy, để che giấu những hằng số của ngôn ngữ thì bắt buộc phải chọn dãy khóa (𝑘1 , 𝑘2 , ..., 𝑘m ) đủ dài so với độ dài bản rõ. C. Thử nghiệm và đánh giá kết quả Để minh chứng cho những lập luận trên dưới đây xét một ví dụ. Giả sử xét một bức điện mật, thuộc hệ mã Vigenère có ngôn ngữ gốc là tiếng Việt dạng telex và có công thức mã hóa như sau: Mã = Rõ + Loạn mod 26. Mẫu thử 1: DEROW QYDOB QRZIA MXFSW QXLFL RFUHD IQUUF YTQGA MXFSM NLZNE SGYEN PSLEN MGWOX BZKUF MPKOX SGQGQ SGOIN OKKOF ZGPIG DEDIB CQRPA EQVKR XEQGQ SBHMS NFHEW HQDAY TSDOO XDDYO UEROW QKDWV DEDNP CHKOX XDEOX XPVTX ZVHED MXDUO KZVDM YTQVR THKAJ XOWRD GLZNP RLDNO DXDTB FFHEL TALCQ EVHEW BSHEO FFMTA SPFUL RXPSY RXBRG DLRRL RRZCB BRWST SKKNP RFHEV TKROR TYROS FXICQ EXDNA LFMBJ YPFAX CAGUW QPNHX YKJBJ IOJIX GCQGJ ICNHX YKJNJ GJCKQ YLQGK YLQSL RXPSY RXBRV YTLFL KZVNP KFITD GCWRD XDGDX KKITA ETRWW QOWRX GOOEN XZRSV KTWJC KFMBC VIXCS ARDAW WLQGX KZQHX XGEAW QHRCM YKJNP YXFNQ YKMSC YMWHX YKJBJ YPQAH PQKAH MERGR KVVMX GFISC YMDAJ Hệ mã này không che giấu được chỉ số trùng hợp của ngôn ngữ gốc, căn cứ vào chỉ số trùng hợp của ngôn ngữ gốc, mà hệ mã sẽ bị bẻ khóa. Để tìm khóa, bước đầu tiên căn cứ vào giá trị chỉ số trùng hợp của ngôn ngữ Việt đã khảo sát được ở phần trên của bài báo là 0,066 để tìm chu kỳ khóa, bằng cách thử với các giá trị dự kiến là chu kỳ khóa. Sau hữu hạn phép thử, nếu đúng chu kỳ và dàn bức điện mã dưới chiều dài chu kỳ đúng, giá trị chỉ số trùng hợp trên các cột độc lập sẽ phải lớn hơn hoặc xấp xỉ bằng với giá trị 0,066. Căn cứ vào lập luận trên, tiến hành tìm chu kỳ khoá như sau: + Thử với chu kỳ là 𝑘 = 1, tính chỉ số trùng hợp Ic(x) = 0,042; + Thử với chu kỳ là 2, tính chỉ số trùng hợp Ic(x) = 0,042; 0,045; + Thử với chu kỳ là 3 có chỉ số trùng hợp Ic(x) = 0,048; 0,045; 0,043; + Thử với chu kỳ là 4 có chỉ số trùng hợp Ic(x) = 0,045; 0,053; 0,045; 0,046; + Thử với chu kỳ là 5 có chỉ số trùng hợp Ic(x) = 0,065; 0,061; 0,065; 0,065; 0,062; + Thử với chu kỳ là 6 có chỉ số trùng hợp Ic(x) = 0,057; 0,054; 0,046; 0,05; 0,05; 0,05. + Tiếp tục có thể thử với chu kỳ có độ dài khóa là 𝑘 = 7, 8…. Đều cho kết quả các chỉ số trùng hợp trên các cột là thấp hơn nhiều so với giá trị chỉ số trùng hợp với cho kỳ 5. Vậy, qua 6 phép thử, với mỗi độ dài chu kỳ khóa giả định cho thấy chu kỳ khóa bằng 5 là hợp lý nhất, vì các giá trị chỉ số trùng hợp của các cột đều tiệm cận với giá trị 0,066. Sau khi tìm được chu kỳ, việc tiếp theo là tìm khóa. Để tìm được khoá cần dựa vào giá trị chỉ số trùng hợp tương hỗ giữa các cột mã y1, .., y5, sau khi đã dàn bức điện mã dưới chiều dài chu kỳ khoá là 5. Giả sử ký hiệu khóa cần tìm là 𝑘 = (𝑘1 , 𝑘2 ,..., 𝑘5 ). Ở đây quy ước các mẫu nằm cùng cột với k1 gọi là cột 1, tương tự có cột 2, cột 3, cột 4 và cột 5. Việc tiếp theo là tìm chỉ số trùng hợp tương hỗ giữa cột thứ 1 với các cột còn lại. Để cho gọn, quy ước ký hiệu 12 là để chỉ kết quả 26 giá trị chỉ số trùng hợp tương hỗ giữa cột 1 với cột 2. Giá trị thứ nhất trong 26 giá trị của ký hiệu 12 là chỉ số trùng hợp tương hỗ của xâu trên cột 1 với xâu trên cột 2; giá trị chỉ số trùng hợp thứ 2 là chỉ số trùng hợp của xâu trên cột 1 với xâu trên cột 2 cộng với giá trị 1 theo môđun 26 và theo thứ tự lần lượt giá trị chỉ số trùng hợp tương hỗ thứ 26 là chỉ số trùng hợp giữa xâu trên cột 1 với xâu trên cột 2 cộng với giá trị 25 theo môđun 26. Các ký hiệu 13, 14, 15 có ý nghĩa tương tự, kết quả như sau: 12 0,045 0,037 0,035 0,028 0,036 0,037 0,043 0,049 0,04 0,036 0,025 0,034 0,041 0,057 0,037 0,034 0,029 0,039 0,04 0,043 0,042 0,038 0,03 0,03 0,035 0,048 13 0,039 0,035 0,029 0,029 0,038 0,05 0,043 0,035 0,028 0,035 0,039 0,041 0,046 0,042 0,036 0,034 0,032 0,04 0,043 0,058 0,031 0,03 0,025 0,042 0,045 0,042 14 0,033 0,039 0,047 0,043 0,037 0,029 0,035 0,036 0,042 0,041 0,042 0,035 0,034 0,031 0,038 0,045 0,056 0,035 0,027 0,026 0,047 0,04 0,047 0,037 0,037 0,027 15 0,038 0,029 0,029 0,037 0,04 0,046 0,043 0,037 0,032 0,032 0,036 0,045 0,038 0,041 0,032 0,031 0,038 0,04 0,041 0,042 0,038 0,034 0,029 0,038 0,042 0,06 Căn cứ vào bảng chỉ số trùng hợp tương hỗ dễ dàng tìm ra được độ dịch tương giữa các giá trị 𝑘1 với 𝑘j (𝑗 = 2. .5) : 𝑘1 +13; 𝑘1 = 𝑘1 +19; 𝑘4 = 𝑘1 +16; 𝑘5 =𝑘1 +25; Căn cứ vào hệ phương trình trên, chuyển từ khoá cần tìm về dạng 𝑘 = (𝑘1 , 𝑘2 , ..., 𝑘5 ) = (𝑘1 , 𝑘1 +13, 𝑘1 +19, 𝑘1 +16, 𝑘1 +25). Đến đây, chỉ cần thử tối đa 26 trường hợp với 𝑘1 , được từ khoá KXDAJ, công thức cộng loạn 𝑅 + 𝐿 = 𝑀 (𝑀𝑂𝐷26) và tìm ra thông báo là một bản văn trình bày trên ngôn ngữ tiếng Việt. THOONGBAOSGUWIRCACSNGAIFCHIRHUYTRUWOWNGRCACSDDOWNVIJVEEFVIEECJTOORCHUWCSHOOIJNGHIJLIEE NHOWPJMIXTHAISSTOPRUTSKINHNGHIEEMJDIEENXTAAPJVAOFNGAYFKHOONGNAWMTHANGSKHOONGBOONSSTOPYEEUC AAUFACSDDOWNVIJKHAANRTRUWOWNGHOANFTAATSVIEECJDICHUYEENRVEEFVIJTRISCUCHAMSPHAYRXTOORCHUWCSR UTSKINHNGHIEEMJNOOIJBOOJVAFCHUAANRBIJBAOSCAOSDDUNGSKHOONGBAYRGIOWFNGAYFKHOONGNAWMZKHOONGB OONSCHAMSPHAYRMOWIFCACSNGAIFTUWFTRUNGDDOANFTRUWOWNGRTROWRLEENCOSMAWTJTAIJBTLLUCJQUAANMO NGOACNHONJBANGKOCDONGNGOACNHONJSTOPTHOONGBAOSNAYFTHAYCHOGIAYSMOWIFSTOPAAA
- 32 ĐỀ XUẤT CHỈ SỐ TRÙNG HỢP NGÔN NGỮ TIẾNG VIỆT NÂNG CAO ĐỘ AN TOÀN CHO HỆ THỐNG MẬT MÃ VIGENÈRE Mẫu thử 2: Xét một điện văn Vigenère có ngôn ngữ gốc là tiếng Việt như sau: BOBWU JTNQL THBSG PSGSI KABWV JOFRZ JYYLT RBNDM JMFDV QIAWV QIAWL COCXK XNTLT RNTER UHNMU JVNPA JIGYP CHNRZ BTNQL GTUYK CUBAG PSPLB WHFTA DRFIQ MERRL TIRIF ATEEM RNUPA RNUPM AIRIG AKUEB TERWA XAPLO YHBRZ UCUSH WGFFT XXYYM EOJVV JCFXB WHEQB NEAPM AUAKL COCCX NUPET DLGET CSPEK LAPWV XWDYT WXOEG WGNRA ULVIX WQHEG LUNVV JCFXB WHEQB NEAPM AUAKQ LHHET WROMO TERWA XAPLO MERVU JOFGT XSGVN XWPWM QUEXN XWAKL BTCXB NECXA NOMWH XSUEB CAZWV QIAWL COC + Thử với chu kỳ là 1, có chỉ số trùng hợp Ic(x) = 0,044; + Thử với chu kỳ là 2, có chỉ số trùng hợp Ic(x) = 0,046; 0,046; + Thử với chu kỳ là 3 có chỉ số trùng hợp Ic(x) = 0,051; 0,049; 0,048; + Thử với chu kỳ là 4 có chỉ số trùng hợp Ic(x) = 0,051; 0,048; 0,052; 0,055; + Thử với chu kỳ là 5 có chỉ số trùng hợp Ic(x) = 0,078; 0,071; 0,078; 0,080; 0,075; + Thử với chu kỳ là 6 có chỉ số trùng hợp Ic(x) = 0,068; 0,061; 0,052; 0,064; 0,058; 0,053, Qua 6 phép thử, với mỗi độ dài chu kỳ giả định cho thấy chu kỳ khóa bằng 5 là hợp lý nhất, vì các chỉ số trùng hợp của các cột đều lớn hơn hoặc gần với giá trị 0,066. Sau khi tìm được chu kỳ, việc tiếp theo là tìm khóa. Để tìm được khoá cần dựa vào giá trị chỉ số trùng hợp tương hỗ giữa các cột mã y1,..., y5, kết quả như sau: 12 0,033 0,033 0,035 0,036 0,042 0,046 0,035 0,044 0,034 0,031 0,045 0,057 0,031 0,035 0,037 0,027 0,032 0,063 0,043 0,029 0,037 0,048 0,036 0,042 0,049 0,034 13 0,040 0,030 0,036 0,044 0,066 0,040 0,038 0,032 0,044 0,039 0,032 0,047 0,030 0,039 0,028 0,043 0,037 0,051 0,045 0,042 0,036 0,029 0,038 0,038 0,045 0,025 14 0,045 0,039 0,050 0,033 0,033 0,028 0,042 0,046 0,045 0,034 0,032 0,036 0,028 0,048 0,046 0,042 0,021 0,031 0,030 0,040 0,047 0,062 0,038 0,024 0,031 0,048 15 0,034 0,033 0,035 0,046 0,050 0,034 0,029 0,026 0,034 0,037 0,060 0,035 0,036 0,026 0,042 0,041 0,038 0,046 0,042 0,038 0,028 0,033 0,033 0,048 0,045 0,048 Căn cứ vào bảng chỉ số trùng hợp tương hỗ dễ dàng tìm ra được độ dịch tương giữa các cột: 𝑘2 = 𝑘1 +17; 𝑘3 = 𝑘1 +4; 𝑘4 = 𝑘1 +21; 𝑘5 = 𝑘1 +10; Căn cứ vào hệ phương trình trên, chuyển từ khoá cần tìm về dạng 𝑘 = (𝑘1 , 𝑘2 , ..., 𝑘5 ) = (𝑘1 , 𝑘1 +17; 𝑘1 +4; 𝑘1 +21; 𝑘1 +10). Đến đây, chỉ cần thử tối đa 26 trường hợp với 𝑘1 được từ khoá JANET và tìm ra thông báo là một bản văn trình bày trên ngôn ngữ tiếng Việt. SOOSBATAMSKHOONGSTOPBAOSCAOSNGAYLHAIBAZTAMSZCHINSCHINSSTOPTRONGHAINGAYLHAIBAVALHAITUWTHANG STAMSXTHURTUOWNGSCHINHSPHURSEXDEENSKIEEMRTRATINHLHINHLTRIEENRKHAIKEESHOACHVPHONGLCHOONGSBAO XLUTVOWRCACSTINHRMIEENLTRUNGSTOPYEEUCAAULTAATSCARCACSCOWQUANXBANNGANHLLIEENQUANCUARCACSTI NHRMIEENLTRUNGXCHUAANRBIVKEESHOACHVDEERBAOSCAOSTRUOWCSTHURTUOWNGSSTPTIEEPTHEOZSOOSHAITAMSC HINSSTOP V. KẾT LUẬN Có thể khẳng định rằng việc nghiên cứu ngôn ngữ có vai trò quan trọng, không thể thiếu được trong lĩnh vực mật mã, trong đó tập trung chủ yếu vào nghiên cứu những đặc điểm mang tính quy luật của ngôn ngữ, chẳng hạn như: tần suất các chữ cái, các từ, các cụm từ,...; sự trùng lặp các từ, các cụm từ luôn tồn tại trong mọi ngôn ngữ; quy luật hành văn của văn bản trên các lĩnh vực quân sự, chính trị và ngoại giao,…; đặc biệt là những hằng số của ngôn ngữ như chỉ số trùng hợp, Entropy,... Bài báo đã mở rộng khái niệm chỉ số trùng hợp của Wolfe Friedman và ứng dụng vào xác định chỉ số trùng hợp cho ngôn ngữ tiếng Việt ở lớp ký tự. Nội dung quan trọng nhất mà bài báo đã đạt được là xác định được chỉ số trùng hợp của tiếng Việt và ứng dụng vào nâng cao độ an toàn của hệ thống mật mã Vigenère. Tuy nhiên, do khuôn khổ có hạn nên nội dung bài báo chưa thí nghiệm được trên nhiều mẫu thử. TÀI LIỆU THAM KHẢO [1] Nguyễn Bình. Giáo trình mật mã học, NXB Bưu điện. Hà Nội, 2004. [2] Lê Văn Tuấn. Phần mềm hỗ trợ khám phá mật mã và mô phỏng một số hệ mã phục vụ công tác huấn luyện, 2008. [3] S. William and W. Stallings. Cryptography and Network Security, 4th Edition: Pearson Education India, 2006. [4] Prihandoko, Antonius Cahya; Dafik; Agustin, Ika Hesti. Stream-keys generation based on graph labeling for strengthening Vigenere encryption, International Journal of Electrical & Computer Engineering (2088-8708). Aug2022, Vol. 12 Issue 4, p3960-3969. [5] Ritwic Majumder; Sujoy Datta; Monideepa Roy. An Enhanced Cryptosystem Based on Modified Classical Ciphers, 2022 8th International Conference on Advanced Computing and Communication Systems (ICACCS), DOI: 10.1109/ICACCS54159.2022.9785033.
- Nguyễn Đào Trường, Lê Văn Tuấn, Đoàn Thị Bích Ngọc 33 [6] AlTuhafi, Ammar Waysi, Adaptation for Vigenère Cipher Method for Auto Binary Files Ciphering, ITM Web of Conferences Vol. 42, (2022), DOI:10.1051/itmconf/20224201017. [7] Luka Latinović. Vigenère Cipher Improvement–Software Realization and Reduction to the One-Time Pad, 3rd Virtual International Conference Path to a Knowledge Society-Managing Risks and Innovation 2021, p213-220. [8] http://everyspec.com/MIL-STD/MIL-STD-0100-0299/MIL-STD-188_110C_37889. [9] Http://www.newwaveinstruments.com/resources/articles/m_sequen... [10] Http://www.everyspec.com. [11] https://www.peteradamsphoto.com/tech/crypto-ag-h-460-cipher-machine/. [12] https://en.wikipedia.org/wiki/C-52_(cipher_machine). PROPOSING A OVERLAP INDEX IN THE VIETNAMESE LANGUAGE TO IMPROVE THE SECURITY OF THE VIGENÈRE Nguyen Dao Truong, Le Van Tuan, Doan Thi Bich Ngoc ABSTRACT: Concepts of overlap index and mutual overlap index was built by Wolfe Friedman, that has been successfully applied in breaking of the cryptosystem of Vigenère with ciphertexts’s original language is English. This article will present the mathematic bases of overlap index and its applications in surveying, construction of overlap index of Vietnamese language that is presented in the form of Telex. The last part of the article that presents application of research results in information security.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Mười quy tắc then chốt về an toàn và bảo mật
20 p | 111 | 23
-
7 chuẩn công nghệ không dây phổ biến hiện nay
3 p | 99 | 12
-
Kết hợp các bộ phận phân lớp SVM cho việc nhận dạng chữ Việt viết tay rời rạc
10 p | 69 | 10
-
GUI BLOOPERS 2.0
0 p | 51 | 6
-
Bài giảng Toán rời rạc (Phần I: Lý thuyết tổ hợp): Chương 2(tt) - Nguyễn Đức Nghĩa
108 p | 87 | 6
-
Ứng dụng mã QR và chữ ký số trong phòng chống giả mạo văn bằng, chứng chỉ ở dạng bản in
7 p | 46 | 5
-
Nhận dạng tròng mắt sử dụng biến đổi nhanh Curvelet rời rạc kết hợp các thuật toán PCA và SVD
4 p | 81 | 3
-
Phân loại các tổn thương thường gặp ở gan dựa vào chỉ số Hounsfield và kỹ thuật học sâu
9 p | 19 | 3
-
Xây dựng phần mềm tính toán cự ly vùng biển A2 trong hệ thống GMDSS của Việt Nam
4 p | 67 | 2
-
Xây dựng hệ INS/GPS theo cấu trúc ghép lỏng sử dụng bộ lọc Kalman trên cơ sở hệ INS đã được cải thiện độ chính xác
5 p | 37 | 2
-
Một số kết quả triển khai ứng dụng công nghệ thông tin hỗ trợ diễn tập cấp trung, sư đoàn và đề xuất một số định hướng phát triển
8 p | 69 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn