Với thông điệp ngắn, F có thể dùng phương pháp mã hóa theo dòng.
Độ bảo mật của hệ mã theo dòng thường được quyết định bởi độ ngẫu nhiên của dòng khóa, tức là tính ngẫu nhiên của việc xuất hiện các ký tự trong dòng khóa, mà ít phụ thuộc vào bản thân phép lập mã. Do đó phép lập mã F có thể chọn đơn giản: FK(x)xKmod2 [1].
Với thông điệp dài, F có thể dùng phương pháp mã hóa “Tất cả hoặc không” (All or Nothing – AoN) [5].
Thông điệp M được biểu diễn bằng các khối dữ liệu: M = m1,..,ms. Thông điệp giả M’ được biểu diễn bằng các khối dữ liệu m'1,..,m't(t>s).
i
m được “giấu” vào m . Sau đó mã hóa 'i m . 'i
Nếu chỉ một khối dữ liệu của M’ được giải mã không chính xác, thì không thể giải mã chính xác thông điệp M.
1) Mô hình mã hóa AoN
Truyền thông điệp m1,..,ms trong thông điệp giả m'1,..,m't(t>s) với phép biến đổi AoN.
Mã hóa thông điệp giả M’ bằng phương pháp mã hóa thông thường với khóa phiên K, thu được bản mã c1,...,ct.
Định nghĩa 4.3
Hàm f biến đổi m1,...,msthành thông điệp giả m'1,...,m't, được gọi là phép biến đổi AoN nếu:
+ Phép biến đổi f là có thể nghịch đảo được: từ thông điệp giả có thể thu được thông điệp gốc.
+ Hàm f và hàm nghịch đảo của nó đều tính toán hiệu quả (ví dụ có thể tính được trong thời gian đa thức).
+ Khó giải mã bất kỳ khối thông điệp m nào, nếu không giải mã được tất cả i các khối dữ liệu của thông điệp giả M’.
Phép biến đổi AoN chỉ là bước tiền xử lý. Đầu ra của phép biến đổi AoN là thông điệp giả. Công việc thực sự trong phương pháp mã hóa AoN là mã hóa thông điệp giả [5].
Phép biến đổi AoN là công khai, mà bất kỳ TBTDL nào khi đã giải mã được thông điệp giả, thì có thể biến đổi ngược từ thông điệp giả để thu thông điệp gốc [].
2) Cài đặt phép biến đổi AoN
a) Phép biến đổi gói (package transform): - Đặt thông điệp đầu vào là m1,m2,...,ms.
- Chọn ngẫu nhiên khóa K’ cho phép biến đổi gói. - Tính toán đầu ra m'1,m'2,...,m't với t=s+1 như sau:
o Đặt m'imi E(i,K'), i = 1, 2,…, s.
o Đặt m'tK' h1h2...hs
Trong đó hi E(m'ii,K0), i = 1, 2,…, s. K0 là khóa công khai cố định của E.
b) Hàm nghịch đảo của phép biến đổi gói: s 2 1 t h h ... h ' m ' K ) ' K , i ( E ' m mi i , i = 1, 2,…, s.
Nếu không biết được tất cả các khối dữ liệu của thông điệp giả, thì không thể tính được K’, và do đó không thể giải mã được bất kỳ khối dữ liệu nào của thông điệp. Như vậy phương pháp này có độ an toàn cao [5].
3) Luôn làm mới khóa phiên K
Giả sử có một số kênh bất hợp pháp phát lại nội dung bản tin, ta cần ngăn chặn chúng. Một cách chống lại các kênh bất hợp pháp là chia bản tin M thành các đoạn dữ liệu, và mã hóa các đoạn dữ liệu này với các khóa phiên K khác nhau. Điều này làm tăng chi phí giải mã bản tin của TBTDL bất hợp pháp [3].