Một số hàm băm thông dụng

Một phần của tài liệu Phát hiện giả mạo bảng điểm tiếng việt cho các trường học luận văn thạc sĩ (Trang 42 - 44)

a. Hàm băm MD5

Hàm băm MD4 (Message Digest 4) đƣợc Giáo sƣ Rivest đề nghị vào năm 1990. Vào năm sau, phiên bản cải tiến MD5 của thuật toán này ra đời. Cùng với phƣơng pháp SHS, đây là ba phƣơng pháp có ƣu điểm tốc độ xử lý rất nhanh nên thích hợp áp dụng trong thực tế đối với các thông điệp dài.

MD5 biến đổi một thông điệp có chiều dài bất kì thành một khối có kích thƣớc cố định 128 bits. Thông điệp đƣa vào sẻ đƣợc cắt thành các khối 512 bits. Thông điệp đƣợc đƣa vào bộ đệm để chiều dài của nó chia hết cho 512. Bộ đệm hoạt động nhƣ sau:

 Trƣớc tiên nó sẻ chèn bit 1 vào cuối thông điệp.

 Tiếp đó là hàng loạt bit 0 cho tới khi chiều dài của nó nhỏ hơn bội số của 512 một khoảng 64 bit.

 Phần còn lại sẻ đƣợc lấp đầy bởi một số nguyên 64 bit biểu diển chiều dài ban đầu của thông điệp.

Thuật toán chính của MD5 hoạt động trên một bộ 128 bit. Chia nhỏ nó ra thành 4 từ 32 bit, kí hiệu là A,B,C và D. Các giá trị này là các hằng số cố định. Sau đó thuật toán chính sẻ luân phiên hoạt động trên các khối 512 bit. Mỗi khối sẽ phối hợp với một bộ. Quá trình xử lý một khối thông điệp bao gồm 4 bƣớc tƣơng tự nhau, gọi là vòng (“round”). Mỗi vòng lại gồm 16 quá trình tƣơng tự nhau dựa trên hàm một chiều F, phép cộng module và phép xoay trái…

Hình bên dƣới mô tả một quá trình trong một vòng. Có 4 hàm một chiều F có thể sử dụng. Mỗi vòng sử dụng một hàm khác nhau.

Hình 2.15 – Mô tả một quá trình trong một vòng của hàm băm MD5

Hàm băm MD5 (còn đƣợc gọi là hàm tóm tắt thông điệp - message degests) sẽ trả về một chuổi số thập lục phân gồm 32 số liên tiếp. Dƣới đây là các ví dụ mô tả các kết quả thu đƣợc sau khi băm.

MD5("dai hoc lac hong") = 327e7cbce9c5ff6a0d654957c16b0b6c Chỉ cần một thay đổi nhỏ cũng làm thay đổi hoàn toàn kết quả trả về: MD5("dai hoc lac honh") = 24eed62af8f392339f77f8fcf87e1311 Ngay cả một chuổi rổng cũng cho ra một kết quả phức tạp: MD5("") = d41d8cd98f00b204e9800998ecf8427e

b. SHA (thuật giải băm an toàn)

SHA (Secure Hash Algorithm) là năm thuật giải đƣợc dùng để chuyển một đoạn dữ liệu nhất định thành một đoạn dữ liệu đã đƣợc mã hóa. Năm thuật giải SHA là SHA-1 (trả lại kết quả dài 160 bit), SHA-224 (trả lại kết quả dài 224 bit), SHA-256 (trả lại kết quả dài 256 bit), SHA- 384 (trả lại kết quả dài 384 bit), và SHA-512 (trả lại kết quả dài 512 bit). Thuật giải SHA là thuật giải băm mật đƣợc phát triển bởi cục an ninh quốc gia Mĩ (National Security Agency hay NSA) và đƣợc xuất bản thành chuẩn của chính phủ Mĩ bởi viện công nghệ và chuẩn quốc gia Mĩ (National Institute of Standards and Technology hay NIST). Bốn thuật giải sau thƣờng đƣợc gọi chung là SHA-2.

Một phần của tài liệu Phát hiện giả mạo bảng điểm tiếng việt cho các trường học luận văn thạc sĩ (Trang 42 - 44)