Thuật toán thực hiện

Một phần của tài liệu Nghiên cứu về hàm băm trên cơ sở mạng hoán vị thay thế điều khiển được và ứng dụng trong mã hóa xác thực văn bản (Trang 54 - 55)

Việc xây dựng mã hóa hàm băm tƣơng tự nhƣ việc xây dựng thuật toán mã hóa đĩa, ngoại trừ chuỗi giả ngẫu nhiên Q ( , ,...,q q0 1 q2050), ở đây qi – từ 8bit, i = 0,1,…,2050, trong trƣờng hợp thuật toán mã hóa hàm băm là đã biết, cũng nhƣ trong trƣờng hợp mã hóa mà nó đóng vai trò khóa mở rộng. Từ chuỗi này sẽ chọn ra từ 32 bit Qj qj 3 qj 2 qj 1 qj, ở đây j = 0,1,…,2047, còn dấu || ký hiệu toán tử ghép. Chuỗi giả ngẫu nhiên có thể đƣợc lƣu giữ trong dạng rõ ràng hoặc là đƣợc gia công với việc sử dụng một thuật toán đã cho nào đó theo các tham số đã cho. Trong trình bày thuật toán dƣới đây hàm băm vòng đƣợc sử dụng chuỗi Q, đƣợc hình thành nhờ thủ tục TableQ, mà nó đƣợc sử dụng trong thủ tục Initialize, và

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

- Bƣớc 1: Thêm các bit 0 vào sau cùng của chuỗi bit đầu vào, sao cho chuỗi bit đầu vào là bội số của 128. Khối bit đầu vào đƣợc chia thành các khối Mi, mỗi khối có độ dài 128 bit.

- Bƣớc 2: Thực hiện thủ tục TableQ( ) để khởi tạo giá trị TableQ( ) để khởi tạo giá trị cho chuỗi giả ngẫu nhiên Q.

- Bƣớc 3: Thực hiện biến đổi các khối Mi. Giá trị nhận đƣợc sau khi biến đổi từng khối đƣợc xác định theo công thức truy hồi:

hi E M( i hi 1) M ii, 1, 2,...,n

với h0 là giá trị ban đầu nào đó.

Hàm băm vòng Ez với đầu vào đƣợc tham số hóa:

Đầu vào của E: Khối số liệu Mi đƣợc trình bày nhƣ chuỗi của các từ 32 bit

0 1 1

: ( , ,..., ).

i z

W W W W

1. Thiết lập giá trị kích thƣớc của khối số liệu S z; 2. Thiết lập bộ đếm đầu tiên j ← 6;

3. Thực hiện thủ tục Initialize; 4. Thiết lập bộ đếm thứ hai k ← 0; 5. Thực hiện thủ tục ChangeNVUY;

6. Biến đổi từ hiện thời: Wk ← (Wk+32V) U; 7. Biến đổi biến R: R ←R+32Wk;

8. Kết thúc sự biến đổi từ hiện thời W Wk: k P( ,0)V (Wk) 32Y;

9. Gán bộ đếm thứ hai k k 1. Nếu k ≠ S thì chuyển đến bƣớc thứ 5; 10. Giảm đi 1 giá trị của bộ đếm thứ nhất j = j - 1. Nếu j ≠ 0, thì chuyển tới bƣớc 4, trong trƣờng hợp ngƣợc lại thì dừng.

Đầu ra của E: Giá trị hàm băm vòng thứ i : hi=Wz-1||…||W1||W0

Một phần của tài liệu Nghiên cứu về hàm băm trên cơ sở mạng hoán vị thay thế điều khiển được và ứng dụng trong mã hóa xác thực văn bản (Trang 54 - 55)

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

(87 trang)