1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề tài tìm hiểu hàm băm (Hash function)

20 916 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 1,51 MB

Nội dung

Đề tài tìm hiểu hàm băm (Hash function) Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)Đề tài tìm hiểu hàm băm (Hash function)

Trang 1

ĐỀ TÀI: TÌM HIỂU HÀM BĂM ( HASH

FUNCTION)

Trang 2

Nội dung:

1 Giới thiệu hàm Hash

2 Ứng dụng hàm hash

3 Thuật toán

4 Tổng kết

Trang 3

Giới thiệu hàm HASH

Giới thiệu:

 Hàm băm (Hash function) là thuật toán nhằm chuyển đổi một thông điệp đầu vào có độ dài bất kỳ thành một dãy bit có độ dài

cố định (tuỳ thuộc vào thuật toán băm) Dãy bit này được gọi là thông điệp rút gọn (message digest) hay giá trị băm (hash

value), đại diện cho thông điệp ban đầu

 Hàm băm (hash function) là hàm một chiều mà nếu đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài

cố định ở đầu ra

Trang 4

Giới thiệu hàm HASH

Trang 5

Tính một chiều: không

thể suy ra dữ liệu ban

đầu từ kết quả, điều này

tương tự như việc bạn

không thể chỉ dựa vào

một dấu vân tay lạ mà

suy ra ai là chủ của nó

được.

Tính chất cơ bản của hàm

Hash

Tính duy nhất: xác suất để có một vụ va chạm (hash collision), tức là hai thông điệp khác nhau có cùng một kết quả hash, là

cực kỳ nhỏ

Trang 6

Giới thiệu hàm HASH

Các hàm băm mật mã học phổ biến:

 SHA-1

 SHA-256/224

 SHA-512/384

Ngoài ra còn rất nhiều hàm băm mật mã học nữa Hàm băm SHA-1 được sử dụng rộng rãi nhất ở Việt Nam.

Trang 7

Ứng dụng của hàm Hash

 Xác thực mật khẩu

 Xác thực thông điệp (Message authentication – Thông điệp tóm tắt -message digests)

 Bảo vệ tính toàn vẹn của tập tin, thông điệp được gửi qua mạng.

 Tạo chữ ký điện tử (Digital signatures)

Trang 9

Thuật toán

Giới thiệu hàm băm MD5

 MD5 (Message-Digest algorithm 5) là một hàm băm để mã hóa với giá trị băm là 128 bit.

 MD5 được sử dụng rộng rãi trong thế giới phần mềm để đảm bảo rằng tập tin tải về không bị hỏng.

 MD5 thường dùng để mã hóa mật khẩu.

 Phát triển bởi Ron Rivest tại MIT năm 1991 để thay thế cho MD4

Trang 10

Thuật toán

Input: thông điệp với độ dài bất kỳ

Output: thông điệp rút gọn (message digest) có độ dài 128 bits

Giải thuật gồm 5 bước trên khối 512 bits

Trang 11

 Thông điệp được nhồi thêm các bit sao cho độ dài L mod 512 luôn đồng dư là 448 hay l = n*512 + 448 (n,l nguyên )

 Thông điệp luôn luôn được nhồi thêm các bit

 Số bit nhồi thêm phải nằm trong khoảng 1-512

 Phần thêm vào cuối dữ liệu gồm 1 bit 1 và theo sau là các bit 0

Bước 1: Nhồi dữ liệu

Trang 12

 Độ dài khối dữ liệu ban đầu sẽ được biểu diễn dưới dạng nhị phân 64 bít và được thêm cuối chuỗi nhị phân mà ta thu được ở bước 1

 Độ dài được biểu diễn dưới dạng nhị phân 64 bit Nếu độ dài của khối dữ liệu ban đầu >264 chỉ 64bit thấp được áp dụng,

nghĩa là giá trị được thêm vào bằng K mod 264.

 Kết quả thu được từ 2 bước là một khối dữ liệu có độ dài là bội

số của 512 ( Với cứ 512 bit là một khối dữ liệu)

Bước 2: Thêm độ dài

Trang 13

Bước 3: Khởi tạo bộ đệm MD ( MD buffer)

Tạo 1 bộ đệm 128 bit gồm 4 thanh ghi mỗi thanh 32 bit được dùng lưu trữ giá trị băm trung gian và kết quả 4 thanh ghi của bộ đệm được đặt tên là A, B,C,D với các giá trị khởi tạo ở dạng

little-endian(byte có trọng số nhỏ nhất trong từ nằm ở địa chỉ thấp nhất) như sau:

Trang 14

•Trọng tâm của giải thuật là hàm

nén(compression function)gồm 4 vòng xử

lý Các vòng này có cấu trúc giống nhau

nhưng sử dụng các hàm luận lý khác nhau

gồm F,G,H,I

•Mảng 64 phần tử được tính theo công

thức : S[i]=2 32 x abs(sin(i)), được tính

theo radian.

•Kết quả của 4 vòng được cộng theo công

thức modulo 2 32 với đầu vào CVq để tạo

CVq+1

Bước 4: Xử lý các khối dữ liệu 512 bit

Trang 17

Hàm nén (compression function)

Trang 18

 Kết quả ra là đoạn mã có độ dài 128bit, được thu gọn từ

thông điệp ban đầu có độ dài l bit Đoạn mã này thu được từ

4 thanh ghi A,B,C,D bắt đầu từ bit thấp của thanh ghi A cho đến byte cao của thanh ghi D

Bước 5: Xuất kết quả

Trang 19

Tổng kết

Ưu điểm

 Có nhiều ứng dụng quan

trọng trong việc đảm bảo

an toàn và bảo mật hệ

thống thông tin

 Được sử dụng rộng rãi

hiện nay

Nhược điểm

Kể từ năm 2005, các hàm mật mã của hash đã không còn đảm bảo được tính

bảo mật tuyệt đối nữa

Trang 20

AN TOÀN BẢO MẬT HỆ THỐNG THÔNG TIN

ĐỀ TÀI: TÌM HIỂU HÀM BĂM ( HASH FUNCTION)

Ngày đăng: 31/03/2017, 17:00

TỪ KHÓA LIÊN QUAN

w