Để dễ hình dung giải thuật, ta lấy ví dụ với tập 8 TBTDL, trong đó các TBTDL bất hợp pháp là u2,u4,u7,u8, còn lại u1,u3,u5,u6 là các TBTDL hợp pháp. Các nút kể cả lá được gán tên gọi v1,v2,...,v15.
1) Khởi tạo
a. NCCDL thiết lập cây nhị phân đầy đủ T gồm các nút v1,v2,...,v15 b. Các nút v1,v2,...,v15 được gán nhãn L1,L2,...,L15
c. Các TBTDL u1,u2,...,u8 có tập khóa “dài” là các nhãn của các nút từ gốc tới chính nó: Lu {L1,L2,L4,L8} 1 , Lu {L1,L2,L4,L9} 2 Lu3 {L1,L2,L5,L10}, Lu4 {L1,L2,L5,L11} Lu {L1,L3,L6,L12} 5 , Lu {L1,L3,L6,L13} 6 Lu {L1,L3,L7,L14} 7 , Lu8 {L1,L3,L7,L15} 2) Mã hóa
a. NCCDL dùng giải thuật CS, phân hoạch P thành ba tập con gồm các TBTDL hợp pháp: (P={u1,u3,u5,u6}, R={u2,u4,u7,u8})
Tập con 1: S8 {u1} sử dụng khóa “dài” L . 8 Tập con 2: S10{u3} sử dụng khóa “dài” L . 10 Tập con 3: S6 {u5,u6} sử dụng khóa “dài” L . 6
Phân hoạch tập P thành các tập con rời nhau:
NCCDL tìm cây Steiner ST(R) bằng cách nối các lá thuộc R và gốc (hình 3.4). NCCDL tìm các nút còn lại trong cây nhị phân đầy đủ T, liền kề với các nút
thuộc cây ST(R): được các nút v8,v10,v6 (v liền kề với 8 v , 4 v liền kề với 10 5
v , v liền kề với 6 v ). 3
Ký hiệu S là tập các lá của cây con gốc i v , (i=8, 10, 6). i Cụ thể S8 {u1}, S10{u3}, S6 {u5,u6}.
S8,S10,S6 chính là các tập con của tập phủ P cần tìm: P={S8,S10,S6}.
Hình 3. 4: Cây Steiner ST({u2,u4,u7,u8}) và các nút kề nó.
b. NCCDL chọn khóa phiên ngẫu nhiên K.
c. NCCDL mã hóa khóa phiên K (một lần) với từng khóa L8,L10,L6 và truyền đi bản mã:
[
3) Giải mã
a. Tất cả 8 TBTDL đều nhận được bản mã: [
8, 10, 6, E(K,L8),E(K,L10),E(K,L6)],FK(M)
b. Phần đầu (Header) dùng các khóa “dài” L8,L10,L6 để mã hóa khóa phiên K, nên chỉ những TBTDL thuộc các tập S8,S10,S6 mới tính được K. Sau khi có khóa phiên K, các TBTDL hợp pháp này sẽ giải mã được bản tin M.
+ TBTDL u muốn tính được K, phải biết mình thuộc tập S nào, từ đó biết được ij nút gốc v của các TBTDL ij S . ij
TBTDL u dùng khóa “dài” L tại nút gốc ij v , để giải mã ij E(K,Lij).
+ Ví dụ u muốn tính được K, phải biết mình thuộc tập 5 S , từ đó biết được nút 6 gốc của các TBTDL S là 6 v . 6
5