Bài giảng An toàn dữ liệu và mật mã: Chương 6 - Trường ĐH Nguyễn Tất Thành
Số trang: 44
Loại file: pdf
Dung lượng: 1.28 MB
Lượt xem: 9
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng An toàn dữ liệu và mật mã: Chương 6 Hàm Băm và Chữ ký số, được biên soạn gồm các nội dung chính sau: giới thiệu hàm băm; một số giải thuật hàm băm điển hình; chữ ký số; chứng chỉ số; hạ tầng khóa công khai. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng An toàn dữ liệu và mật mã: Chương 6 - Trường ĐH Nguyễn Tất Thành TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN AN TOÀN DỮ LIỆU VÀ MẬT MÃ Data security and encryption Giảng Viên: ThS. Dương Minh Tuấn Email: dmtuan@ntt.edu.vn 1 Chương VI. Hàm Băm và Chữ ký số 1. HÀM BĂM - Giới thiệu hàm băm - Một số giải thuật hàm băm điển hình ▪ MD5 ▪ SHA1 2. Chữ ký số ▪ Thuật toán chữ ký số RSA ▪ Thuật toán chữ ký số DSA 3. Chứng chỉ số 4. Hạ tầng khóa công khai – PKI(Public Key Infrastructure) 2 1. Hàm Băm Giới thiệu ▪ Chuyển đổi một thông điệp có độ dài bất kỳ thành một dãy bit có độ dài nhất định. ▪ Hàm băm là hàm một chiều ???? Rất khó để xây dựng lại thông điệp ban đầu từ thông điệp rút gọn. ▪ Hàm băm giúp xác định được tính toàn vẹn dữ liệu của thông tin. 1. Hàm Băm Giới thiệu ❖Hàm băm (hash function) là một hàm toán học h có tối thiểu 2 thuộc tính cơ bản: ▪ Nén (compression): h là một ánh xạ từ chuỗi đầu vào x có chiều dài bất kỳ sang một chuỗi đầu ra h(x) có chiều dài cố định n bít; ▪ Dễ tính toán (ease of computation): cho trước hàm h và đầu vào x, việc tính toán h(x) là dễ dàng. 1. Hàm Băm Giới thiệu ❖ Phân loại hàm băm theo khóa sử dụng: ▪ Hàm băm không khóa (unkeyed): đầu vào chỉ là thông điệp; ▪ Hàm băm có khóa (keyed): đầu vào gồm thông điệp và khóa. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: A. Mã phát hiện sửa đổi (MDC - Modification detection codes) • MDC thường được sử dụng để tạo chuỗi đại diện cho thông điệp và dùng kết hợp với các biện pháp khác để đảm bảo tính toàn vẹn của thông điệp; • MDC thuộc loại hàm băm không khóa; • MDC thường được sử dụng trong các quá trình tạo và kiểm tra chữ ký số để đảm bảo tính toàn vẹn thông điệp. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: A. Mã phát hiện sửa đổi (MDC - Modification detection codes) • Hai loại MDC: – Hàm băm một chiều (OWHF - One-way hash functions): dễ dàng tính giá trị băm, nhưng khôi phục thông điệp từ giá trị băm rất khó khăn; – Hàm băm chống đụng độ (CRHF - Collision resistant hash functions): Rất khó tìm được 2 thông điệp trùng giá trị băm. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: B. Mã xác thực thông điệp (MAC - Message authentication codes) • MAC cũng được dùng để đảm bảo tính toàn vẹn của thông điệp mà không cần một biện pháp bổ sung khác; • MAC là loại hàm băm có khóa: đầu vào là thông điệp và một khóa; • MAC được sử dụng trong các giao thức bảo mật SSL/TLS, IPSec,… để đảm bảo tính toàn vẹn thông điệp. Một số giải thuật hàm băm điển hình ▪ CRC (Cyclic redundancy checks) ▪ Checksums ▪ MD2, MD4, MD5 ▪ MD6 ▪ SHA0, SHA1 ▪ SHA2, SHA3 1. Hàm Băm Cấu trúc hàm băm ▪ Các thành phần: • Thông điệp M • Thông điệp đã “băm” H ▪ Các bước: • Cho trước một thông điệp M có độ dài bất kỳ • Chia nhỏ thông điệp M thành từng khối có kích thước bằng nhau: M1, M2, …Ms • Gọi H là trạng thái có kích thước n bit, f là “hàm nén” thực hiện thao tác trộn khối dữ liệu với trạng thái hiện hành • Hs chính là thông điệp rút gọn của thông điệp M ban đầu Một số giải thuật hàm băm điển hình MD5 ❖ MD5 (Message Digest) là hàm băm không khóa được Ronald Rivest thiết kế năm 1991 để thay thế MD4; ❖ Chuỗi đầu ra (giá trị băm) của MD5 là 128 bít (16 bytes) và thường được biểu diễn thành 32 số hexa; ❖ MD5 được sử dụng khá rộng rãi trong nhiều ứng dụng: ▪ Chuỗi đảm bảo tính toàn vẹn thông điệp; ▪ Tạo chuỗi kiểm tra lỗi – Checksum; ▪ Mã hóa mật khẩu. 1. Hàm Băm Mô hình Mô hình lặp tổng lặp chi quát tạo tiết tạo giá trị giá trị băm băm Một số giải thuật hàm băm điển hình Giải thuật MD5 Giải thuật MD5 ???? Phát triển bởi Ron Rivest tại đại học MIT ???? Input: thông điệp với độ dài bất kỳ ???? Output: giá trị băm (message digest) 128 bits ???? Giải thuật gồm 5 bước thao tác trên khối 512 bits Một số giải thuật hàm băm điển hình MD5 ❖ Quá trình xử lý thông điệp của MD5: ▪ Thông điệp được chia thành các khối 512 bít. Nếu kích thước thông điệp không là bội số của 512 ???? nối thêm số bít thiếu; ▪ Phần xử lý chính của MD5 làm việc trên state 128 bít, chia thành 4 từ 32 bít (A, B, C, D); • Các từ A, B, C, D được khởi trị bằng một hằng cố định; • Từng phần 32 bít của khối đầu vào 512 bít được đưa dần vào để thay đổi state; ▪ Quá trình xử lý gồm 4 vòng, mỗi vòng gồm 16 thao tác tương tự nhau; ▪ Mỗi thao tác gồm: • Hàm F (4 hàm khác nhau cho mỗi vòng); • Cộng modulo; • Quay trái Một số giải thuật hàm băm điển hình MD5 Lưu đồ xử lý một thao tác của MD5: ▪ A, B, C, D: các từ 32 bit ▪ Mi: khối 32 bit thông điệp đầu vào; ▪ Ki: 32 bit hằng. Mỗi thao tác sử dụng một hằng khác nhau; ▪ Một số giải thuật hàm băm điển hình SHA1 ❖ Secure Hash Algorithm (SHA) phát triển bởi National Institute of Standard and Technology (NIST) ❖ Đầu vào: thông điệp với độ dài tối đa 264 bits ❖ Đầu ra: giá trị băm (message digest) có độ dài160 bits ❖ Giải thuật gồm 5 bước thao tác trên các khối 51 bits Một số giải thuật hàm băm điển hình SHA1 ❖ SHA1 (Secure Hash Function) được NSA (Mỹ) thiết kế năm 1995 để thay thế cho SHA0; ❖ Chuỗi đầu ra của SHA1 có kích thước 160 bít và thường được biểu diễn thành 40 số hexa; ❖ SHA1 được sử dụng rộng rãi để: ▪ Đảm bảo tính xác thực và toàn vẹn thông điệp; ▪ Mã hóa mật khẩu. Một số giải thuật hàm băm điển hình SHA1 ❖ Họ hàm băm SHA: SHA-0, SHA-1, SHA-2, SHA-3: ...
Nội dung trích xuất từ tài liệu:
Bài giảng An toàn dữ liệu và mật mã: Chương 6 - Trường ĐH Nguyễn Tất Thành TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN AN TOÀN DỮ LIỆU VÀ MẬT MÃ Data security and encryption Giảng Viên: ThS. Dương Minh Tuấn Email: dmtuan@ntt.edu.vn 1 Chương VI. Hàm Băm và Chữ ký số 1. HÀM BĂM - Giới thiệu hàm băm - Một số giải thuật hàm băm điển hình ▪ MD5 ▪ SHA1 2. Chữ ký số ▪ Thuật toán chữ ký số RSA ▪ Thuật toán chữ ký số DSA 3. Chứng chỉ số 4. Hạ tầng khóa công khai – PKI(Public Key Infrastructure) 2 1. Hàm Băm Giới thiệu ▪ Chuyển đổi một thông điệp có độ dài bất kỳ thành một dãy bit có độ dài nhất định. ▪ Hàm băm là hàm một chiều ???? Rất khó để xây dựng lại thông điệp ban đầu từ thông điệp rút gọn. ▪ Hàm băm giúp xác định được tính toàn vẹn dữ liệu của thông tin. 1. Hàm Băm Giới thiệu ❖Hàm băm (hash function) là một hàm toán học h có tối thiểu 2 thuộc tính cơ bản: ▪ Nén (compression): h là một ánh xạ từ chuỗi đầu vào x có chiều dài bất kỳ sang một chuỗi đầu ra h(x) có chiều dài cố định n bít; ▪ Dễ tính toán (ease of computation): cho trước hàm h và đầu vào x, việc tính toán h(x) là dễ dàng. 1. Hàm Băm Giới thiệu ❖ Phân loại hàm băm theo khóa sử dụng: ▪ Hàm băm không khóa (unkeyed): đầu vào chỉ là thông điệp; ▪ Hàm băm có khóa (keyed): đầu vào gồm thông điệp và khóa. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: A. Mã phát hiện sửa đổi (MDC - Modification detection codes) • MDC thường được sử dụng để tạo chuỗi đại diện cho thông điệp và dùng kết hợp với các biện pháp khác để đảm bảo tính toàn vẹn của thông điệp; • MDC thuộc loại hàm băm không khóa; • MDC thường được sử dụng trong các quá trình tạo và kiểm tra chữ ký số để đảm bảo tính toàn vẹn thông điệp. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: A. Mã phát hiện sửa đổi (MDC - Modification detection codes) • Hai loại MDC: – Hàm băm một chiều (OWHF - One-way hash functions): dễ dàng tính giá trị băm, nhưng khôi phục thông điệp từ giá trị băm rất khó khăn; – Hàm băm chống đụng độ (CRHF - Collision resistant hash functions): Rất khó tìm được 2 thông điệp trùng giá trị băm. 1. Hàm Băm Giới thiệu ❖Phân loại hàm băm theo tính năng: B. Mã xác thực thông điệp (MAC - Message authentication codes) • MAC cũng được dùng để đảm bảo tính toàn vẹn của thông điệp mà không cần một biện pháp bổ sung khác; • MAC là loại hàm băm có khóa: đầu vào là thông điệp và một khóa; • MAC được sử dụng trong các giao thức bảo mật SSL/TLS, IPSec,… để đảm bảo tính toàn vẹn thông điệp. Một số giải thuật hàm băm điển hình ▪ CRC (Cyclic redundancy checks) ▪ Checksums ▪ MD2, MD4, MD5 ▪ MD6 ▪ SHA0, SHA1 ▪ SHA2, SHA3 1. Hàm Băm Cấu trúc hàm băm ▪ Các thành phần: • Thông điệp M • Thông điệp đã “băm” H ▪ Các bước: • Cho trước một thông điệp M có độ dài bất kỳ • Chia nhỏ thông điệp M thành từng khối có kích thước bằng nhau: M1, M2, …Ms • Gọi H là trạng thái có kích thước n bit, f là “hàm nén” thực hiện thao tác trộn khối dữ liệu với trạng thái hiện hành • Hs chính là thông điệp rút gọn của thông điệp M ban đầu Một số giải thuật hàm băm điển hình MD5 ❖ MD5 (Message Digest) là hàm băm không khóa được Ronald Rivest thiết kế năm 1991 để thay thế MD4; ❖ Chuỗi đầu ra (giá trị băm) của MD5 là 128 bít (16 bytes) và thường được biểu diễn thành 32 số hexa; ❖ MD5 được sử dụng khá rộng rãi trong nhiều ứng dụng: ▪ Chuỗi đảm bảo tính toàn vẹn thông điệp; ▪ Tạo chuỗi kiểm tra lỗi – Checksum; ▪ Mã hóa mật khẩu. 1. Hàm Băm Mô hình Mô hình lặp tổng lặp chi quát tạo tiết tạo giá trị giá trị băm băm Một số giải thuật hàm băm điển hình Giải thuật MD5 Giải thuật MD5 ???? Phát triển bởi Ron Rivest tại đại học MIT ???? Input: thông điệp với độ dài bất kỳ ???? Output: giá trị băm (message digest) 128 bits ???? Giải thuật gồm 5 bước thao tác trên khối 512 bits Một số giải thuật hàm băm điển hình MD5 ❖ Quá trình xử lý thông điệp của MD5: ▪ Thông điệp được chia thành các khối 512 bít. Nếu kích thước thông điệp không là bội số của 512 ???? nối thêm số bít thiếu; ▪ Phần xử lý chính của MD5 làm việc trên state 128 bít, chia thành 4 từ 32 bít (A, B, C, D); • Các từ A, B, C, D được khởi trị bằng một hằng cố định; • Từng phần 32 bít của khối đầu vào 512 bít được đưa dần vào để thay đổi state; ▪ Quá trình xử lý gồm 4 vòng, mỗi vòng gồm 16 thao tác tương tự nhau; ▪ Mỗi thao tác gồm: • Hàm F (4 hàm khác nhau cho mỗi vòng); • Cộng modulo; • Quay trái Một số giải thuật hàm băm điển hình MD5 Lưu đồ xử lý một thao tác của MD5: ▪ A, B, C, D: các từ 32 bit ▪ Mi: khối 32 bit thông điệp đầu vào; ▪ Ki: 32 bit hằng. Mỗi thao tác sử dụng một hằng khác nhau; ▪ Một số giải thuật hàm băm điển hình SHA1 ❖ Secure Hash Algorithm (SHA) phát triển bởi National Institute of Standard and Technology (NIST) ❖ Đầu vào: thông điệp với độ dài tối đa 264 bits ❖ Đầu ra: giá trị băm (message digest) có độ dài160 bits ❖ Giải thuật gồm 5 bước thao tác trên các khối 51 bits Một số giải thuật hàm băm điển hình SHA1 ❖ SHA1 (Secure Hash Function) được NSA (Mỹ) thiết kế năm 1995 để thay thế cho SHA0; ❖ Chuỗi đầu ra của SHA1 có kích thước 160 bít và thường được biểu diễn thành 40 số hexa; ❖ SHA1 được sử dụng rộng rãi để: ▪ Đảm bảo tính xác thực và toàn vẹn thông điệp; ▪ Mã hóa mật khẩu. Một số giải thuật hàm băm điển hình SHA1 ❖ Họ hàm băm SHA: SHA-0, SHA-1, SHA-2, SHA-3: ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng An toàn dữ liệu và mật mã An toàn dữ liệu và mật mã An toàn dữ liệu Chữ ký số Hạ tầng khóa công khai Giải thuật hàm băm điển hìnhGợi ý tài liệu liên quan:
-
Phát triển thuật toán chữ ký số dựa trên hệ mã Pohlig - Hellman
6 trang 183 0 0 -
Tìm hiểu về nguyên lý của các hệ cơ sở dữ liệu: Phần 2
139 trang 98 0 0 -
Xây dựng lược đồ chữ ký số dựa trên bài toán logarit rời rạc kết hợp khai căn trên Zp
5 trang 65 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 65 0 0 -
Bài giảng Các hệ cơ sở dữ liệu: An toàn và khôi phục dữ liệu - Lương Trần Hy Hiến
9 trang 58 0 0 -
Bài thuyết trình Nguy cơ mất an ninh, an toàn thông tin, dữ liệu và một số giải pháp khắc phục
33 trang 44 0 0 -
Xây dựng thuật toán chữ ký số dựa trên một dạng bài toán khó mới
8 trang 42 0 0 -
An toàn và bảo mật dữ liệu: Phần 2
106 trang 41 0 0 -
An toàn và bảo mật dữ liệu: Phần 1
131 trang 39 1 0 -
Bài giảng Kiến trúc máy tính và hợp ngữ: RAID - Huỳnh Tổ Hạp
14 trang 37 0 0