2 điểm bởi GN⁺ 2025-09-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Quân đội Mỹ từng có nguyên tắc không gửi cùng một thông điệp hai lần bằng các phương thức mã hóa khác nhau (hoặc kể cả không mã hóa)
  • Để làm vậy, họ dùng thuật ngữ "paraphrase" (viết lại), tức là giữ nguyên ý nghĩa gốc nhưng viết lại với cách diễn đạt hoặc cấu trúc câu thay đổi đáng kể
  • Đây là một quy trình từ góc độ an ninh nhằm ngăn đối phương so sánh bản rõ và bản mã để xác định điểm yếu của hệ mật mã
  • Họ nhấn mạnh cách viết lại theo hướng lược bỏ và giảm lặp từ ngữ, danh từ riêng
  • Trong quá khứ, quân Đức cũng từng mắc lỗi gửi lặp cùng một thông điệp dưới nhiều dạng mã hóa, dẫn đến việc mật mã Enigma bị giải

Bối cảnh và khái niệm paraphrasing

  • Trong học thuyết thông tin liên lạc quân sự của Mỹ, việc gửi cùng một thông điệp y hệt hai lần bằng các hình thức mã hóa khác nhau (hoặc không mã hóa) bị cấm
  • Thuật ngữ chuyên môn được dùng khi đó là "paraphrase" (viết lại), nghĩa là viết lại thông điệp sao cho không đổi nghĩa nhưng biến đổi tối đa cách diễn đạt của văn bản gốc

Hướng dẫn paraphrasing trong sổ tay mật mã của Lục quân Mỹ

  • Trong sổ tay kỹ thuật "BASIC CRYPTOGRAPHY" (TM 32-220) do Lục quân Mỹ phát hành năm 1950, hướng dẫn về paraphrasing được trình bày khá chi tiết
  • Tài liệu này nhấn mạnh các nguyên tắc sau
    • Nếu bản rõ của cùng một thông điệp đã được gửi dưới dạng bản mã, thì không được lặp lại thông điệp đã gửi bằng bản mã đó dưới dạng bản rõ
    • Nếu cặp bản rõ và bản mã bị lộ cho đối phương, đây sẽ là mối đe dọa rất lớn đối với an toàn của hệ mật mã, nên cực kỳ nguy hiểm
  • Trong trường hợp thật sự cần nhiều người cùng xử lý thông tin hoặc cần công bố ra bên ngoài, thì phải viết lại bản rõ thật cẩn thận trước khi phân phối để đối phương không thể khai thác thông tin qua so sánh

Cách viết lại (Paraphrase)

  • Thay đổi cấu trúc câu, từ vựng, cách diễn đạt của thông điệp nhưng vẫn giữ nguyên ý nghĩa
    • Điều chỉnh thứ tự câu
    • Thay đổi vị trí của cụm từ và mệnh đề
    • Dùng từ đồng nghĩa hoặc cách diễn đạt mới nhiều nhất có thể
  • Cần tránh kiểu paraphrasing mở rộng chỉ đơn giản là diễn giải chi tiết hơn
    • Cách mở rộng như vậy rốt cuộc vẫn khiến nghĩa gốc dễ bị phục dựng, nên yếu về mặt an ninh
  • Những từ lặp lại hoặc danh từ riêng được thay bằng đại từ, "former/ latter" và các cách tương tự

Ngoại lệ và quy định về paraphrasing

  • Ngay cả khi bản mã đã tồn tại, nguyên tắc chung vẫn là không gửi lại bản rõ tương ứng đó (thậm chí cả bản rõ đã viết lại), trừ khi quy định có cho phép đặc biệt

Bối cảnh lịch sử và tầm quan trọng

  • Những quy tắc an ninh như vậy đã cho thấy tầm quan trọng thực tế trong quá trình giải mã Enigma
    • Quân Đức đã mắc sai lầm gửi lặp lại cùng một thông điệp bằng các cách mã hóa khác nhau, từ đó phe Đồng minh có được các cặp bản rõ và bản mã, tạo tiền đề để giải được cả những hệ mã mạnh như Enigma
  • Tính quyết định không nằm ở khuyết điểm kỹ thuật của riêng Enigma, mà ở những sai lầm về quy trình và vấn đề trong vận hành như vậy

