T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

Phân tích tần suất

Dán bất kỳ văn bản nào để xem mỗi chữ cái xuất hiện thường xuyên ra sao, đặt cạnh tần suất của tiếng Anh viết để so sánh trực tiếp. Đọc số đếm bigram và trigram, kiểm tra chỉ số trùng hợp để phân biệt mật mã đơn bảng chữ với đa bảng chữ, và xuất bảng kết quả. Mọi thứ đều chạy trong trình duyệt của bạn.

Thử một mẫu:

Văn bản cần phân tích

Dán một ít văn bản vào ô trên và tần suất chữ cái, bigram, trigram cùng chỉ số trùng hợp của nó sẽ hiện ra ở đây.

Cách sử dụng Phân tích tần suất

  1. 1

    Dán văn bản của bạn

    Sao chép văn bản hay văn bản mã hóa bạn muốn nghiên cứu và dán vào ô. Chữ cái được đếm không phân biệt hoa thường, còn khoảng trắng, số và dấu câu đều bị bỏ qua.

  2. 2

    Đọc bản tóm tắt

    Xem số ký tự và số chữ cái, có bao nhiêu chữ cái khác nhau, chữ cái phổ biến nhất, và chỉ số trùng hợp, vốn gợi ý liệu một bảng chữ hay nhiều bảng đã được dùng.

  3. 3

    Nghiên cứu biểu đồ tần suất chữ cái

    So sánh thanh của mỗi chữ cái với dấu mốc tiếng Anh của nó. Chuyển sang 'Theo tần suất' để xếp hạng các chữ cái và thấy hình dạng tổng thể — gồ ghề với một mật mã thay thế, phẳng với một mật mã đa bảng chữ.

  4. 4

    Lướt qua các bigram và trigram

    Nhìn vào những cặp và bộ ba phổ biến nhất. Trong một mật mã, trigram hàng đầu thường là một THE ngụy trang, trao cho bạn ba chữ cái cùng một lúc.

  5. 5

    Xuất hoặc chia sẻ

    Tải bảng tần suất dưới dạng CSV cho ghi chú hay bảng tính của bạn, hoặc sao chép một liên kết chia sẻ mở lại công cụ với đúng văn bản của bạn. Mọi thứ vẫn nằm trong trình duyệt của bạn.

Phân tích tần suất chữ cái, giải thích cặn kẽ

Phân tích tần suất là gì?

Phân tích tần suất là việc nghiên cứu mỗi chữ cái, cặp chữ cái, hay bộ ba chữ cái xuất hiện thường xuyên ra sao trong một đoạn văn bản. Vì các chữ cái của một ngôn ngữ không được dùng đồng đều — E và T có mặt khắp nơi trong tiếng Anh trong khi Q và Z lại hiếm — nên mẫu tần suất hoạt động như một dấu vân tay. Đếm mẫu đó là kỹ thuật lâu đời nhất và mạnh mẽ nhất trong phân tích mật mã cổ điển, lần đầu được học giả Ả Rập al-Kindi ghi chép vào thế kỷ thứ chín.

Công cụ này đếm các chữ cái trong bất cứ thứ gì bạn dán vào, hiển thị mỗi chữ thành một thanh bên cạnh tần suất tiếng Anh kỳ vọng, liệt kê các bigram và trigram phổ biến nhất, và báo cáo chỉ số trùng hợp. Cùng nhau, những con số này cho bạn biết liệu văn bản là chữ viết thông thường, một mật mã thay thế đơn giản, hay thứ gì đó dùng nhiều bảng chữ cùng lúc — mà bạn không phải đếm dù chỉ một chữ cái bằng tay.

Đọc biểu đồ tần suất chữ cái

Mỗi hàng là một chữ cái trong bảng chữ. Thanh được tô đầy cho thấy chữ cái đó xuất hiện thường xuyên ra sao trong văn bản của bạn theo phần trăm trên tổng số chữ cái, còn dấu mốc dọc mảnh cho thấy tần suất của cùng chữ cái đó trong tiếng Anh điển hình. Khi một thanh vượt xa dấu mốc của nó, chữ cái đó được biểu diễn quá nhiều; khi nó hụt lại, chữ cái đó hiếm hơn bình thường. Đổi thứ tự sắp xếp để xếp hạng các chữ cái từ phổ biến nhất đến ít nhất, giúp hình dạng của phân bố hiện ra rõ ràng chỉ trong một cái nhìn.

