T

Text Machine

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

Công cụ giải mã thay thế

Dán một mật mã thay thế đơn bảng hoặc mật mã chữ lồng và khôi phục thông điệp gốc mà không cần biết khóa. Công cụ khớp tần suất các chữ cái để đưa ra phỏng đoán khởi đầu, rồi dùng simulated annealing được chấm điểm dựa trên trigram tiếng Anh để tìm trong bảng 26 chữ cái cách đọc giống tiếng Anh nhất. Mọi thứ chạy ngay trong trình duyệt của bạn.

Thử một mẫu:

Văn bản mã hóa

Dán một mật mã thay thế ở trên, nhấn Giải, và thông điệp khôi phục cùng bảng chữ cái thay thế sẽ hiện ra ở đây. Bạn càng cung cấp nhiều văn bản, kết quả càng đáng tin cậy.

Cách sử dụng Trình giải mã thay thế

  1. 1

    Dán văn bản mã hóa

    Sao chép mật mã thay thế hoặc mật mã chữ lồng của bạn và dán vào ô. Càng nhiều văn bản thì càng giải đáng tin cậy hơn; các chữ cái được đọc không phân biệt hoa thường, còn dấu cách, chữ số và dấu câu được bỏ qua khi giải rồi khôi phục lại trong đáp án.

  2. 2

    Nhấn Giải

    Nhấp Giải mật mã. Quá trình tìm kiếm chạy trong chốc lát — nó thử hàng trăm nghìn bảng chữ cái ứng viên — rồi hiển thị cách đọc giống tiếng Anh nhất mà nó tìm được.

  3. 3

    Đọc thông điệp đã khôi phục

    Văn bản đã giải hiện ra với cách viết hoa, khoảng cách và dấu câu gốc được khôi phục. Sao chép nó chỉ với một cú nhấp để giữ lại kết quả.

  4. 4

    Kiểm tra bảng chữ cái đã khôi phục

    Bên dưới thông điệp, bảng chữ cái thay thế cho thấy mỗi chữ cái trong văn bản mã hóa được giải thành gì. Những chữ cái bị làm mờ không bao giờ xuất hiện trong văn bản của bạn, nên công cụ không thể xác định chúng. Sao chép bảng chữ cái để tái sử dụng hoặc kiểm chứng khóa.

  5. 5

    Chia sẻ hoặc xóa

    Sao chép một liên kết có thể chia sẻ để mở lại công cụ với đúng văn bản mã hóa của bạn — văn bản nằm trong phần URL sau dấu thăng, vốn không bao giờ tới được máy chủ. Xóa sẽ đặt lại mọi thứ.

Giải thích cách phá mật mã thay thế

Công cụ này làm gì

Một mật mã thay thế đơn bảng thay mỗi chữ cái của bảng chữ cái bằng một chữ cái khác — A có thể trở thành Q, B có thể trở thành W — và dùng đúng bảng chữ cái bị xáo trộn đó cho toàn bộ thông điệp. Đó là mật mã đứng sau các mật mã chữ lồng trên báo, các câu đố phòng thoát hiểm và các Aristocrat của Hiệp hội Mật mã chữ lồng Hoa Kỳ. Có hơn bốn trăm septillion bảng chữ cái khả dĩ, quá nhiều để thử từng cái một, vậy mà mật mã thay thế lại là một trong những loại mật mã dễ phá nhất. Công cụ này phá nó giúp bạn, tự động, mà không cần khóa.

Dán văn bản mã hóa và công cụ sẽ trả về thông điệp gốc khả dĩ nhất cùng toàn bộ bảng chữ cái thay thế mà nó khôi phục được. Nó hoạt động theo cách một người giải đố lành nghề vẫn làm — bắt đầu từ tần suất chữ cái, rồi liên tục hoán đổi các chữ cái và giữ lại những thay đổi khiến văn bản đọc giống tiếng Anh hơn — chỉ có điều nó làm vậy hàng trăm nghìn lần mỗi giây. Không có gì rời khỏi trình duyệt của bạn; toàn bộ quá trình tìm kiếm chạy ngay trên máy của bạn.

Vì sao một mật mã thay thế có thể bị phá

Một mật mã thay thế giấu đi chữ cái nào là chữ cái nào, nhưng nó không thể giấu được mỗi chữ cái được dùng thường xuyên đến mức nào. Trong tiếng Anh, E phổ biến hơn nhiều so với bất kỳ chữ cái nào khác, tiếp theo là T, A, O, I và N, trong khi J, Q, X và Z thì hiếm. Việc mã hóa chỉ đơn giản đổi nhãn cho các tần suất đó: chữ cái nào đại diện cho E sẽ là chữ cái phổ biến nhất trong văn bản mã hóa. Chính sự thật duy nhất đó — tần suất chữ cái sống sót qua phép thay thế — là vết nứt trong lớp giáp mà toàn bộ ngành phân tích mật mã được xây dựng dựa trên.

