tìm hiểu về hàm băm

12 234 1
tìm hiểu về hàm băm

Đ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

TRƯỜNG CAO ĐẲNG CƠNG THƯƠNG TP HCM Khoa Cơng Nghệ Thơng Tin TÌM HIỂU VỀ HÀM BĂM NHĨM: TÊN THÀNH VIÊN: 1.NGUYỄN TIỂU ĐAN NGUYỄN HOÀNG BẢO MỤC LỤC Giới thiệu hàm Băm HASH 1.1 Giới thiệu 1.2 Tính chất hàm Hash 1.3 Các hàm băm mật mã học Ứng dụng hàm Băm Hash Thuật toán 3.1 Giới thiệu hàm băm SHA-1 3.2 Thuật toán SHA-1 Demo chạy chương trình ứng dụng 12 Tổng kết 12 Tài liệu tham khảo 12 Page | Giới thiệu hàm Băm HASH 1.1 Giới thiệu: Hàm băm (Hash function) hàm toán học chuyển đổi thơng điệp đầu vào có độ dài thành dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm) Dãy bit gọi 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) hàm chiều mà đưa lượng liệu qua hàm cho chuỗi có độ dài cố định đầu 1.2 Tính chất hàm Hash  Tính chiều: khơng thể suy liệu ban đầu từ kết quả, điều tương tự việc bạn dựa vào dấu vân tay lạ mà suy chủ  Tính nhất: xác suất để có vụ va chạm (hash collision), tức hai thông điệp khác có kết hash nhỏ Page | 1.3 Danh sách hàm băm mật mã học Thuật tốn HAVAL Kích thước đầu 256/224/192 /160/128 Kích thước trạng thái 256 Kích thước khối 1024 Độ dài Kích thước world Xung đột 64 32 Có khả lớn MD2 128 384 128 Khơng MD4 128 128 512 64 32 Có MD5 128 128 512 64 32 Có PANAMA 256 8736 256 No 32 Có lỗi RIPEMD 128 128 512 64 32 Có RIPEMD128/25 128/256 128/256 512 64 32 Khơng RIPEMD160/32 160/320 160/320 512 64 32 Không SHA-0 160 160 512 64 32 Không Page | 160 160 512 64 32 Có lỗi SHA256/22 256/224 256 512 64 32 Không SHA512/38 512/384 512 1024 128 64 Không Tiger(2)192/16 0/128 192/160/128 192 512 64 64 Không VEST-4/8 (hash mode) 160/256 256/384 80/128 VEST16/32 (hash mode) 320/512 512/768 160/25 Không 512 512 512 256 Khơng SHA-1 WHIRLP OOL Khơng[1 ] Trong hàm SHA-1 hàm sử dụng rộng rãi Việt Nam Ứng dụng hàm Băm Hash  Xác thực mật Page | Mật thường không lưu dạng văn rõ (clear text), mà dạng tóm tắt Để xác thực người dùng, mật người nhập vào băm hàm Hash so sánh với kết băm lưu trữ  Xác thực thơng điệp (Message authentication – Thơng điệp tóm tắt -message digests) Giá trị đầu vào(tin nhắn, liệu ) bị thay đổi tương ứng giá trị băm bị thay đổi Do kẻ công phá hoại, chỉnh sửa liệu server biết  Bảo vệ tính tồn vẹn tập tin, thông điệp gửi qua mạng Hàm băm mật mã có tính chất hàm chiều Từ khối liệu hay giá trị đầu vào đưa giá trị băm Như biết tính chất hàm chiều Một người dù bắt giá trị băm họ suy ngược lại giá trị, đoạn tin nhắn băm khởi điểm Ví dụ: việc xác định xem file hay thơng điệp có bị sửa đổi hay khơng thực cách so sánh tóm tắt tính trước sau gửi (hoặc kiện đó) Còn dùng tóm tắt thơng điệp làm phương tiện đáng tin cậy cho việc nhận dạng file Hàm băm thường dùng bảng băm nhằm giảm chi phí tính tốn tìm khối liệu tập hợp Giá trị băm đóng vai trò gần khóa để phân biệt khối liệu  Tạo chữ ký điện tử (Digital signatures) Chữ ký số có cách đem mã hố tóm tắt thơng điệp khố bí mật người ký Page | Chứng thực chữ ký số Nếu kết băm giống nhau, Thông điệp xác thực Tại sao? Vì BIT M hay SIG bị thay đổi, kết băm khác  Đây ứng dụng quan trọng hàm Hash, đặc biệt thương mại điện tử Thuật toán Băm Giới thiệu thuật toán hàm băm SHA-1 Page | 3.1 Giới thiệu hàm băm SHA-1 Năm 1990, Ron Rivest sáng tạo hàm băm MD4 Sau năm 1992, ơng cải tiến MD4 phát triển hàm băm khác: MD5 Năm 1993, Cơ quan An ninh Quốc gia Hoa Kỳ/Cục An ninh Trung ương (NSA) công bố,một hàm băm giống với MD5 gọi SHA Vào năm 1995, sau việc khắc phục lỗ hổ ng kỹ thuật, NSA thay đổi SHA trở thành hàm băm mật mã khác gọi SHA1 SHA-1 (Sercue Hash Algorithm) thuật toán xây dựng thuật toán MD4, sử dụng rộng rãi Thuật toán SHA-1 tạo chuỗi mã băm có chiều dài cố định 160 bit từ chuỗi bit liệu đầu vào x có chiều dài tùy ý 3.2 Thuật tốn SHA-1 Input: thông điệp với độ dài tối đa 2^64 bits Output: thơng điệp rút gọn (message digest) có độ dài 160 bits Giải thuật gồm bước khối 512 bits Bước 1: Nhồi liệu  Thông điệp nhồi thêm bit cho độ dài L mod 512 đồng dư 448  Thông điệp luôn nhồi thêm bit  Số bit nhồi thêm phải nằm khoảng 1-512  Phần thêm vào cuối liệu gồm bit theo sau bit Bước 2: Thêm độ dài:  Độ dài khối liệu ban đầu biểu diễn dạng nhị phân 64 bit thêm cuối chuỗi nhị phân mà ta thu bước  Độ dài biểu diễn dạng nhị phân 64 bit không dấu  Kết thu từ bước khối liệu có độ dài bội số 512 ( Với 512 bit khối liệu) Page | Bước 3: Khởi tạo đệm MD ( MD buffer) Một đệm 160 bit dùng để lưu trữ giá trị băm trung gian kết Bộđệm biểu diễn ghi 32-bit với giá trị khởi tạo dạng big-endian (buyte có trọng số lớn từ nằm địa thấp nhất) có đệm ghi đệm đánh đặt tên A, B,C,D,E tương tự cho đệm thứ là𝐻0 , 𝐻1 , 𝐻2 , 𝐻3 , 𝐻4 Có giá trị sau ( Theo dạng Hex): 𝐻0 =67452301 𝐻2 =EFCDAB89 𝐻3 = 98BADCFE 𝐻4 = 10325476 𝐻5 = C3D2E1F0 Bước 4: Xử lý khối liệu 512 bit Page | Thuật toán SHA-1  Trọng tâm giải thuật bao gồm vòng lặp thực tất 80 bước  vòng lặp có cấu trúc nhau, khác hàm logic 𝐹𝑡 Bước (0≤ t ≤ 19) Hàm 𝐹𝑡 =F(B, C,D) (20≤ t ≤ 39) (40≤ t ≤ 59) 𝐹𝑡 =F(B, C,D) 𝐹𝑡 =F(B, C,D) (60≤ t ≤ 79) 𝐹𝑡 =F(B, C,D) Gía trị (B AND C) OR ( (NOT B) AND D) B XOR C XOR D (B AND C) OR (B AND D) OR (C AND D) B XOR C XOR D Page | 10  Mỗi vòng có đầu vào gồm khối 512-bit thời điệm 160 bit A, C, B, D, E Các thao tác cập nhật giá trị đệm  Chia khối liệu nhồi thêm (cuối bước 2) thành 16 nhóm (mỗi nhóm gồm 32 bit) đặt theo thứ tự là: 𝑊0 ,𝑊1 , 𝑊15  Mở rộng từ 16 nhóm 32bit lên đến 80 nhóm 32 bit vòng lặp For 16 to 79 let 𝑊𝑡 = 𝑆1 (𝑊𝑡−3 XOR 𝑊𝑡−8 XOR 𝑊𝑡−14 XOR 𝑊𝑡−16 )  Gán A=𝐻0 , B=𝐻1 , C=𝐻2 , D=𝐻3 , E=𝐻4  Mỗi vòng lặp sử dụng theo cơng thức chung với số 𝐾𝑡 = (0≤ t ≤ 79) sau: For t= to 79 TEMP= 𝑆 (A)+𝐹𝑡 (B,C,D)+ E + 𝑊𝑡 + 𝐾𝑡 E=D; D=C; C= 𝑆 30 (B); B=A; A= TEMP Với: 𝐾𝑡 = 5A827999 (0≤ t ≤ 19) 𝐾𝑡 = 6ED9EBA1(20≤ t ≤ 39) 𝐾𝑡 = 8F1BBCDC(40≤ t ≤ 59) 𝐾𝑡 = CA62C1D6(60≤ t ≤ 79)  Đầu vòng (bước 80) cộng với giá trị đệm để tạo chuỗi kết dài 160 bit 𝐻0 = 𝐻0 + A 𝐻1 = 𝐻1 + B 𝐻2 = 𝐻2 + C 𝐻3 = 𝐻3 + D 𝐻4 = 𝐻4 + E Bước 5: Xuất kết  Sau thao tác toàn N khối liệu (blocks) Kết khối thứ N chuỗi băm 160 bit Page | 11 H= 𝐻0 𝐻1 𝐻2 𝐻3 𝐻4 Demo chạy chương trình ứng dụng Tổng kết Ưu điểm  Có nhiều ứng dụng quan trọng việc đảm bảo an toàn bảo mật hệ thống thông tin  Được sử dụng rộng rãi Nhược điểm  Kể từ năm 2005, hàm mật mã hash khơng đảm bảo tính bảo mật tuyệt đối Page | 12 ...MỤC LỤC Giới thiệu hàm Băm HASH 1.1 Giới thiệu 1.2 Tính chất hàm Hash 1.3 Các hàm băm mật mã học Ứng dụng hàm Băm Hash Thuật toán... mạng Hàm băm mật mã có tính chất hàm chiều Từ khối liệu hay giá trị đầu vào đưa giá trị băm Như biết tính chất hàm chiều Một người dù bắt giá trị băm họ suy ngược lại giá trị, đoạn tin nhắn băm. .. Băm Giới thiệu thuật toán hàm băm SHA-1 Page | 3.1 Giới thiệu hàm băm SHA-1 Năm 1990, Ron Rivest sáng tạo hàm băm MD4 Sau năm 1992, ơng cải tiến MD4 phát triển hàm băm khác: MD5 Năm 1993, Cơ quan

Ngày đăng: 19/05/2019, 20:47

Tài liệu cùng người dùng

Tài liệu liên quan