Trong tiếng Anh bình thường, những thanh cao nhất là E, T, A, O, I và N, và biểu đồ trông gồ ghề và không đều. Một mật mã đơn bảng chữ giữ nguyên hình dạng gồ ghề đó nhưng dịch các đỉnh sang những chữ cái khác, vì mỗi chữ cái đơn giản được tráo lấy một chữ khác. Một mật mã đa bảng chữ làm phẳng biểu đồ cho đến khi mọi thanh đều cao xấp xỉ nhau, vì cùng một chữ cái rõ lại được mã hóa khác nhau tùy theo vị trí của nó. Nhận ra hai hình dạng đó là kỹ năng hữu ích nhất trong việc phá các mật mã cổ điển.

Chỉ số trùng hợp

Chỉ số trùng hợp, hay IoC, đo xác suất hai chữ cái lấy ngẫu nhiên từ văn bản là giống nhau. Tiếng Anh thông thường nằm quanh 0.067 vì tần suất của nó rất không đều, trong khi văn bản hoàn toàn ngẫu nhiên tiến gần đến 0.038, nơi mọi chữ cái đều có khả năng xuất hiện như nhau. Một con số duy nhất nắm bắt được phân bố gồ ghề hay phẳng đến mức nào.

Điều này khiến IoC trở thành phép kiểm tra nhanh nhất để phân biệt các họ mật mã. Mật mã Caesar, Atbash và thay thế bằng từ khóa chỉ đổi nhãn các chữ cái, nên hồ sơ gồ ghề của tiếng Anh được giữ nguyên và IoC vẫn cao, gần 0.066. Vigenère và các mật mã đa bảng chữ khác trộn nhiều bảng chữ, làm phẳng tần suất và kéo IoC xuống gần 0.04. Công cụ in giá trị kèm một gợi ý ngắn, nên một số đọc được cao chỉ bạn tới một mật mã thay thế còn số thấp chỉ bạn tới một mật mã đa bảng chữ.

Bigram, trigram và mẫu tiếp xúc

Các chữ cái đơn lẻ chỉ là khởi đầu. Tiếng Anh còn có những cặp và bộ ba chữ cái được ưa chuộng mạnh mẽ: TH, HE, IN, ER và AN là những bigram phổ biến nhất, còn THE, AND, ING và ENT chiếm ưu thế trong các trigram. Công cụ liệt kê những cặp và bộ ba phổ biến nhất trong văn bản của bạn, chỉ đếm chúng bên trong từng từ để một khoảng trắng không bao giờ nối hai chữ cái không liên quan thành một cặp giả.

Những mẫu tiếp xúc này vô cùng quý giá khi việc đếm chữ cái đơn thuần là chưa đủ. Trong một mật mã thay thế, phiên bản ngụy trang của THE thường hiện ra dưới dạng trigram phổ biến nhất, cho bạn ba chữ cái cùng một lúc. Các bigram lặp lại có thể để lộ độ dài của khóa Vigenère qua phương pháp Kasiski. Ngay cả sự vắng mặt của các chữ cái lặp đôi, hay một chuỗi đáng ngờ gồm các cặp hiếm, cũng là một manh mối về loại mật mã bạn đang đối mặt.

Phá mật mã bằng phân tích tần suất

Để tấn công một mật mã thay thế đơn bảng chữ, hãy sắp xếp biểu đồ theo tần suất và xếp nó cạnh tiếng Anh. Chữ cái mã hóa phổ biến nhất có lẽ là E, chữ kế tiếp có lẽ là T, và trigram hàng đầu có lẽ là THE. Hãy ghi nhẹ những phỏng đoán đó, rồi dùng danh sách bigram và trigram để mở rộng chúng — một khi bạn biết E và T, cặp TH và từ THE nhanh chóng vào đúng chỗ, và phần còn lại của thông điệp dần được tháo gỡ từ đó.

Với một mật mã Caesar, cùng một logic còn đơn giản hơn nữa, vì mọi chữ cái đều dịch đi cùng một lượng: tìm phép dịch xếp đỉnh của mật mã thẳng với E của tiếng Anh là bạn có khóa. Với một mật mã Vigenère, phân tích tần suất vẫn hiệu quả, nhưng chỉ sau khi bạn tách văn bản thành các cột theo độ dài khóa, vì khi đó mỗi cột là một mật mã Caesar riêng mà bạn có thể giải riêng. Biết chỉ số trùng hợp trước sẽ cho bạn biết liệu mẹo chia cột này có cần thiết hay không.