Chỉ riêng tần suất thôi thì chưa hẳn đủ, vì nhiều chữ cái có số đếm tương tự nhau và có thể bị hoán đổi nhầm. Tín hiệu sâu hơn nằm ở cách các chữ cái kết hợp với nhau. Tiếng Anh ưa chuộng những kiểu nhất định — TH, HE, ING, THE, AND — và gần như hoàn toàn tránh những kiểu khác. Một bản giải đúng đầy ắp những kiểu tự nhiên đó; một bản sai thì lốm đốm những tổ hợp mà tiếng Anh thực thụ không bao giờ dùng. Đo lường sự khác biệt đó chính là điều cho phép máy tính nhận ra đáp án đúng giữa vô số đáp án sai trông có vẻ hợp lý.

Bước một: phỏng đoán khởi đầu khớp tần suất

Công cụ bắt đầu bằng việc đếm mỗi chữ cái xuất hiện bao nhiêu lần trong văn bản mã hóa và xếp các số đếm đó so với thứ tự tần suất đã biết của tiếng Anh. Chữ cái phổ biến nhất trong văn bản mã hóa được đoán là E, kế đến là T, rồi A, O, I, N và cứ thế đi xuống danh sách. Đây là nước đi đầu tiên kinh điển mà mọi người giải mật mã chữ lồng đều học để làm bằng tay.

Phỏng đoán đó hiếm khi hoàn hảo — những chữ cái hiếm hơn đặc biệt dễ bị xếp sai chỗ — nhưng nó không cần phải hoàn hảo. Nó chỉ cần đủ gần để cho quá trình tìm kiếm một điểm xuất phát hợp lý. Từ đó, công cụ tinh chỉnh bảng chữ cái từng chữ một cho đến khi thông điệp hiện rõ.

Bước hai: simulated annealing tìm ra khóa

Từ phỏng đoán khởi đầu, công cụ liên tục hoán đổi ý nghĩa bản rõ của hai chữ cái và xét xem thông điệp giờ có đọc giống tiếng Anh hơn không. Nếu một lần hoán đổi giúp ích, nó được giữ lại. Vấn đề là việc luôn khăng khăng đòi cải thiện ngay lập tức khiến quá trình tìm kiếm mắc kẹt ở một bản gần đúng — một điểm tối ưu cục bộ — mà không một lần hoán đổi đơn lẻ nào thoát ra được. Giải mật mã thay thế là trường hợp điển hình trong sách giáo khoa cho một kỹ thuật gọi là simulated annealing, vốn xử lý đúng vấn đề này.

Simulated annealing đôi khi chấp nhận một lần hoán đổi khiến mọi thứ tạm thời tệ hơn, với một xác suất bắt đầu ở mức cao rồi đều đặn được hạ thấp — như thể quá trình tìm kiếm lúc đầu nóng rồi nguội dần. Ở giai đoạn đầu nó rong ruổi tự do và trèo ra khỏi những ngõ cụt; về sau nó ổn định lại và đánh bóng bảng chữ cái tốt nhất mà nó đã tìm được. Công cụ chạy quy trình này vài lần từ những điểm xuất phát khác nhau, kết thúc mỗi lần bằng một lượt chỉ-cải-thiện nghiêm ngặt, và giữ lại kết quả tốt nhất duy nhất — đó là lý do nó tìm được đáng tin cậy những đáp án mà một phép leo-đồi đơn thuần sẽ bỏ sót.

Cách công cụ đánh giá tiếng Anh: độ phù hợp trigram

Mỗi bảng chữ cái ứng viên được chấm bằng một con số duy nhất: độ phù hợp trigram của nó. Công cụ xem xét mọi chuỗi ba chữ cái liên tiếp trong văn bản đã giải và cộng dồn xác suất mỗi bộ ba xuất hiện trong tiếng Anh thực thụ, dựa trên một bảng tần suất bộ ba chữ cái được dựng từ một khối lượng lớn văn bản tiếng Anh. Những bộ ba phổ biến như THE, AND và ING ghi điểm cao; những bộ ba mà tiếng Anh không bao giờ dùng thì ghi điểm cực thấp.

