Quá trình mã hóa thường sử dụng một thuật toán và một khóa bí mật để thay đổi hoặc biến đổi thông tin ban đầu sao cho chỉ những người được cấp quyền mới có thể giải mã để đọc được nội du
GIỚI THIỆU
Lịch sử ra đời
- Mật mã ra đởi từ rất lâu cách đây khoảng 4.000 năm được tìm thấy trong các nền văn minh La Mã và Ai Cập
- Bằng chứng được biết đến về mật mã có thể được bắt nguồn từ các “chữ tượng hình” được người Ai Cập sử dụng để giao tiếp với nhau
- Sau đó, các học giả chuyển sang sử dụng các mật mã thay thế đơn chữ cái đơn giản trong khoảng thời gian 500 đến 600 trước Công Nguyên.
Khái niệm
- Mật mã là một lĩnh vực khoa học chuyên nghiên cứu về các phương pháp và kỹ thuật đảm bảo an toàn và bảo mật trong truyền tin liên lạc với giả thiết sự tồn tại của các thế lực thù địch, những kẻ muốn ăn cắp thông tin để lợi dụng và phá hoại Tên gọi trong tiếng Anh, Cryptology được dẫn giải nguồn gốc từ tiếng Hy lạp, trong đó kryptos nghĩa là “che dấu”, logos nghĩa là “từ ngữ”
- Mật mã được chia thành hai loại chính: mật mã đối xứng và mật mã công khai
- Những yêu cầu đối với mật mã : o Tính bí mật: Đảm bảo tính bí mật của dữ liệu được gửi đi và chỉ có những người liên quan mới biết được nội dung dữ liệu o Tính toàn vẹn: Đảm bảo dữ liệu phải nguyên vẹn không thể bị mất mát hoặc chỉnh sửa trong quá trình gửi và nhận o Tính xác thực: Đảm bảo dánh tính được xác minh ung cấp nguồn gốc , c của thông tin, đảm bảo sự tin cậy của thông tin giao dịch o Tính không thể chối từ: Đảm bảo người gửi không phủ nhận dữ liệu mà mình đã gửi đi
- Mã hóa là quá trình chuyển đổi thông tin từ dạng rõ (plaintext) thành dạng bí mật (ciphertext), nhằm đảm bảo tính bảo mật và không bị lộ thông tin khi truyền qua mạng hoặc lưu trữ Quá trình mã hóa thường sử dụng một thuật toán và một khóa bí mật để thay đổi hoặc biến đổi thông tin ban đầu sao cho chỉ những người được cấp quyền mới có thể giải mã để đọc được nội dung thông tin ban đầu
Hình 1: 1.2.2 Mô hình mô tả quá trình mã hóa
- Mã hóa có rất nhiều ứng dụng trong thực tế như bảo vệ giao dịch tài chính (rút tiền ngân hàng, mua bán qua mạng…), bảo vệ bí mật cá nhân Nếu kẻ tấn công đã vượt qua tường lửa và các hệ thống bảo vệ khác thì mật mã chính là “hàng phòng thủ” cuối cùng cho dữ liệu Các thông tin thường được tổ chức dưới dạng văn bản thường, người gửi sẽ làm nhiệm vụ mã hóa các thông tin này, kết quả thu được là các bản mã Bản mã này được gửi đi trên đường truyền tới người nhận Người nhận sau khi nhận bản mã sẽ giải mã để lấy được nội dung thông tin mà người gửi muốn trao đổi
- Decryption (giải mã) là quá trình chuyển đổi một văn bản được mã hóa trở lại thành văn bản gốc ban đầu, dựa trên một khóa giải mã Quá trình giải mã là bước ngược lại của quá trình mã hóa Mục đích của giải mã là để đọc được thông tin gốc trong trường hợp thông tin đó đã được mã hóa để bảo vệ tính bí mật của nó Quá trình giải mã yêu cầu sử dụng cùng một loại thuật toán mật mã học và cùng một khóa giải mã để giải mã được văn bản mã hóa
- Các bước thực hiện giải mã bao gồm: o Xác định loại mã hóa: Để giải mã được thông tin, chúng ta cần xác định loại mã hóa được sử dụng để mã hóa nó o Nhập khóa giải mã: Sau khi xác định loại mã hóa, chúng ta cần cung cấp khóa giải mã phù hợp để giải mã thông tin o Thực hiện giải mã: Sau khi có đầy đủ thông tin, chúng ta có thể bắt đầu thực hiện giải mã Quá trình này thực hiện đảo ngược các bước mã hóa đã được thực hiện trong quá trình mã hóa để chuyển đổi thông tin mã hóa trở lại thông tin gốc
1.2.4 Hệ mật đối xứng (Symmetric cryptosystem)
- Symmetric cryptosystem (Hệ mật đối xứng) là một hệ thống mật mã, trong đó cùng một key được sử dụng cho cả quá trình mã hóa và giải mã Cụ thể, người gửi sẽ sử dụng key để mã hóa thông điệp của mình trước khi gửi đến người nhận, và người nhận sẽ sử dụng cùng một key để giải mã thông điệp đó
- Hệ mật đối xứng bao gồm 5 thành phần (P, C, K, E , D) thỏa mãn các điều kiện sau: o Bản rõ (plaintext): Dữ liệu gốc mà người gửi muốn bảo vệ và giữ bí P mật trước khi gửi đi o Bản mật C (ciphertext): Dữ liệu đã được biến đổi từ dạng thông thường sang dạng không đọc được và không thể hiểu được o Khóa K (secret key): Giá trị ngẫu nhiên và bí mật được chia sẻ giữa các bên trao đổi thông tin được tạo ra từ bên thứ 3 được tin cậy hoặc bên phía người gửi o E (encrypt) là tập hợp các qui tắc mã hóa có thể o D (Decrypt) là tập hợp các qui tắc giải mã
Hình 2: 1.2.4 Mô hình hệ mật đối xứng 1.2.5 Hệ mật không đối xứng (Asymmetric cryptosystem)
- Asymmetric cryptosystem (hệ mật mã không đối xứng) là hệ thống mật mã mà sử dụng hai khóa riêng biệt, một khóa dùng để mã hóa và một khóa dùng để giải mã Khóa dùng để mã hóa được gọi là khóa công khai (public key) và khóa dùng để giải mã được gọi là khóa bí mật (private key)
- Với Asymmetric Encryption, chúng ta sẽ có 2 key, 1 key riêng tư do chúng ta giữ và một key công khai sẽ được gửi đến đối tác Cả 2 key này sẽ được dùng để xác nhận 2 bên và tạo ra một kết nối an toàn hơn
- Nếu sử dụng Symmetric Encryption trên mạng Internet vốn dĩ không an toàn, đồng nghĩa với việc key lẫn thông điệp bạn gửi đi đều sẽ có thể bị đọc trộm Vì thế, Asymmetric Encryption – Mã hóa bất đối xứng được sinh ra.
MÃ HÓA ĐƠN PHA
Khái niệm
Mã hóa đơn pha (Monoalphabetic Substitution Cipher) là một kiểu mã hóa đơn giản trong mật mã học, trong đó mỗi chữ cái trong bản rõ được thay thế bằng một chữ cái khác trong bản mã, theo một sự tương ứng cố định giữa các chữ cái Điều này có nghĩa là mỗi chữ cái trong bản rõ sẽ luôn được thay thế bằng cùng một chữ cái trong bản mã, và sự tương ứng này không thay đổi trong suốt quá trình mã hóa
Do Monoalphabetic làm việc trên bảng chữ cái tiếng anh nên chỉ sử dụng 26 chữ cái nên không gian khóa chỉ khoảng 26! ~ 4x10 26 Tính an toàn không cao nên hiện nay không còn được sử dụng
Bảng chữ cái ngẫu nhiên dùng để mã hóa
Quá trình hoạt động
Tạo ra bảng mã hóa: Bước đầu tiên là tạo ra một bảng chữ cái hoặc ký tự tương ứng với mã hóa Các ký tự trong bảng sẽ được sắp xếp một cách ngẫu nhiên
Mã hóa văn bản: Văn bản cần được mã hóa bằng cách thay thế mỗi ký tự trong văn bản bằng ký tự tương ứng trong bảng mã hóa Mỗi ký tự trong văn bản được thay thế bằng cùng một ký tự trong bảng mã hóa
Giải mã văn bản: Nếu muốn đọc lại văn bản đã được mã hóa, ta phải thực hiện quá trình giải mã bằng cách thay thế mỗi ký tự trong văn bản mã hóa bằng ký tự tương ứng trong bảng mã hóa Khi đó, ta sẽ thu được lại văn bản gốc.
Thuật toán
Thuật toán của Monoalphabetic Substitution Cipher bao gồm có 4 bước sau:
1 Tạo bảng mã hoán vị: Tạo một bảng mã hoán vị sử dụng các kí tự từ A đến
Z, với mỗi kí tự được thay thế bằng một kí tự khác
2 Mã hóa văn bản rõ: Để mã hóa một văn bản rõ, ta sẽ thay thế từng kí tự của văn bản rõ bằng kí tự tương ứng trong bảng mã hoán vị Ví dụ: Kí tự
A sẽ được thay thế bằng kí tự X, kí tự B sẽ được thay thế bằng kí tự M, và cứ tiếp tục như vậy cho đến khi tất cả các kí tự đều được thay thế
3 Sinh ra ciphertext: Khi tất cả các kí tự của văn bản rõ đều được thay thế, ta sẽ thu được bản mã ciphertext, là kết quả của quá trình mã hóa
4 Giải mã văn bản mã: Để giải mã một bản mã ciphertext, ta sẽ sử dụng bảng mã hoán vị để thay thế các kí tự trong bản mã bằng kí tự tương ứng trong bảng mã gốc, từ đó thu được bản rõ ban đầu.
Dưới đây sẽ là một ví dụ về thuật toán monoalphabetic để ta có thể hiểu cụ thể hơn:
- Đầu tiên, ta tạo ra một bảng chữ cái thường và một bảng chữ cái mã hóa với thứ tự ngẫu nhiên plaintext: a b c d e f g h i j k l m n o p q r s t u v w x y z ciphertext: z v p s d j k i r x n t h y b f l u w o g q e c a m
- Ta sẽ tiến hành mã hóa với mỗi kí tự trong plaintext, ta thay thế bằng kí tự tương ứng trong ciphertext theo cùng vị trí.
- Sau khi mã hóa xong ta thu được phần ciphertext như trên là “svvne”
- Cuối cùng ta sẽ tiến hành giải mã phần ciphertext bằng cách tương tự với mã hóa là sẽ thay thế bằng các kí tự tương ứng với bản plaintext đã được cho ciphertext: svvne plaintext: hello
Ưu nhược điểm
Monoalphabetic là một loại mã hóa đơn giản và dễ dàng triển khai, tuy nhiên nó có những ưu và nhược điểm như sau:
- Ưu điểm: o Triển khai đơn giản: Monoalphabetic là một loại mã hóa đơn giản và dễ dàng triển khai o Tính hiệu quả: Monoalphabetic có thể được sử dụng để mã hóa một số loại thông tin đơn giản như thông tin cá nhân hoặc thông tin không quan trọng o Độ bảo mật tương đối: Với sự sử dụng của các bảng mã ngẫu nhiên, Monoalphabetic có độ bảo mật tương đối Với độ dài của khóa đủ lớn, nó có thể trở thành một lựa chọn mã hóa tốt trong một số trường hợp
- Nhược điểm: o Dễ bị tấn công: Với cách thức mã hóa đơn giản, Monoalphabetic dễ dàng bị tấn công bởi các phương pháp tấn công như phân tích tần số, tấn công đối xứng và tấn công từ điển o Khóa đơn giản: Monoalphabetic sử dụng khóa đơn giản và không đối xứng, điều này làm cho nó dễ bị tấn công bởi các phương pháp tấn công từ điển và tấn công đối xứng o Mất tính bảo mật khi bảng mã bị tiết lộ: Monoalphabetic bảo mật bởi bảng mã được sử dụng Nếu bảng mã bị tiết lộ, mã hóa của Monoalphabetic sẽ không còn bảo mật nữa.
Nhận xét
Qua những tìm hiểu trên em rút ra được một vài nhận xét như sau:
- Monoalphabetic Substitution Cipher là một phương pháp bảo mật đơn giản và cổ điển nhất nhưng đã trở nên lỗi thời do những nhược điểm của nó Tuy nhiên nó vẫn được sử dụng trong một số trường hợp, như khi bạn muốn tạo ra một mã hóa nhanh chóng hoặc để bảo vệ thông tin trong các tình huống không quá nhạy cảm
- Điểm mạnh của Monoalphabetic Substitution Cipher là đơn giản và dễ hiểu Ngay cả khi bạn không có kiến thức chuyên sâu về mật mã, bạn vẫn có thể hiểu cách mã hóa và giải mã dễ dàng Nó cũng dễ dàng triển khai và có thể được sử dụng trong các ứng dụng nhỏ hoặc các bài tập mã hóa
- Chính vì vậy Monoalphabetic Substitution Cipher không nên được sử dụng trong các tình huống cần mức độ bảo mật cao.
PHÂN TÍCH TẦN SUẤT
Khái niệm
Phân tích tần suất là quá trình phân tích văn bản để xác định tần suất xuất hiện của các ký tự hoặc cụm từ khác nhau trong văn bản Quá trình này có thể giúp phát hiện các mẫu, quy luật hoặc tính chất của văn bản và có thể được sử dụng để giải mã các loại mã hóa như Monoalphabetic Substitution Cipher Các ký tự hoặc cụm từ xuất hiện nhiều hơn trong văn bản thường có khả năng cao là các ký tự hoặc cụm từ phổ biến trong ngôn ngữ hoặc ngữ cảnh của văn bản đó
Phương pháp này được sử dụng như một biện pháp hỗ trợ để phá vỡ mật mã cổ điển (classical cipher)
Phân tích tần suất (frequency analysis) dựa trên thực tế rằng, trong bất kỳ ngữ viết nào, các chữ cái và tổ hợp chữ cái nhất định xảy ra với tần suất khác nhau Chẳng hạn, được đưa ra một phần của ngôn ngữ tiếng Anh, các chữ cái E, T, A và O là phổ biến nhất, trong khi các chữ cái Z, Q và X không được sử dụng thng xuyên.tự như vậy,
Biểu đồ 1: 3.1 Biểu đồ tần suất các ký tự trong Tiếng Anh
Quá trình hoạt động
Các bước cơ bản của phân tích tần suất bao gồm:
- Thu thập dữ liệu: thu thập một mẫu văn bản đủ lớn để có thể phân tích tần suất của các ký tự hoặc cụm từ
- Phân tích tần suất: tính toán tần suất xuất hiện của các ký tự hoặc cụm từ trong văn bản mẫu và văn bản được mã hóa
- So sánh tần suất: so sánh tần suất xuất hiện của các ký tự hoặc cụm từ trong hai văn bản để tìm ra sự tương đồng và khác biệt giữa chúng
- Phân tích kết quả: dựa trên sự tương đồng và khác biệt giữa các tần suất, đưa ra những suy luận và dự đoán về cách mã hóa được thực hiện.
Thuật toán
Phân tích tần suất là một kỹ thuật được sử dụng trong mật mã học để phá các loại mã thay thế monoalphabetic substitution cipher, bao gồm việc phân tích phân bố tần suất của các chữ cái hoặc nhóm các chữ cái trong văn bản mã hóa Thuật toán phân tích tần suất có thể được tóm tắt như sau:
- Đếm tần suất của mỗi chữ cái trong văn bản mã hóa
- Tính phần trăm xuất hiện của mỗi chữ cái trong văn bản mã hóa
- So sánh phân bố tần suất của các chữ cái trong văn bản mã hóa với phân bố tần suất mong đợi của các chữ cái trong ngôn ngữ của văn bản gốc
- Dựa trên sự so sánh, xác định chữ cái xuất hiện nhiều nhất trong văn bản mã hóa, có thể tương ứng với chữ cái xuất hiện nhiều nhất trong văn bản gốc
- Đưa ra giả định về chữ cái trong văn bản gốc tương ứng với các chữ cái trong văn bản mã hóa và thay thế chúng
- Lặp lại quá trình cho các chữ cái xuất hiện nhiều lần khác trong văn bản mã hóa, cho đến khi thông điệp văn bản gốc được tái tạo.
- Thành công của phân tích tần suất phụ thuộc vào độ dài và chất lượng của văn bản mã hóa, ngôn ngữ của văn bản gốc và sự hiện diện của bất kỳ kỹ thuật mã hóa nào có thể làm giảm phân bố tần suất của các chữ cái.
Ưu nhược điểm
- Phương pháp đơn giản, dễ hiểu và thực hiện
- Phù hợp với các loại mã hóa đơn giản, không phức tạp
- Phân tích tần suất là một kỹ thuật hiệu quả để phá các mã hóa thay thế đơn giản
- Phân tích tần suất không hoạt động tốt với các loại mã hóa phức tạp hơn như các hệ mã hóa đa cấp, mã hóa dịch vị và mã hóa khóa công khai
- Phân tích tần suất có thể dễ dàng bị ngăn cản bằng cách sử dụng các phương pháp mã hóa khác như thay đổi vị trí, thay đổi kích thước hoặc sử dụng kỹ thuật mã hóa bất đối xứng
- Phân tích tần suất yêu cầu một lượng lớn văn bản mã hóa để đưa ra kết quả chính xác
- Phân tích tần suất có thể không hoạt động nếu ngôn ngữ của văn bản mã hóa không phải là ngôn ngữ phổ biến hoặc không có sẵn các thống kê về tần suất xuất hiện các ký tự.
Nhận xét
Qua những tìm hiểu trên em rút ra được một vài nhận xét như sau:
- Như một mô hình giải mã đơn giản và phổ biến, phân tích tần suất là một công cụ hữu ích để giải mã các loại mã hóa thay thế đơn giản Tuy nhiên, nó cũng có những hạn chế nhất định như cần phải có đủ văn bản mã hóa và văn bản nguyên gốc để so sánh tần suất, và không thể áp dụng cho các thuật toán mã hóa phức tạp hơn
- Ngoài ra, phương pháp phân tích tần suất cũng có thể bị đánh lừa bởi các phương pháp khác như thay đổi vị trí của các chữ cái trong bản mã hoặc sử dụng các kỹ thuật mã hóa khác như việc sử dụng phép toán, thay vì đơn thuần chỉ sử dụng thay thế
- Tuy nhiên, nếu có đủ văn bản mã hóa và biết ngôn ngữ của bản gốc, phân tích tần suất là một phương pháp đơn giản và hiệu quả để giải mã các mã hóa thay thế đơn giản Nó cũng là một công cụ hữu ích trong giáo dục và nghiên cứu về mật mã học
- Tuy nhiên, phương pháp giải mã phân tích tần suất cũng có một số hạn chế Ví dụ, nếu văn bản đã được mã hóa bằng cách thay thế một từ hoặc một cụm từ bằng một ký tự đơn, thì phương pháp giải mã phân tích tần suất sẽ không hiệu quả.
Tổng kết
Phân tích tần suất và mã hóa thay thế monoalphabetic là hai phương pháp khác nhau để mã hóa và giải mã văn bản Dưới đây là một số so sánh chi tiết giữa hai phương pháp này:
- Độ phức tạp: Monoalphabetic substitution cipher có độ phức tạp thấp hơn so với phân tích tần suất Việc thực hiện mã hóa và giải mã trong monoalphabetic substitution cipher có thể được thực hiện một cách nhanh chóng và dễ dàng hơn Trong khi đó, phân tích tần suất yêu cầu tính toán và so sánh tần suất của các ký tự trong văn bản, đòi hỏi sự chính xác và tính toán
- Độ chính xác: Trong monoalphabetic substitution cipher, nếu các ký tự không được mã hóa giống nhau, giải mã có thể dẫn đến văn bản không đúng hoặc không rõ ràng Phân tích tần suất, mặt khác, có thể xác định các ký tự xuất hiện nhiều nhất trong văn bản và giải mã chính xác hơn
- Ứng dụng: Monoalphabetic substitution cipher được sử dụng để mã hóa các tin nhắn ngắn, trong khi phân tích tần suất có thể được sử dụng để giải mã các tài liệu dài hơn hoặc các loại mã hóa khác
- Độ an toàn: Monoalphabetic substitution cipher không an toàn bởi vì nó dễ dàng bị phá vỡ bởi phân tích tần suất và nhiều kỹ thuật khác Trong khi đó, phân tích tần suất cũng có thể bị đánh lừa nếu văn bản được mã hóa bằng cách sử dụng các kỹ thuật phức tạp hơn, chẳng hạn như sử dụng khối ký tự thay vì đơn lẻ
Tóm lại, hai phương pháp này có những ưu điểm và hạn chế riêng của chúng Monoalphabetic substitution cipher có độ phức tạp thấp và dễ sử dụng, nhưng không an toàn Phân tích tần suất có thể giải mã chính xác hơn, nhưng đòi hỏi tính toán và có độ phức tạp cao hơn.
THỰC NGHIỆM
Mã hóa b ằng phương pháp mật mã thay thế đơn pha
Các bước tiến hành mã hóa bằng phương pháp “Mật mã thay thế đơn pha”:
• Bước 1: Tạo bảng thay thế chữ cái ngẫu nhiên Để tăng tính bảo mật mỗi khi mã hóa thì bảng thay thế này sẽ thay đổi
• Bước 2: Tạo ra bảng lưu trữ theo dạng Dictionary để lưu ký tự trong văn bản gốc được thay thế bằng ký tự tương ứng trong bảng chữ cái thay thế
• Bước 3: Tiến hành triển khai function encrypt(mess,code) để mã hóa với hai tham số đầu vào gồm đoạn plaintext và bảng mã thay thế
Hình 3: 4.1.1 Code xây dựng hàm tạo chuỗi ký tự tiếng anh
Hình 4: 4.1.1 Code xây dựng tạo bảng lưu bản mã
Hình 5: 4.1.1 Code xây dựng hàm mã hóa văn bản
Kết quả thử nghiệm lần 1:
Hình 6: 4.1.2 Kết quả thử nghiệm lần 1 Kết quả thử nghiệm lần 2:
Hình 7: 4.1.2 Kết quả thử nghiệm lần 2
Ta có thể thấy qua 2 lần thử nghiệm sẽ cho ra 2 kết quả mã hóa khác nhau vì bộ dữ liệu của bảng mã bị thay đổi sau mỗi lần thực hiện mã hóa Vậy thì tại sao phải thay đổi bộ dữ liệu của bảng mã sau mỗi lần mã hóa ? Bởi vì ếu bộ mã hóa không thay n đổi, bộ dữ liệu sẽ giảm đi độ bảo mật của nó vì thế kẻ tấn công có thể sử dụng phương pháp phân tích tần suất để giải mã các kí tự trong bản mã để xác định bộ phân phối ngẫu nhiên đang được sử dụng Vì thế thay đổi bộ dữ liệu liên tục sẽ làm tăng tính bảo mật cho phương pháp mã hóa này
Nói tóm lại, khi chúng ta muốn thực hiện mã hóa bằng phương pháp mật mã thay thế đơn pha cần phải cân nhắc và thiết kế phương pháp thay đổi bộ mã hóa sao cho vừa đảm bảo tính bảo mật, vừa dễ dàng thực hiện.
Giải mã bằng phương pháp phân tích tần suất
Các bước tiến hành giải mã bằng phương pháp “Phân tích tần suất”:
• Bước 1: Tạo một bảng tần suất cho các ký tự trong văn bản Có thể sử dụng một từ điển Python để lưu bảng tần suất này Bảng này được sắp xếp theo thứ tự giảm dần Với giá trị tham số đầu vào là một đoạn text đã được mã hóa
Hình 8: 4.2.1 Code xây dựng hàm tạo bảng tần suất cho kí trong văn bản
• Bước 2: Tạo một bảng ánh xạ từ các ký tự mã hóa sang các ký tự được giải mã
Hình 9: 4.2.1 Code tạo bảng ánh xạ
1 Đầu tiên ta sẽ tạo một bảng ánh xạ kiểu dữ liệu là một Dictionary có giá trị rỗng
2 Ta duyệt cái trị số có trong bảng tần suất số lần xuất hiện trong plaintext (frq_dict)
3 Ta bắt đầu gán key là key của bảng tần suất frq_dict và gán value là key của bảng tần suất Tiếng Anh trên thế giới (EnglishCharFre)
• Bước 3: Tiến hành triển khai function decrypt(cipherText, codeTable) với 2 tham số đầu vào là đoạn cipher text đã mã hóa và bảng ánh xạ để thực hiện quá trình giải mã
Hình 10: 4.2.1 Code xây dựng hàm giải mã văn bản
Tần suất xuất hiện của các kí tự trong lần thử nghiệm lần 1 với 50 từ:
Biểu đồ : 4.2.2 Biểu đồ tần suất xuất hiện của các chữ cái trong lần thử thứ 12 Kết quả thử nghiệm lần 1 với 50 ký tự:
Hình 11: 4.2.2 Kết quả thử nghiệm lần 1
Tỉ lệ thành công khi giải mã với số lượng 50 ký tự 16.67là %.
Tần suất xuất hiện của các kí tự trong lần thử nghiệm lần 2 với 100 ký tự:
Biểu đồ 3: 4.2.2 Biểu đồ tần suất xuất hiện của các chữ cái trong lần thử thứ 2 Kết quả thử nghiệm lần 2 với 100 ký tự:
Hình 12: 4.2.2 Kết quả thử nghiệm lần 2
Tỉ lệ thành công khi giải mã với số lượng 100 ký tự 0là %.
Tần suất xuất hiện của các kí tự trong lần thử nghiệm lần 3 với 1000 ký tự:
Biểu đồ 4.2.2 Biểu đồ4: tần suất xuất hiện của các chữ cái trong lần thử thứ 3 Kết quả thử nghiệm lần 3 với 1000 ý tựk :
Hình 13: 4.2.2 Kết quả thử nghiệm lần 3
Tỉ lệ thành công khi giải mã với số lượng 1000 ký tự là 3.56%
Tần suất xuất hiệncủa các kí tự trong lần thử nghiệm lần 4 với 2000 ký tự:
Biểu đồ 5: 4.2.2 Biểu đồ tần suất xuất hiện của các chữ cái trong lần thử thứ 4 Kết quả thử nghiệm lần 4 với 2000 ký tự:
Hình 14: 4.4.2 Kết quả thử nghiệm lần 4
Tỉ lệ thành công khi giải mã với số lượng 2000 ký tự là 16.73%
Qua những lần thực nghiệm trên ta có thể rút ra được kết luận như sau:
• Tỉ lệ giải mã thành công của giải mã phân tích tần suất phụ thuộc vào nhiều yếu tố, bao gồm độ phức tạp của mã hóa, độ dài của văn bản đã mã hóa, độ lớn của bộ từ điển, và sự hiểu biết về ngôn ngữ
• Cần lưu ý rằng không phải trường hợp nào cũng có thể giải mã thành công bằng phương pháp phân tích tần suất
• Phương pháp giải mã phân tích tần suất dựa trên việc phân tích tần suất xuất hiện của các ký tự trong văn bản đã mã hóa
• Các ký tự có tần suất xuất hiện cao nhất trong văn bản đã mã hóa có khả năng tương ứng với các ký tự phổ biến nhất trong ngôn ngữ gốc
• Khi tần suất xuất hiện của một ký tự trong văn bản đã mã hóa và tần suất xuất hiện của ký tự tương ứng trong ngôn ngữ gốc khác nhau đáng kể, thì khả năng cao ký tự đó được mã hóa bằng ký tự khác trong ngôn ngữ gốc
• Tuy nhiên, phương pháp giải mã phân tích tần suất cũng có một số hạn chế Ví dụ, nếu văn bản đã được mã hóa bằng cách thay thế một từ hoặc một cụm từ bằng một ký tự đơn, thì phương pháp giải mã phân tích tần suất sẽ không hiệu quả
• Khi sử dụng phương pháp giải mã phân tích tần suất, có thể cần phải xem xét thêm các yếu tố khác như ngữ cảnh và kiến thức về ngôn ngữ để giải mã chính xác.