Đơn bảng chữ so với đa bảng chữ chỉ trong một cái nhìn

Nếu bạn chỉ nhớ một điều, hãy nhớ điều này. Một chỉ số trùng hợp cao và một biểu đồ gồ ghề với những thanh cao rõ ràng nghĩa là một mật mã đơn bảng chữ, nơi mỗi chữ cái ánh xạ chính xác tới một chữ cái khác — Caesar, Atbash, affine, hay thay thế bằng từ khóa. Những loại này chịu thua phân tích tần suất một cách trực tiếp, vì thống kê của văn bản rõ chiếu thẳng qua.

Một chỉ số trùng hợp thấp và một biểu đồ phẳng nơi mọi thanh đều cao xấp xỉ nhau nghĩa là một mật mã đa bảng chữ, nơi một chữ cái rõ có thể trở thành nhiều chữ cái mã hóa khác nhau — Vigenère, Beaufort, Gronsfeld hay Porta. Những loại này giấu đi tần suất chữ cái thô, nên trước hết bạn phải khôi phục độ dài khóa rồi phân tích từng vị trí riêng biệt. Biểu đồ và IoC cho bạn biết bạn đang ở trong thế giới nào trong hai thế giới này trước khi bạn bỏ ra bất kỳ công sức nào.

Giới hạn và cách dùng đúng

Phân tích tần suất mang tính thống kê, nên nó cần đủ văn bản để đáng tin cậy. Một thông điệp ngắn chỉ chục chữ cái có thể cho ra tần suất sai lệch ghê gớm chỉ do tình cờ, trong khi cả một đoạn văn lắng xuống gần với mẫu kỳ vọng. Khi một mẫu trông mơ hồ, nguyên nhân thường gặp là nó quá ngắn chứ không phải phương pháp đã thất bại.

Hãy nhớ rằng đường cơ sở tiếng Anh hiển thị ở đây là cho văn xuôi thông thường. Văn bản chuyên biệt — một danh sách tên, một đoạn mã nguồn, hay chữ viết bằng ngôn ngữ khác — có hồ sơ riêng của nó và sẽ không khớp. Công cụ bỏ qua khoảng trắng, chữ số và dấu câu, đồng thời gộp chữ hoa và chữ thường làm một, đó đúng là điều bạn muốn cho các mật mã cổ điển, nhưng điều đó nghĩa là nó chỉ phân tích chữ cái, không phải cấu trúc của một cách mã hóa như Base64 hay Morse. Với những loại đó, hãy nhận dạng cách mã hóa trước và giải nó, rồi chạy phân tích tần suất trên các chữ cái nằm bên dưới.

Câu hỏi thường gặp

