Mã hóa 128-EEA3

Một phần của tài liệu khảo sát mã dòng và ứng dụng (Trang 102)

3.3.1.1. Giới thiệu

Mã hóa dòng 128-EEA3 dùng để mã hóa và giải mã dữ liệu có độ dài từ 1 đến 2000 bit. Đầu vào và đầu ra của giải thuật này như sau:

Tham số Kích thước (bits) Ghi chú

Đầu vào COUNTBEARER 325 Biến đếmThe bearer identity

DIRECTION 1 The direction of transmission

CK 128 Khóa mật

LENGTH 32 Chiều dài (bits) của dữ liệu đầu vào

M LENGTH Chuỗi bit đầu vào (bản rõ)

Đầu ra C LENGTH Chuỗi bit đầu ra (bản mã)

Trong bảng trên các biến COUNT, BEARER, DIRECTION là các tham số dùng để thiết lập generator. Giá trị của các biến này sẽ được gửi kèm cùng với bản mã.

3.3.1.2. Tạo keystream

Trong phần thiết lập, 128-EEA3 sẽ tạo ra các đối số để chạy ZUC là: khóa và vectơ khởi tạo. Biến CK được dùng làm khóa của ZUC. Quá trình tạo vectơ khởi tạo được bắt đầu bằng việc tách các biến COUNT ra thành từng byte:

COUNT=COUNT0 ║COUNT1 ║COUNT2 ║COUNT3

Dùng biến IV 128-bit làm vectơ khởi tạo sử dụng cho ZUC. IV sẽ được tách nhỏ thành từng byte và được gán giá trị cho từng byte này:

IV0 = COUNT0, IV1 = COUNT1, IV2 = COUNT2, IV3 = COUNT3, IV4 = BEARER║DIRECTION║002, IV5 = IV6 = IV7 = 000000002,

IV8 = IV0, IV9 = IV1, IV10 = IV2, IV11 = IV3, IV12 = IV4, IV13 = IV5, IV14 = IV6, IV15 = IV7.

Lúc bấy giờ hai biến CK IV sẽ được nạp để ZUC hoạt động. Sau mỗi vòng lặp ZUC sẽ tạo ra một word 32-bit. Để tạo đủ keystream để mã hóa dữ liệu có kích thước LENGTH thì cần thực hiện số vòng lặp L=LENGTH/32. Sau L vòng lặp ZUC

sinh ra keystream z có kích thước LENGTH bit.

3.3.1.3. Mã hóa và giải mã

Trong quá trình mã hóa ta XOR từng bit của thông tin cần mã hóa M với keystream z mà ZUC vừa tạo ra. Do đó 128-EEA3 dùng kiến trúc mã dòng đồng bộ cộng. Quá trinh mã hóa và giải mã được tiến hành như sau:

o Mã hóa: C = M XOR z.

o Giải mã: M = C XOR z.

Một phần của tài liệu khảo sát mã dòng và ứng dụng (Trang 102)

Tải bản đầy đủ (DOC)

(138 trang)
w