Trigram quan trọng vì tần suất chữ cái đơn quá dễ bị đánh lừa — một khóa sai vẫn có thể khớp với các số đếm chữ cái mà vẫn là chữ nghĩa vô nghĩa. Việc giả mạo cả một trang đầy các tổ hợp ba chữ cái đáng tin thì khó hơn nhiều. Bằng cách lái mỗi lần hoán đổi về phía độ phù hợp trigram cao hơn, quá trình tìm kiếm được kéo, từng lần hoán đổi một, về phía tiếng Anh thực thụ. Bảng tần suất được tạo từ chính các bài viết của trang web này, nên không có gì được lấy từ bên ngoài và công cụ vẫn nhanh và riêng tư.

Bạn cần bao nhiêu văn bản, và khi nào công cụ gặp khó

Phá một mật mã thay thế là công việc thống kê, nên nó sống còn dựa vào lượng văn bản bạn cung cấp. Với khoảng một trăm năm mươi chữ cái tiếng Anh thông thường trở lên, việc khôi phục thường gần như hoàn hảo. Quanh mức tám mươi đến một trăm chữ cái thì nó vẫn hoạt động nhưng một hai chữ cái hiếm — như J, Q, X và Z vốn hầu như không xuất hiện — có thể bị đọc sai, vì đơn giản là không có đủ bằng chứng để xác định chúng. Dưới khoảng năm mươi chữ cái thì bất kỳ công cụ giải nào, dù là người hay máy, phần lớn đều đang đoán mò.

Một vài điều khác khiến một thông điệp khó hơn: văn bản cố tình tránh các chữ cái phổ biến (như một câu pangram), văn bản không phải tiếng Anh, hoặc một loại mật mã còn xáo trộn vị trí các chữ cái chứ không chỉ đổi nhãn cho chúng. Khi cách đọc ra gần như đúng, lời giải gần như luôn là thêm văn bản mã hóa, hoặc tự sửa bằng mắt một hai chữ cái cứng đầu. Nếu văn bản hoàn toàn không phải là một phép thay thế đơn giản, Công cụ nhận diện mật mã có thể cho bạn biết bạn thực sự đang đối mặt với cái gì.

Mật mã thay thế và những họ hàng của chúng

Một phép thay thế đơn giản giữ nguyên các khoảng ngắt từ là cái mà những người ra mật mã chữ lồng gọi là Aristocrat; cũng mật mã đó nhưng đã bỏ hết dấu cách là một Patristocrat. Cả hai đều là đơn bảng — một bảng chữ cái cố định cho toàn bộ thông điệp — và cả hai đều thất thủ trước phương pháp ở đây. Caesar và Atbash chỉ là những phép thay thế đặc biệt, thậm chí còn đơn giản hơn, nên công cụ này cũng phá chúng, dù những trang chuyên dụng của chúng giải tức thì.

Bước nhảy lớn về độ khó là mật mã đa bảng, vốn thay đổi bảng chữ cái khi chạy nên cùng một chữ cái có thể đại diện cho nhiều chữ cái khác nhau. Mật mã Vigenère là ví dụ nổi tiếng, và phân tích tần suất trên toàn bộ thông điệp không còn hiệu quả chống lại nó. Nếu thông điệp của bạn kháng cự công cụ này và tần suất chữ cái trông phẳng một cách đáng ngờ, có thể nó là đa bảng — hãy dùng Công cụ giải mã Vigenère thay vào đó.

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