Phân tích tần suất là gì?
Phân tích tần suất đếm mỗi chữ cái, cặp và bộ ba xuất hiện thường xuyên ra sao trong một văn bản. Vì các ngôn ngữ dùng chữ cái không đều — E và T phổ biến trong tiếng Anh, Q và Z hiếm — nên mẫu đó hoạt động như một dấu vân tay. Đây là kỹ thuật lâu đời nhất trong phân tích mật mã và là cách chính để phá các mật mã thay thế cổ điển.
Làm sao tôi dùng phân tích tần suất để phá một mật mã?
Sắp xếp biểu đồ theo tần suất và khớp nó với tiếng Anh: chữ cái mã hóa phổ biến nhất có lẽ là E, chữ kế tiếp là T, và trigram hàng đầu có lẽ là THE. Ghi nhẹ những phỏng đoán đó, rồi mở rộng chúng bằng danh sách bigram và trigram cho đến khi thông điệp đọc được. Với một mật mã Caesar, chỉ cần tìm phép dịch xếp đỉnh thẳng với E.
Chỉ số trùng hợp là gì?
Chỉ số trùng hợp đo khả năng hai chữ cái lấy ngẫu nhiên từ văn bản là giống nhau. Tiếng Anh khoảng 0.067 và văn bản ngẫu nhiên khoảng 0.038. Các mật mã đơn bảng chữ giữ giá trị cao, gần 0.066, trong khi các mật mã đa bảng chữ như Vigenère làm phẳng nó về gần 0.04, đây là cách nhanh nhất để phân biệt hai họ này.
Khác biệt giữa đơn bảng chữ và đa bảng chữ là gì?
Trong một mật mã đơn bảng chữ, mỗi chữ cái luôn ánh xạ tới cùng một chữ cái khác, nên hồ sơ tần suất gồ ghề của tiếng Anh được giữ nguyên và một chỉ số trùng hợp cao cùng biểu đồ không đều để lộ điều đó. Một mật mã đa bảng chữ dùng nhiều bảng chữ, nên một chữ cái rõ trở thành nhiều chữ cái mã hóa, làm phẳng biểu đồ và hạ thấp chỉ số trùng hợp.
Tại sao công cụ hiển thị bigram và trigram?
Các chữ cái đơn lẻ không phải lúc nào cũng đủ. Tiếng Anh có những cặp và bộ ba được ưa chuộng mạnh mẽ như TH, HE, THE và ING. Trong một mật mã thay thế, THE ngụy trang thường là trigram phổ biến nhất, cho bạn ba chữ cái cùng một lúc, và các bigram lặp lại có thể để lộ độ dài khóa Vigenère qua phương pháp Kasiski.
Các thanh và dấu mốc dọc có nghĩa là gì?
Thanh được tô đầy là mức độ một chữ cái xuất hiện trong văn bản của bạn, theo phần trăm trên tổng số chữ cái. Dấu mốc dọc mảnh trên cùng hàng là tần suất của chữ cái đó trong tiếng Anh điển hình. Một thanh vượt qua dấu mốc của nó là được biểu diễn quá nhiều; một thanh hụt lại là hiếm hơn bình thường. Phép so sánh cho thấy ngay trong một cái nhìn văn bản của bạn khác với tiếng Anh thường ra sao.
Tôi cần bao nhiêu văn bản để có kết quả đáng tin cậy?
Phân tích tần suất mang tính thống kê, nên càng dài càng tốt. Một chục chữ cái có thể cho ra tần suất sai lệch do thuần tình cờ, trong khi cả một đoạn văn lắng xuống gần với mẫu kỳ vọng. Nếu một mẫu trông mơ hồ, thường là do nó quá ngắn chứ không phải phương pháp thất bại. Hãy nhắm tới ít nhất một hai câu.
Nó có hiệu quả với các ngôn ngữ khác ngoài tiếng Anh không?
Nó đếm các chữ cái từ A đến Z và so sánh chúng với đường cơ sở tiếng Anh, nên các số đếm là đúng cho bất kỳ văn bản nào nhưng phép so sánh chỉ có ý nghĩa với văn xuôi tiếng Anh. Các ngôn ngữ khác có hồ sơ tần suất riêng, nên các thanh sẽ không xếp thẳng với các dấu mốc, dù số đếm thô, bigram và chỉ số trùng hợp vẫn hữu ích.
Tôi có thể phân tích Base64, Morse hay nhị phân không?
Công cụ này nghiên cứu tần suất chữ cái, nên nó hiệu quả nhất với văn bản chữ cái và các mật mã. Các cách mã hóa như Base64, Morse hay nhị phân biểu diễn văn bản dưới dạng ký hiệu hoặc số chứ không phải chữ cái, nên bạn nên nhận dạng và giải mã chúng trước, rồi chạy phân tích tần suất trên các chữ cái nằm bên dưới. Trình nhận dạng mật mã có thể cho bạn biết bạn đang có cách mã hóa nào.
Văn bản của tôi có được tải lên máy chủ không?
Không. Toàn bộ việc đếm diễn ra hoàn toàn trong trình duyệt của bạn, nên văn bản của bạn không bao giờ được tải lên, ghi nhật ký hay lưu trữ. Ngay cả một liên kết chia sẻ cũng giữ văn bản của bạn trong phần URL nằm sau dấu thăng, vốn được trình duyệt không bao giờ gửi tới máy chủ, nên nó vẫn riêng tư cho đến khi bạn chọn chia sẻ.
Tôi có thể xuất bảng tần suất không?
Có. Nút Xuất CSV tải xuống toàn bộ bảng từ A đến Z với số đếm của mỗi chữ cái, phần trăm của nó trong văn bản của bạn, và phần trăm đường cơ sở tiếng Anh, sẵn sàng để mở trong một bảng tính hoặc dán vào ghi chú của bạn. Bạn cũng có thể sao chép một liên kết chia sẻ mở lại công cụ với cùng văn bản.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Trình giải mã thay thế

Bộ chuyển đổi Unix Timestamp

Bộ chuyển đổi JSON ↔ CSV

Bộ chuyển đổi CSV sang JSON

Bộ chuyển đổi JSON ↔ YAML

Bộ chuyển đổi Văn bản ↔ Nhị phân