Các thuật toán BLAKE

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hàm băm an toàn và ứng dụng (Trang 38 - 39)

Tất cả hàm băm BLAKE sử dụng giá trị khởi tạo khác nhau, giá trị đệm khác nhau. Tất cả các hàm băm BLAKE sử dụng phương pháp lặp HAIFA, hàm băm phụ thuộc vào salt và số lượng bít đã băm trước đó, để băm mỗi một block message với mỗi một hàm khác nhau. Cấu trúc của mỗi hàm băm BLAKE kế thừa từ LAKE. Trạng thái bên trong được khởi tạo từ những giá trị khởi tạo, salt, và counter. Sau đó nó được cập nhật vào message tùy thuộc vào các vòng, và cuối cùng hàm nén trả lại giá trị chaining variable tiếp theo. Hàm nén bên trong là ma trận 4x4(chúng ta sẽ xem sét sau). Một vòng xử lý bao gồm hai vòng kép(một vòng xử lý các cột, một vòng xử lý các đường chéo, chúng ta xem xét vấn đề này sau) mỗi vòng gồm các giá trị khởi tạo khác nhau. Với việc xây dựng hàm băm như vậy thì việc tấn công BLAKE-256 trở nên rất khó khăn và thuật toán tấn công hiệu quả nhất là brute-fore, để tấn công thành công thì yêu cầu ít nhất là 2|s| phép thử, trong đó |s| là độ dài của chiều dài thông điệp[7].

Hình 6: Sự làm việc của hàm nén BLAKE Sau đây tôi xin đi chi tiết vào thuật toán BLAKE-256. Sau đây tôi xin đi chi tiết vào thuật toán BLAKE-256.

- Giá trị khởi tạo cho thuật toán tương tự như SHA-256. IV0 = 0x6A09E667 IV1 =0xBB67AE85 IV2 = 0x3C6EF372 IV3 =0xA54FF53A IV4 = 0x510E527F IV5 =0x9B05688C IV6 = 0x1F83D9AB IV7 =0x5BE0CD19

- BLAKE-256 sử dụng 16 hằng số để thực hiện hoán vị trong các hàm của BLAKE-256 để cấu hình phù hợp với sức mạnh của phần cứng.

c0 = 0x243F6A88 c1 = 0x85A308D3 c2 = 0x13198A2E c3 = 0x03707344 c4 = 0xA4093822 c5 = 0x299F31D0 c6 = 0x082EFA98 c7 = 0xEC4E6C89 c8 = 0x452821E6 c9 = 0x38D01377 c10 = 0xBE5466CF c11 = 0x34E90C6C c12 = 0xC0AC29B7 c13 = 0xC97C50DD c14 = 0x3F84D5B5 c15 = 0xB5470917 Chi tiết mô tả hàm nén như sau[7]:

Bốn đầu vào chính của thuật toán như sau: - Giá trị khởi tạo h=IV0... IV7. - Các khối message m= m0…m15.

- Salt s = s 0. . . s3 (được lựa chọn bởi người dùng). - Bộ đếm t = t0, t1 (được tính toán như phần sau).

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 14 10 4 8 9 15 13 6 1 12 0 2 11 7 5 3 2 11 8 12 0 5 2 15 13 10 14 3 6 7 1 9 4 3 7 9 3 1 13 12 11 14 2 6 5 10 4 0 15 8 4 9 0 5 7 2 4 10 15 14 1 11 12 6 8 3 13 5 2 12 6 10 0 11 8 3 4 13 7 5 15 14 1 9 6 12 5 1 15 14 13 4 10 0 7 6 3 9 2 8 11 7 13 11 7 14 12 1 3 9 5 0 15 4 8 6 2 10 8 6 15 14 9 11 3 0 8 12 2 13 7 1 4 10 5 9 10 2 8 4 7 6 1 5 15 11 9 14 3 12 13 0

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hàm băm an toàn và ứng dụng (Trang 38 - 39)

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

(69 trang)