Liệu bạn thực sự có thể giải một mật mã thay thế mà không cần khóa không?
Có. Một mật mã thay thế giấu đi chữ cái nào là chữ cái nào nhưng không giấu được mỗi chữ cái được dùng thường xuyên đến mức nào, và tần suất chữ cái cùng nhóm ba chữ cái của tiếng Anh rất đặc trưng. Công cụ bắt đầu từ những tần suất đó rồi tìm bảng chữ cái mà bản giải của nó đọc giống tiếng Anh nhất, khôi phục cả thông điệp lẫn khóa mà không cần cung cấp gì trước.
Công cụ này giải loại mật mã nào?
Nó giải các mật mã thay thế đơn bảng — loại mà một bảng chữ cái bị xáo trộn cố định thay thế các chữ cái cho toàn bộ thông điệp. Phạm vi đó bao gồm các mật mã chữ lồng trên báo, Aristocrat và Patristocrat, các mật mã bảng-chữ-cái-từ-khóa, cùng những trường hợp đơn giản hơn như Caesar và Atbash. Nó không giải các mật mã đa bảng như Vigenère, vốn thay đổi bảng chữ cái khi chạy.
Công cụ hoạt động như thế nào?
Theo hai giai đoạn. Đầu tiên nó khớp tần suất chữ cái của văn bản mã hóa với tiếng Anh để đưa ra phỏng đoán khởi đầu. Rồi nó dùng simulated annealing — liên tục hoán đổi hai chữ cái và giữ lại những lần hoán đổi khiến văn bản giống tiếng Anh hơn, đồng thời thỉnh thoảng chấp nhận một bước lùi để thoát khỏi ngõ cụt — được chấm điểm dựa trên độ tự nhiên của các tổ hợp ba chữ cái. Nó chạy vài lần và giữ lại kết quả tốt nhất.
Vì sao lại dùng chấm điểm trigram thay vì tần suất chữ cái?
Tần suất chữ cái đơn có thể được khớp bởi một khóa vẫn tạo ra chữ nghĩa vô nghĩa, nên riêng chúng không đủ để nhận ra đáp án đúng. Độ phù hợp trigram chấm điểm mọi chuỗi ba chữ cái so với tiếng Anh thực thụ, nơi THE, AND và ING phổ biến còn hầu hết các bộ ba thì cực kỳ hiếm. Một khóa sai tạo ra những bộ ba không tự nhiên và bị điểm thấp, điều đó cho phép quá trình tìm kiếm khoanh vùng đúng cách đọc thực sự.
Tôi cần bao nhiêu văn bản để phá một mật mã chữ lồng?
Hãy nhắm đến ít nhất một trăm năm mươi chữ cái tiếng Anh thông thường để có bản giải gần như hoàn hảo. Quanh mức tám mươi đến một trăm chữ cái thường là đủ nhưng có thể đọc sai một hai chữ cái hiếm. Dưới khoảng năm mươi chữ cái thì hiếm khi có đủ bằng chứng thống kê để bất kỳ công cụ giải nào chắc chắn, nên hãy chờ đợi chỉ một bản đọc một phần.
Kết quả gần như đúng nhưng vài chữ cái bị sai. Vì sao vậy?
Những chữ cái hiếm như J, Q, X và Z xuất hiện ít đến mức một thông điệp ngắn có thể không chứa đủ chúng để xác định một cách tự tin, và hai chữ cái có tần suất tương tự đôi khi có thể bị hoán đổi. Cách khắc phục thường là thêm văn bản mã hóa, hoặc tự sửa bằng mắt một hai chữ cái lạc lõng một khi phần còn lại của thông điệp đã đọc được.
Liệu nó có giải được một mật mã chữ lồng giữ nguyên các dấu cách (một Aristocrat) không?
Có. Dấu cách, chữ số và dấu câu được giữ nguyên trong kết quả nhưng bị bỏ qua khi giải, nên các khoảng ngắt từ không giúp cũng chẳng cản. Dù câu đố của bạn giữ nguyên các dấu cách (một Aristocrat) hay bỏ chúng đi (một Patristocrat), thì cùng một phương pháp tần-suất-và-trigram đều khôi phục được thông điệp.
Công cụ có mang tính tất định không?
Có. Mặc dù nó dùng một quá trình tìm kiếm có yếu tố ngẫu nhiên, tính ngẫu nhiên ấy được điều khiển bởi một mầm cố định, nên cùng một văn bản mã hóa luôn cho ra cùng một kết quả. Điều đó cũng có nghĩa là một liên kết được chia sẻ tái tạo chính xác cùng một bản giải cho bất kỳ ai mở nó.
Nó chỉ hoạt động với tiếng Anh thôi à?
Các bảng tần suất và trigram tích hợp sẵn mô tả tiếng Anh, nên nó được tinh chỉnh cho bản rõ tiếng Anh. Một thông điệp bằng ngôn ngữ khác thường sẽ ra thành vô nghĩa ngay cả khi quá trình tìm kiếm thành công, vì nó đang khớp với thống kê sai. Đối với văn bản không phải tiếng Anh, bạn sẽ cần dữ liệu tần suất của ngôn ngữ đó.
Văn bản mã hóa của tôi có được gửi tới máy chủ không?
Không. Toàn bộ quá trình tìm kiếm chạy ngay 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 lại hay lưu trữ. Ngay cả liên kết chia sẻ cũng giữ văn bản mã hóa của bạn trong phần URL sau dấu thăng, vốn các trình duyệt không bao giờ truyền tới máy chủ, nên nó vẫn riêng tư trừ khi bạn chọn chia sẻ.
Nếu hoàn toàn không phải là mật mã thay thế thì sao?
Nếu bản giải ra thành vô nghĩa và tần suất chữ cái trông phẳng một cách bất thường, thông điệp có thể là đa bảng, dựa trên hoán vị, hoặc một thứ gì đó hoàn toàn khác. Hãy chạy Công cụ nhận diện mật mã để tìm ra bạn đang đối mặt với cái gì, rồi dùng công cụ phù hợp — chẳng hạn Công cụ giải mã Vigenère cho một mật mã khóa lặp lại.

Công cụ liên quan

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

Trình nhận dạng mật mã

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

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