1 bình luận

 
GN⁺ 2025-09-01
Ý kiến Hacker News
  • Tôi nghe kể rằng người Anh từng thử một kiểu known-plaintext attack khá điên rồ. Họ nhét một ghi chú quan trọng viết tay vào túi một người lính Đức, rồi cố tìm đúng nội dung đó trong các liên lạc Enigma đã mã hóa
  • ETA: Có lẽ điều tôi nói về việc nó liên hệ trực tiếp với ENIAC là sai. Cái gọi là “in depth”, tức là gửi một bản diễn đạt lại nội dung bằng cùng một khóa, cũng khá nguy hiểm. Theo cách này, phe Đồng Minh đã phá được mật mã Lorenz ("Tunny"), và khi đó Bletchley Park đã giải được nó chỉ bằng suy đoán mà còn chưa từng nhìn thấy máy Lorenz thực tế. Công việc đó dẫn đến sự phát triển của Colossus, chiếc máy tính dùng đèn điện tử đầu tiên, và Colossus cũng đã ảnh hưởng đến ENIAC. Ngày nay người ta tránh sai lầm này bằng cách không tái sử dụng nonce, nhưng cũng đã có trường hợp ví phần cứng Bitcoin tái sử dụng nonce khiến khóa riêng bị đánh cắp. AES-GCM và các hệ thống tiền mã hóa không giống nhau, nhưng việc tái sử dụng nonce vẫn gây chết người theo đúng cùng một cách. Nhân tiện tôi cũng để lại liên kết về giải mã Lorenz và video Computerphile (16 phút). p.s. Tôi tò mò về nguồn gốc của thuật ngữ “in depth”, có ai biết không? Không rõ có phải do kiểu đặt tên liên quan đến cá rất đặc trưng của Bletchley Park không. Cũng tham khảo thêm từ điển thuật ngữ mật mã này trang 28 của tài liệu
    • Tôi thỉnh thoảng vẫn nhắc điều này: Colossus không phải là máy tính mà là thiết bị thử khóa. Hơi giống một Bitcoin miner. Đây là sơ đồ khối của Colossus. Trước máy tính lập trình chuyên dụng đã có nhiều loại thiết bị mục đích đặc biệt khác nhau. IBM cũng từng thử nghiệm số học điện tử nhưng phải dừng khi chiến tranh nổ ra, và vào năm 1939 Columbia University cùng IBM đã tạo ra thứ gì đó khá giống máy tính có thể lập trình. G.P.O. của Anh cũng đã nghiên cứu chuyển mạch điện tử từ năm 1934, và Tommy Flowers của Colossus xuất thân từ đó. Sau chiến tranh ông không thể nói về sự nghiệp liên quan đến máy tính của mình nên đã có một cuộc đời khá vất vả. Bộ nhớ của Colossus chỉ có các thanh ghi dùng đèn chân không và bảng cắm dây; các thiết bị lưu trữ thực sự chỉ xuất hiện sau khi chiến tranh kết thúc. Xem thêm wiki Tommy Flowers
    • Khi ghé London tôi đã thăm bảo tàng Bletchley Park và thực sự rất đáng khuyến nghị. Đi tàu từ ga London Euston mất 50 phút, rồi đi bộ 5 phút là tới. Cả gia đình tôi, gồm cả hai thiếu niên, đều thích. Gần đó còn có National Museum of Computing, nơi có thể xem các thiết bị phục dựng như Bombe, Colossus v.v. Vì lý do an ninh quốc gia, phần lớn thiết bị sau chiến tranh đã bị tiêu hủy, nên các hiện vật trưng bày hiện nay đều là bản sao hoạt động hoàn chỉnh. Ở đây còn có cả máy tính hiện đại và cận hiện đại, nên Bletchley Park vẫn đáng ghé ngay cả khi bạn không quá quan tâm đến máy tính, còn bảo tàng máy tính thì là thiên đường cho dân mê đồ công nghệ
    • Nếu mô hình hóa thông điệp từ người gửi → người nhận như một cấu trúc cây, thì có thể phân tích việc tái sử dụng khóa dưới góc độ “độ sâu cấu trúc”
    • Trong Ethereum, địa chỉ contract được quyết định bởi tổ hợp địa chỉ người triển khai và nonce, nên có thể gửi trước ETH tới một contract chưa tồn tại rồi sau đó triển khai contract để rút lại
    • Tôi đoán thuật ngữ “in depth” bắt nguồn từ ý rằng nó cung cấp cho kẻ tấn công nhiều “độ sâu” dữ liệu hơn. Không có bằng chứng gì cả
  • Chủ đề thú vị thật. Tôi thích phần giải thích trong câu trả lời. Đặc biệt ấn tượng với quy tắc “đừng lặp lại nguyên văn bằng plaintext một thông điệp đã gửi dưới dạng ciphertext, và ngược lại cũng đừng gửi lại dưới dạng ciphertext một thông điệp đã gửi bằng plaintext.” Hồi nhỏ tôi học mật mã qua sách thư viện và từng mê one-time pad, còn thử trao đổi vài lần với bạn bè, nhưng rồi thấy chẳng thu được bao nhiêu nên mất hứng. Vì vậy tôi bắt đầu tự hỏi cảm giác sẽ như thế nào với những người làm công việc bí mật thực sự. Giao tiếp được mã hóa cho cảm giác gần như đối lập với giao tiếp khoa học. Có lẽ những người sống trong thế giới bí mật cuối cùng sẽ có xu hướng gần với chính trị hơn
    • thấy chẳng thu được bao nhiêu nên mất hứng — làm tôi nhớ đến câu đùa rằng Ovaltine rất hợp với các thông điệp đã giải mã

    • Bạn có nhớ đó là cuốn sách nào không? Tôi rất thích Alvin's Secret Code trong giá sách lớp 4 của mình
    • thấy chẳng thu được bao nhiêu nên mất hứng — tôi lại nhớ đến bài viết về tranh cãi cái máy ép nước trái cây

  • Đừng lặp lại văn bản đã gửi bằng ciphertext dưới dạng plaintext, và cũng đừng lặp lại văn bản đã gửi bằng plaintext dưới dạng ciphertext — trên thực tế chính nguyên tắc này đã khiến Enigma bị phá. Việc các bản tin dự báo luôn bắt đầu bằng “weather” là một điểm yếu

    • Tương tự, việc luôn kết thúc bằng cùng một lời chào (ví dụ: lời kết có tên của lãnh đạo) cũng là vấn đề
  • Nếu bạn quan tâm đến lĩnh vực này, các manual quân sự có trên Internet Archive sẽ khá thú vị. Chúng bao gồm đủ thứ nội dung, kể cả cách phân tích các loại mật mã thủ công thời tiền máy tính FM3440.2 Basic Cryptanalysis
    • Tài liệu rất hay. Nó cũng có thể đóng vai trò tài liệu bổ trợ tuyệt vời cho GCHQ Puzzle Book
  • Bằng cách khai thác việc lặp lại thông điệp, phe Đồng Minh ban đầu cũng đã phá được Geheimskreiber, một loại mật mã còn khó hơn Enigma rất nhiều. Nó dùng cấu trúc XOR và rotor Siemens and Halske T52
  • Nếu muốn tìm thêm thông tin, bạn có thể dùng từ khóa tìm kiếm "Known plaintext attack"
    • Tôi đã không hiểu là theo ngữ cảnh này. Ban đầu tôi tưởng nói về việc tù nhân gửi thông điệp mật qua thư gửi về nhà và cai ngục cố trộn lẫn chúng
  • Đây là chủ đề tôi thấy quen thuộc từ các sách về gián điệp Thế chiến II (ví dụ Between Silk and Cyanide). Nhưng điều thực sự thú vị là phông chữ của bức thư gốc. Nó dùng E hoa thay cho e thường. Tôi thắc mắc tại sao lại vậy
    • Quả là lạ thật. Tìm nhanh một chút thì tôi thấy các trường hợp tương tự trên Reddit, cùng với mẫu máy đánh chữ liên quan. Có cách giải thích rằng điều này có thể xảy ra khi các bộ phận từ máy đánh chữ phụ âm Cyrillic bị lẫn vào. Khi chép điện văn ngoại giao có lẽ đã cần dùng máy đánh chữ Cyrillic
    • Có thể không liên quan đến trường hợp này, nhưng khi mã hóa kiểu qua loa theo phong cách ROT13, chữ e là một đầu mối chí mạng. Xáo trộn chữ hoa chữ thường có thể giúp phòng thủ đôi chút, nhưng lá thư này có lẽ là vì lý do khác
    • Tôi cũng thấy lạ vì E lại viết hoa. Một vài chữ E trông còn như epsilon thường của tiếng Hy Lạp, dù có thể chỉ là ảo giác thị giác. Và số 3 trong chancE3 cũng đáng chú ý
    • Tôi đoán là vì tính dễ đọc. Có lẽ để tránh nhầm giữa chữ e thường (ᴇ) và c
  • Tôi đã tìm thấy hai manual được nhắc tới: [RadioNerds-TM 11-485 (PDF)](https://radionerds.com/index.php/File:TM_11-485.pdf) / Internet Archive-US Army Cryptography Manuals Collection (tham khảo TM_11-485.pdf)
  • Điều thú vị là trong quá trình này, xóa bớt có vẻ tốt hơn mở rộng thông điệp. Nếu ai đó phải gửi cùng một thông điệp nhiều lần, tôi lại nghĩ cách xóa sẽ giới hạn mức độ biến thể hơn chứ. Nén lại thì phạm vi biến thể giảm, còn mở rộng ra thì có vẻ tăng lên; nếu ai cũng chỉ được hướng dẫn rút gọn thì trùng lặp sẽ xuất hiện nhanh hơn nhiều. Có lẽ ý tưởng là nếu xóa hai lần thì do đã cố ý loại bỏ một phần thông tin gốc nên khả năng khôi phục sẽ thấp hơn, còn mở rộng thì dễ quay lại plaintext gốc và từ đó tiếp cận thông điệp ban đầu. Nhưng chỉ cần khôi phục được một trong hai thì ciphertext còn lại vẫn là bản mở rộng, không rõ điều đó có còn giúp ích không

    • Hướng dẫn này gần với tình huống các thông điệp đã mã hóa có thể bị công khai về sau. Nếu chỉ đệm thêm bằng các cụm bổ nghĩa, hacker sẽ dễ đoán ra thông điệp gốc. Ngược lại, với một thông điệp đã bị lược bỏ một phần nội dung, kẻ tấn công không biết phải thêm gì vào, nên việc khôi phục sẽ khó hơn