Mật mã Vigenère là một phương pháp mã hóa chữ văn bản tiếng Anh, lần đầu tiên được mô tả bởi Giovan Battista Bellaso vào năm 1553. Phương pháp mã hóa mật mã Vigenère dễ hiểu và dễ thực hiện, nhưng chỉ đến năm 1863 với nhiều nỗ lực suốt ba thế kỷ, Friedrich Kasiski mới xuất bản một phương pháp chung để giải mã mật mã Vigenère.
Mật mã Vigenère là tập hợp các quy tắc thay thế chữ cái đơn trong bảng chữ cái tiếng Anh qua việc sử dụng 26 mật mã Caesar với các bước dịch chuyển từ 0 đến 25 tương ứng từ chữ ‘a’ đến chữ ‘z’. Cụ thể, bản mã Vigenère được lập theo công thức sau:
ci = (pi + ki) mod 26, i=1,…,l
trong đó, C = {c1…cl} là bản mã, P={p1…pl} là bản gốc, K = {k1…kl} là dãy khóa và l là độ dài bản rõ. Tương tự, bản gốc P có thể được tính nếu biết khóa và bản mã theo công thức:
pj = (cj – kj) mod 26, j = 1,…,l
Mật mã Vigenère không thể phá vỡ trong trường hợp sử dụng các khóa đủ dài. Nhưng với các khóa ngắn hoặc nếu nhà thám mã có đủ nhiều bản mã so với độ dài khóa thì khá dễ để phá vỡ. Việc thám mật mã Vigenère thường tiến hành theo hai bước là: xác định độ dài chu kỳ của khóa trước, sau đó tìm khóa cụ thể.
Đầu tiên cần lưu ý là chu kỳ của khóa tìm được có thể không đúng với thực tế được sử dụng. Nếu bản mã đủ dài thì có thể là chính xác, các phương pháp được cung cấp ở đây là gần đúng.
Mật mã Vigenère áp dụng các mật mã Caesar khác nhau cho các chữ cái liên tiếp. Ví dụ một bản mã Vigenère như sau:
Hình 1. Bản mã hóa sử dụng mật mã Vigenère
Mật mã Caesar là một dạng của mật mã thay thế, theo đó mỗi ký tự trong bản rõ được thay thế bằng một ký tự cách nó một đoạn trong bảng chữ cái để tạo thành bản mã. Giả sử với khóa là 3 (dịch 3 vị trí trong bảng chữ cái), thì chữ ‘a’ sẽ được thay bằng chữ ‘d’, chữ ‘b’ sẽ được thay bằng ‘e’ và cứ thế đến hết bản rõ. Phương pháp này được đặt tên là Caesar, vị Hoàng đế đã sử dụng loại mật mã này thường xuyên trong công việc.
Nếu mật mã Vigenère sử dụng khóa có chu kỳ 3 là 'PUB', thì chữ cái rõ đầu tiên được mã hóa bằng mật mã Caesar với khóa là 16 (P là chữ cái thứ 16 của bảng chữ cái), chữ cái thứ hai được mã với khóa là 21 (chữ cái U) và chữ cái thứ ba được mã với khóa là 2 (chữ cái B). Chữ cái rõ thứ 4 được mã hóa quay lại bằng chữ khóa thứ nhất (khóa 16). Kết quả là, các chữ cái ở các vị trí 1,4,7,10,... đều được mã hóa bằng cùng một mật mã Caesar với chữ khóa là P. Các chữ cái ở các vị trí 2,5,8,11,... và 3,6,9,12,... được mã hóa bằng mật mã Caesar với khóa tương ứng là chữ U và B.
Như vậy, trình tự chính xác sẽ phụ thuộc vào chu kỳ của khóa mật mã, tức là độ dài khóa, như với ví dụ trên thì độ dài chu kỳ khóa là 3.
Để xác định chu kỳ của khóa mật mã Vigenère, phương pháp Kasiski xem xét sự lặp lại của các nhóm chữ cái như Hình 2.
Hình 2. Sự lặp lại của nhóm chữ cái
Đoạn lặp lại loạt VHVS gồm 18 ký tự, gợi ý rằng độ dài khóa có thể là 18, 9, 6, 3, 2. Còn đoạn lặp lại loạt QUCE là 30 ký tự, gợi ý độ dài khóa là 30, 15, 10, 6, 5, 3, 2. Kết hợp lại, độ dài khóa có thể là 6, 3 hoặc 2.
Nếu trong bản mã không có sự lặp lại của một loạt chữ cái nào, người thám mã sẽ sử dụng đến chỉ số trùng hợp Ic.
Giả sử X là một chuỗi ký tự trong tiếng Anh, ký hiệu xác suất xuất hiện của các chữ a, b,…, z lần lượt là p0, p1,…, p25. Khi đó:
• Khi đó:
Ic (x) = ∑ = 0.0822+0.0152+…+0.0012 = 0.065
Chỉ số trùng hợp đôi khi được gọi là tỷ lệ lặp lại. Nếu bản mã cụ thể có độ dài n, na là tần số xuất hiện của chữ ‘a’, nb là tần số xuất hiện của chữ ‘b’…, thì chỉ số trùng hợp gần đúng được tính theo công thức sau:
Chỉ số trùng hợp (Ic) là một kỹ thuật thống kê giúp xác định một đoạn văn bản có đáp ứng quy luật ngôn ngữ của tiếng Anh. Một tính chất quan trọng của kỹ thuật là giá trị Ic không thay đổi nếu áp dụng mật mã thay thế đơn cho văn bản. Điều này là do Ic dựa trên tần số xuất hiện của chữ cái và mật mã thay thế đơn không làm thay đổi tần số của bộ chữ cái riêng lẻ. Với văn bản tiếng Anh sẽ có giá trị Ic làm tròn là 0.06, nếu các ký tự có phân phối đồng đều thì Ic gần hơn với 0,03 - 0,04.
Phương pháp dùng chỉ số trùng hợp để xác định chu kỳ của khóa mật mã Vigenère thực hiện như sau. Trước tiên, giả sử độ dài khóa là 2, thực hành trích xuất hai chuỗi tại các vị trí 1, 3, 5, 7,... và 2, 4, 6, 8,... từ bản mã như Hình 1 (lưu ý rằng Ic được tính bằng cách sử dụng toàn bộ chuỗi mã, không chỉ là phần được hiển thị).
Tương tự với trường hợp độ dài khóa là 3 sẽ có 3 chuỗi, tương ứng với các giá trị Ic như sau:
Như vậy, Ic trung bình đối với trường hợp chu kỳ 2 là khoảng 0,048 và đối với trường hợp chu kỳ 3 là khoảng 0,047.
Quy trình này sẽ được lặp lại cho tất cả các độ dài khóa muốn kiểm tra. Ví dụ tiếp tục tính với chu kỳ khóa lên đến 15 sẽ có các giá trị trung bình I.C (avg I.C.) tương ứng như Hình 3.
Hình 3. Các giá trị trung bình I.C.
Theo cột giá trị, hoặc theo biểu đồ, có 2 giá trị trung bình I.C cao đột biến đã gợi ý rằng khóa mật mã có thể có độ dài 7 hoặc 14. Cả hai xác suất này phải được tiếp tục kiểm tra.
Ví dụ thám mã với khóa chu kỳ 7 (sử dụng 7 mật mã Caesar) cho bản mã ở Hình 1, việc tìm khóa khá dễ dàng. Thám mã sẽ so sánh giá trị thống kê Khi bình phương của dãy phá mã với giá trị phân phối tần số xuất hiện chữ cái tiếng Anh.
Lập chuỗi chữ cái lấy từ các vị trí 1, 8, 15, 22,… của bản mã ở Hình 1 (vurzjugrggugvgjqkeoagugkkqvwqp…). Đây là chuỗi được mã hóa với cùng một mật mã Caesar.
Giải mã chuỗi này với cả 26 mật mã Caesar có thể, lập bảng so sánh phân phối tần số của văn bản được giải mã với phân phối tần số tiếng Anh cho mỗi khóa. Tương ứng, sẽ thu được 26 giá trị thống kê Khi bình phương. Khóa chính xác sẽ tương ứng với văn bản được giải mã với thống kê Khi bình phương thấp nhất. Kết quả cụ thể như Hình 4 đã tìm được chữ cái khóa đầu tiên, theo đó giá trị Khi bình phương nhỏ nhất là 41.22, tương ứng với khóa là 2 (chữ cái ‘c’).
Hình 4. Giá trị thống kê Khi bình phương của chuỗi giải mã
Tiếp tục tìm 6 chữ cái khóa còn lại theo cách cực tiểu Khi bình phương tương tự để tìm các khóa tương ứng sẽ thu được chuỗi khóa 2,8,0,7,4,17,18. Chuyển về dạng chữ cái là chuỗi 'CIAHERS', chuỗi khóa này bị sai một vị trí. Điều này cho thấy không thể hoàn toàn dựa vào kỹ thuật thám mã này trừ khi thu được bản mã đủ dài. Khóa chính xác trong trường hợp này là 'CIPHERS' và thực tế kiểm tra Khi bình phương có hai giá trị rất thấp cho dãy con thứ 3. Thật không may, giá trị nhỏ nhất lại không đúng, giá trị khóa đúng có giá trị Khi bình phương lớn hơn giá trị nhỏ nhất một chút.
Thực tế trong kiểm tra Khi bình phương cũng như I.C, xác suất xuất hiện của các chữ cái không phải luôn luôn đúng, chúng gần đúng. Hơn nữa, tần số của các chữ cái trong bản mã không phản ánh chính xác phân phối xác suất các chữ cái trên văn bản mã. Đó là lý do kết quả trên cho ra chữ khóa ‘A’ mà lẽ ra phải là ‘P’. Do đó, việc xem xét thêm các khía cạnh khác như là dựa vào quy luật ngôn ngữ để chỉnh sửa kết quả là rất cần thiết.
TÀI LIỆU THAM KHẢO [1] Dr. S.B. Sadkhan, Cryptanalysis of a Vigenère, Security of Networks, 2011-2012 [2] Chris Christensen, Cryptanalysis of the Vigenère Cipher: The Friedman Test, Spring 2015, MAT/ CSC 483 [3] Jonathan Taylor, Lecture # 4 – Vigenère Cipher –Kasiski Attack, Statistics 116-Fall 2002 [4] Author: Jeremy Druin, Learning Cryptography by Doing It Wrong: Cryptanalysis of the Vigenère Cipher, jdruin@gmail.com, Advisor: Christopher Walker, CISSP, CCISO, GCED, GWEB, Accepted: 2/1/2018 [5] https://shodhganga.inflibnet.ac.in/ bitstream/10603/26543/10/10_chapter5.pdf, CRYPTANALYSIS OF VIGENÈRE CIPHER AND SUBSTITUTION CIPHER [6] S. S. Omran A. S. Al-Khalid D. M. Al-Saady, A Cryptanalytic Attack on Vigenère Cipher Using Genetic Algorithm, 2011 IEEE Conference on Open Systems (ICOS2011), September 25 - 28, 2011, Langkawi, Malaysia [7] Mehmet E. Dalkilic and Cengiz Gungor, An Interactive Cryptanalysis Algorithm for the Vigenère Cipher, Ege University, International Computer Institute Bornova 35100 Izmir, TURKEY, fdalkilic,cgungorg@bornova.ege.edu.tr |
TS. Nguyễn Ngọc Cương
08:00 | 30/03/2020
16:00 | 31/03/2020
09:00 | 10/03/2021
08:00 | 06/03/2020
19:00 | 31/12/2018
10:00 | 03/10/2023
Với sự gia tăng nhanh chóng của các mối đe dọa mạng tinh vi, các tổ chức ngày nay đang phải đối mặt với những thách thức lớn trong việc ngăn chặn và giảm thiểu các cuộc tấn công mạng. Để chống lại điều này, việc chia sẻ và phân tích thông tin tình báo về mối đe dọa vì thế càng trở nên mang tính cấp thiết và quan trọng. Nền tảng chia sẻ thông tin phần mềm độc hại (MISP) chính là một khuôn khổ nổi bật nhằm tạo điều kiện trao đổi thông tin tình báo về mối đe dọa giữa các tổ chức và cộng đồng an ninh mạng. Bài viết này cung cấp đánh giá cơ bản về nền tảng MISP, thảo luận về kiến trúc, các tính năng chia sẻ mối đe dọa cũng như những triển vọng của nó trong việc thúc đẩy phòng thủ an ninh mạng chủ động.
14:00 | 14/09/2023
NFT (Non-fungible token) là một sản phẩm của thời đại công nghệ mới và đang phát triển như vũ bão, ảnh hưởng sâu rộng đến nhiều lĩnh vực. Thị trường NFT bùng nổ mạnh mẽ vào năm 2021, tăng lên khoảng 22 tỷ USD và thu hút ước tính khoảng 280 nghìn người tham gia. Nhưng khi thị trường này phát triển, phạm vi hoạt động của tin tặc cũng tăng theo, đã ngày càng xuất hiện nhiều hơn các báo cáo về những vụ việc lừa đảo, giả mạo, gian lận và rửa tiền trong NFT. Bài báo sau sẽ giới thiệu đến độc giả tổng quan về NFT, các hành vi lừa đảo NFT và cách thức phòng tránh mối đe dọa này.
11:00 | 27/01/2023
Nhà máy thông minh hay sản xuất thông minh là sự phát triển vượt bậc từ một hệ thống sản xuất truyền thống sang một hệ thống sản xuất thông minh dựa trên dữ liệu có thể kết nối và xử lý liên tục, được thu thập từ các máy móc thiết bị sản xuất, đến các quy trình sản xuất và kinh doanh. Việc kết nối với điện toán đám mây và môi trường Internet mang lại nhiều lợi thế cho hệ thống, tuy nhiên nó cũng dẫn đến nguy cơ bị tấn công mạng. Các cuộc tấn công mạng vào các hệ thống sản xuất công nghiệp có thể làm tê liệt dây chuyền vận hành và từ chối hoạt động truy cập vào dữ liệu quan trọng. Do đó, cần thiết lập các biện pháp bảo mật mạnh mẽ để phát hiện và bảo vệ trước các mối đe dọa an ninh từ các cuộc tấn công độc hại vào hạ tầng mạng và các thiết bị công nghiệp đối với sự phát triển của mô hình nhà máy thông minh.
08:00 | 07/11/2022
Công nghệ truyền thông di động 6G được tích hợp các công nghệ tiên tiến như trí tuệ nhân tạo (AI), học máy (ML), dữ liệu lớn, công nghệ chuỗi khối (Blockchain) nhằm hướng tới một xã hội siêu thông minh. Trong những năm gần đây, các thuật toán dự đoán, mô hình ML nhận dạng thông minh đã được sử dụng trong các bài toán tối ưu trong công nghệ 6G. Mặc dù ML mang lại những lợi thế đáng kể nhưng đồng thời cũng kéo theo những thách thức trong việc đảm bảo an toàn thông tin. Bài báo này sẽ giới thiệu đến độc giả nghiên cứu tổng quan về mạng 6G và phương pháp giảm thiểu các cuộc tấn công học máy đối nghịch FGSM trong mô hình dự đoán mã chùm tín hiệu định hướng RF beamforming.
Dựa trên công bố của công ty quản lý định danh và truy cập Okta (Mỹ) vào ngày 20/10/2023 liên quan đến một vi phạm bảo mật gần đây, các nhà nghiên cứu đã xác định rằng các tác nhân đe dọa đã giành được quyền truy cập thành công vào hệ thống hỗ trợ khách hàng của Okta, kẻ tấn công có thể xem các tệp tải lên (upload) liên quan đến các trường hợp hỗ trợ mới bằng mã thông báo phiên hợp lệ, các tác nhân đe dọa sau đó đã có được quyền truy cập vào hệ thống của khách hàng. Trong bài viết này sẽ mô tả tác động của các hành vi vi phạm của nhà cung cấp danh tính (IdP) và cách các tổ chức có thể tự chủ động bảo vệ mình trước các cuộc tấn công này.
16:00 | 14/11/2023
Google đã thực hiện một bước quan trọng nhằm tăng cường bảo mật Internet của Chrome bằng cách tự động nâng cấp các yêu cầu HTTP không an toàn lên các kết nối HTTPS cho toàn bộ người dùng.
10:00 | 10/11/2023