BÁO CÁO TIỂU LUẬN Đề tài Hàm băm SHA3

16 11 0
BÁO CÁO TIỂU LUẬN Đề tài Hàm băm SHA3

Đ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

Nhóm HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THƠNG I AN TỒN MẠNG THƠNG TIN BÁO CÁO TIỂU LUẬN Đề tài: Hàm băm SHA3 Giảng viên HD: Sinh viên thực hiện: Phạm Minh Thư Nhóm 11 Lê Xuân Việt – B19DCVT430 Phạm Văn Việt Quang Triệu Trung Dũng Hà Nội – 2022 Nhóm Mục lục Lời mở đầu .2 I Đặt vấn đề Xuất xứ Yêu cầu 3 Mục tiêu II Các nội dung Giới thiệu .3 Định nghĩa 3 Phân loai hàm băm mật mã So sánh chức SHA Các tính chất hàm băm Các thuộc tính hàm băm Cấu trúc cách thức hoạt động SHA-3 .3 Ưu điểm , nhược điểm hàm băm SHA3 Ứng dụng III Tổng kết IV Tài liệu tham khảo Nhóm Lời mở đầu Với phát triển ngày nhanh chóng Internet ứng dụng giao dịch điện tử mạng, nhu cầu bảo vệ thông tin hệ thống ứng dụng điện tử ngày quan tâm có ý nghĩa quan trọng Vì việc nghiên cứu chuẩn mật mã nâng cao ứng dụng lĩnh vực bảo mật thông tin cần thiết Ứng dụng chuẩn mật mã nâng cao sử dụng ngày phổ biến nhiều ứng dụng khác Chuẩn mật mã nâng cao không đơn mã hố giải mã thơng tin mà cong bao gồm nhiều vấn đề khác cần nghiên cứu giải ứng dụng xây dựng hàm băm phục vụ việc chứng thực nguồn gốc , nội dung thông tin (kỹ thuật chũ kí điện tử), xác thực tính nguyên vẹn liệu… Một hàm băm sử dụng rộng rãi hàm băm SHA dược phát triển cục an ninh quốc gia Mỹ Với nhiều ưu điểm có nhiều phiên khác phát hành Với tiểu luận với đề tài “Tìm hiểu hàm băm SHA3” tìm hiểu hàm băm SHA3 để rõ cách thức hoạt động dụng Nhóm I Đặt vấn đề Yêu cầu -Làm rõ định nghĩa hàm băm - Nêu tính chất, thuộc tính hàm băm -Phân tích cấu trúc phương thức hoạt động hàm băm - Nêu ưu nhược điểm hàm băm - Nêu ứng dụng hàm băm Mục tiêu Để hiểu rõ hàm băm ta cần đạt mục tiêu sau đây: - Hiểu hàm băm - Hiểu tính chất, thuộc tính hàm băm - Nêu cấu trúc phương thức hoạt động hàm băm SHA3 - Ưu nhược điểm hàm băm SHA3 - Ứng dụng hàm băm quan trọng II Các nội dung tìm hiểu hàm băm SHA3 Giới thiệu SHA viết tắt Secure Hash Algorithm (Thuật tốn băm an tồn) đề cập đến tập hợp hàm băm mật mã xuất Viện Tiêu chuẩn Công nghệ Quốc gia Hoa Kỳ (NIST) SHA-3 sử dụng cho mục đích khác biết đến hàm băm cung cấp mức độ bảo mật gia tăng so sánh với thuật toán băm cũ SHA-1 SHA-2 Mặc dù SHA-3 hỗ trợ kích thước đầu (độ dài băm) SHA-2, chế hoạt động khác biệt Lịch sử, xuất xứ: Các công lý thuyết vào SHA-1 thực vào năm 2004 công bố rộng rãi vào năm 2005 Vài năm sau đó, cụ thể năm 2011, SHA2 NIST tuyên bố hàm băm tiêu chuẩn sử dụng Tuy vậy, trình di chuyển từ SHA-1 sang SHA-2 diễn chậm đến đầu năm 2017, tỷ lệ lớn Nhóm nhà phát triển nhà khoa học máy tính cuối chuyển sang SHA-2 Ngay sau đó, Google thông báo công vào SHA-1 thành cơng vào tháng năm 2017 kể từ đó, SHA-1 khơng cịn coi an tồn việc sử dụng khơng cịn khuyến khích Hàm băm SHA-3 bắt đầu phát triển vào khoảng 2007 sau NIST cơng bố quy trình kiểm tra cạnh tranh cơng khai, nhằm tìm kiếm hàm băm mật mã khắc phục sai sót tiềm ẩn SHA-1 SHA-2 trước Năm 2012, NIST tuyên bố Keccack thuật toán chiến thắng thi tiêu chuẩn hóa thành viên gia đình SHA (đó SHA-3) Định nghĩa  Sơ đồ hàm băm mật mã: Hình 1: Sơ đồ hàm băm  Định nghĩa: Hàm băm( Hash function) hàm tố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 (tùy thuộc vào thuật toán Nhóm 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 Phân loai hàm băm mật mã Dựa tham biến đầu vào hàm băm , hàm băm mật mã chia thành hai lớp: gồm lớp hàm băm có khố lớp hàm băm khơng có khố  Lớp hàm băm có khố: Các hàm băm có khố sử dụng để xác thực thơng báo thường gọi thuật toán tạo mã xác thực thơng báo(MAC)  Lớp hàm băm khơng có khố: Một hàm băm khơng có khố hàm gồm: o Thơng điệp cần tính giá trị băm o Khố bí mật để băm văn theo quy định Hàm băm SHA3 sử dụng lớp hàm băm khơng khố Một số loại SHA3 Hình 2: Phân loại hàm băm Nhóm Hình 3: Một số loại hàm băm SHA3 So sánh chức SHA Hai bảng cho thấy khác biệt hàm hàm băm: Nhóm Hình 4, 5: So sánh hàm băm Việc triển khai tối ưu hóa cách sử dụng AVX-512VL (tức từ OpenSSL , chạy CPU Skylake-X ) SHA3-256 đạt khoảng 6,4 chu kỳ byte cho thư lớn, và khoảng 7,8 chu kỳ byte sử dụng AVX2 trên CPU Skylake   Hiệu suất CPU x86, Power ARM khác tùy thuộc vào lệnh sử dụng kiểu CPU xác thay đổi từ khoảng đến 15 chu kỳ byte, với số CPU x86 cũ lên đến 25– 40 chu kỳ byte Các tính chất hàm băm Hàm băm đặc trưng hai tính chất sau đây:  Tính chất nén(compression): Hàm h(x) tương ứng chuỗi bit đầu vào x có chiều dài hữu hạn tùy ý vào chuỗi bit y = h(x) có chiều dài cố định n>0 cho trước (tuỳ vào thuật toán băm sử dụng)  Tính chất dễ dàng tính tốn (easy of computation): với chuỗi bit đầu vào x có chiều dài hữu hạn tùy ý, h(x) tính tốn dễ dàng Ngồi tính chất cịn thoả mãn tính chất an toan  Tính kháng tiền ảnh (tính chiều): Với đầu y cho cho trước, khơng thể tìm liệu đầu vào x cho h(x)=y (Hay tìm thơng điệp từ giá trị băm cho trước)  Tính kháng tiền ảnh thứ 2: Với liệu đầu vào x cho trước y=h(x), khơng thể tính tốn để tìm x’ khác x cho h(x’)=h(x) (Hay khơng thể tìm hai thơng điệp khác mà có giá trị băm)  Tính kháng va chạm: Khơng thể tính tốn để tìm hai liệu đầu vào x x’ phân biệt cho chúng giá trị băm h(x0=h(x’) (Hay sửa thông điệp mà không làm thay đổi giá trị băm nó) Kích thước thơng điệp đầu vào bất kì, cịn kích thước giá trị băm thông điệp nhỏ nên việc trùng giá trị băm loại bỏ Tính chống trùng hàm băm yêu cầu việc tìm hai thơng điệp đầu vào phải khó khan mặt thời gian tính tốn Nhóm Hình 6: Thơng điệp sau băm Các thuộc tính hàm băm Để hàm băm trở thành hàm băm mật mã, phải có số thuộc tính  Thuộc tính số - Tốc độ Các hàm băm mật mã phải hiệu mặt tính tốn Điều có nghĩa hàm băm tạo hàm băm phần giây  Thuộc tính số - Hiệu ứng tuyết lở Hiệu ứng tuyết lở có nghĩa thay đổi nhỏ thông báo dẫn đến thay đổi lớn giá trị băm  Thuộc tính - Hàm băm mật mã nên xác định Điều có nghĩa bạn sử dụng hàm băm lần cho đầu vào, bạn nhận đầu Điều hiển nhiên bạn có băm ngẫu nhiên cho thơng báo, tồn q trình trở nên vơ nghĩa  Thuộc tính - Kháng trước hình ảnh (Chức chiều) Điều có nghĩa khó để truy cập đầu vào thơng qua đầu Nói cách đơn giản, bạn khơng thể đảo ngược hàm băm mật mã để truy cập liệu Tuy nhiên, điều khơng có nghĩa khơng thể xem tin nhắn Thuộc tính kháng trước hình ảnh băm mật mã đóng vai trị quan trọng tranh luận băm mã hóa - bạn giải mã thơng điệp mã hóa, bạn làm điều tương tự băm mật mã Nhóm  Thuộc tính số - Khả chống va chạm Điều có nghĩa hai thông báo khác tạo giá trị băm Vì giá trị băm có độ dài cố định, điều có nghĩa có giới hạn kết hợp đầu Mặt khác, đầu vào số vơ hạn Vì vậy, lý thuyết, có khả hai thơng điệp khác tạo hàm băm Tuy nhiên, hàm băm mật mã làm cho tỷ lệ xảy va chạm băm thực tế không đáng kể Tất thuộc tính đảm bảo tính bảo mật khả sử dụng băm mật mã Vì vậy, đáp ứng hàm băm mật mã khác Cấu trúc cách thức hoạt động SHA-3 SHA-3 sử dụng cấu trúc bọt biển liệu đưa vào cấu trúc bọt biển kết đẩy Trong phiên đưa liệu vào (absorbing), khối tin đầu vào Pi thực thi phép cộng môđun (XOR) thành tập hợp trạng thái, sau chuyển đổi thành tập hợp tổng việc sử dụng hàm hoán vị f Trong phiên đưa liệu (squeezing), đầu Zi đọc từ tập trạng thái, xen kẽ với hàm hoán vị f 10 Nhóm Hình 7: Cấu trúc bọt biển hàm băm SHA3 Bài toán: Input: Cho chuỗi bit đầu vào N, hàm đệm pad, hàm hoán vị f hoạt động khối bit có chiều rộng b Trạng thái S gồm “tỷ lệ” r “dung lượng” c = b – r Output: Z = sponge[f,pad,r](N,d) chuỗi bit Z đầu có chiều dài d Phương thức hoạt động:  Sử dụng hàm đệm pad để đệm thêm bit cho chuỗi bit đầu vào N, từ tạo chuỗi bit đệm P có độ dài chia hết cho r  Tách P thành khối r bit nên ta thu n = (len(P))/r khối  Khởi tạo trạng thái ban đầu S gồm chuỗi b bit  Quá trình absorbing: (đối với khối Pi) o Thực phép cộng modul Pi với r ta giá trị Pi o Mở rộng Pi cuối chuỗi c bit từ thu chuỗi độ dài b bit o Áp dụng hàm hoán vị f cho chuỗi b bit tạo trạng thái S  Quá trình squeezing: o Khởi tạo Z chuỗi rỗng o Khi mà độ dài chuỗi Z nhỏ d: - Nối r bit trạng thái S vào Z - Nếu độ dài chuỗi Z nhỏ d bit, thực hàm hoán vị bổ sung f cho S, tạo trạng thái S o Cắt ngắn Z độ dài d bit Hàm đệm pad:  Mục đích: để đảm bảo chuỗi bit thơng tin đầu vào có độ dài chia hết đủ cho r bit  Cách thức hoạt động: Đối với SHA-3 dạng hàm đệm là: 10…001 Bắt đầu bit 1, tiếp nhiều biết (tối đa r-1 bit 0) cuối kết thúc bit Trường hợp đệm r-1 bit xảy khối tin cuối có độ dài r-1 bit, khối tin cuối có độ dài sau thêm (r-1) + (r-1) + + = 2r – thỏa mãn điều kiện chia hết cho r Trong hàm đệm, bit khởi tạo 11 Nhóm bit bắt buộc nên khối tin khác số bit bổ sung nên không tạo hàm băm Ví dụ: Input: 01 -> Output: 0110*1 Input: 11 -> Output: 1110*1 Input: 1111 -> Output: 111110*1 Ưu điểm , nhược điểm hàm băm SHA3 Ưu điểm:  Là thuật toán mã hóa linh hoạt cho phép độ dài thay đổi cho đầu vào đầu ra, làm cho lý tưởng cho hàm băm  SHA-3 cung cấp chức chiều an tồn Điều có nghĩa bạn tạo lại liệu đầu vào từ đầu băm, thay đổi liệu đầu vào mà không thay đổi hàm băm Bạn khơng tìm thấy liệu khác có hàm băm hai liệu có hàm băm  Các phiên sử dụng hốn vị cho tất điểm mạnh bảo mật, giảm chi phí triển khai  Họ thuật toán SHA3 cho phép cân hiệu suất-bảo mật cách chọn cặp tỷ lệ dung lượng phù hợp  Không dễ bị công mở rộng độ dài, mức độ bảo mật cao  Nhanh nhiều so với người tiền nhiệm mật mã xử lý thành phần phần cứng Nhược điểm:  SHA3 chậm nhiều so với SHA-2 vấn đề phần mềm (ví dụ máy chủ PC tiêu dùng) nhanh phần cứng (ví dụ FPGA, ASIC) kẻ cơng thử nhiều mật tương đối nhanh  Thiếu hỗ trợ phần cứng phần mềm nên chưa triển khai rộng rãi  Tấn cơng va chạm xảy 12 Nhóm 9 Ứng dụng  Lưu trữ xác minh mật khẩu: Việc xác minh mật thường dựa vào hàm băm mật mã Mật người dùng dạng rõ dẫn đến lỗ hổng bảo mật nghiêm trọng tệp mật bị xâm phạm Do đó, để làm giảm nguy này, thường lưu trữ giá trị băm mật Để xác thực người dùng, mật người dùng nhập vào băm so sánh với giá trị băm lưu trữ tương ứng Mật ban đầu tính tốn lại từ giá trị băm lưu trữ sở liệu Hình 8: Sơ đồ lưu trữ  Đấu giá trực tuyến:  Dowload liệu từ Internet: Khi download file từ mạng internet, chất lượng mạng khơng tốt xảy lỗi trình download làm cho file máy khách (client) khác với file máy chủ (server) Hàm băm giúp phát trường hợp bị lỗi 13 Nhóm Hình 9: Sơ đồ download liệu Note: Trong hình trình download file hàm băm SHA2 SHA3 tương tự  Đảm bảo tính tồn vẹn xác thực: Đảm bảo tính tồn vẹn đảm bảo thông tin, liệu nhận được xác giống gửi (tức khơng bị sửa đổi, chèn, xóa hay phát lại) Đặc biệt, hai bên thực truyền thông kênh truyền thơng khơng an tồn, địi hỏi phương pháp để hai bên truyền thơng xác thực lẫn Xác thực tồn vẹn thơng báo thực nhiều cách có việc sử dụng mật mã khóa đối xứng đơn giản sử dụng hàm MAC hàm băm  Nâng cao hiệu chữ ký số: Hầu tất lược đồ chữ ký số u cầu tính tốn tóm lược thơng điệp hàm băm mật mã Điều cho phép việc tính tốn tạo chữ ký thực khối liệu có kích thước tương đối nhỏ cố định thay tồn văn dài Tính chất tồn vẹn thơng điệp hàm băm mật mã sử dụng để tạo lược đồ chữ ký số an toàn hiệu 14 Nhóm III Tổng kết Khi bạn cần bảo mật quyền riêng tư, hàm băm mật mã phát huy tác dụng. Nhược điểm băm mật mã thường chậm loại băm khác. Nếu bạn cần băm nhanh không cần bảo mật cấp cao - tốt băm khơng phải mã hóa. Ví dụ - bạn tạo mục số liệu khơng nhạy cảm Sự khác biệt băm khơng mật mã mã hóa băm khó bị phá vỡ. Lưu ý khơng phải không thể. Tuy nhiên, băm mật mã làm cho việc bẻ khóa hàm gần khơng thể Hàm băm khối xây dựng cơng nghệ. Đó lý bạn cần hiểu băm khái niệm liên quan — thứ tốc độ băm chức sau thảo luận về thuật tốn Keccak Hash q trình lấy liệu đầu vào chạy thơng qua thuật tốn, sau tạo liệu đầu có kích thước cụ thể qn Dữ liệu đầu hàm băm. Thuật toán sử dụng trình gọi hàm băm. Và cuối cùng, tốc độ mà bạn đẩy liệu thông qua hàm băm để tạo hàm băm tốc độ băm bạn 15 Nhóm IV Tài liệu tham khảo - https://en.wikipedia.org/wiki/SHA-3#See_also - https://123docz.net//document/4573985-nghien-cuu-ham-bam-sha3-va-cai-datchuong-trinh-giao-dien-thuc-hien.htm - https://deeprnd.blogspot.com/keccak-hashing-algorithm-sha-3 - https://academy.binance.com/en/glossary/keccak - 16 ... hiểu rõ hàm băm ta cần đạt mục tiêu sau đây: - Hiểu hàm băm - Hiểu tính chất, thuộc tính hàm băm - Nêu cấu trúc phương thức hoạt động hàm băm SHA3 - Ưu nhược điểm hàm băm SHA3 - Ứng dụng hàm băm. .. thực thông báo( MAC)  Lớp hàm băm khơng có khố: Một hàm băm khơng có khố hàm gồm: o Thơng điệp cần tính giá trị băm o Khố bí mật để băm văn theo quy định ? ?Hàm băm SHA3 sử dụng lớp hàm băm khơng... biến đầu vào hàm băm , hàm băm mật mã chia thành hai lớp: gồm lớp hàm băm có khố lớp hàm băm khơng có khố  Lớp hàm băm có khố: Các hàm băm có khố sử dụng để xác thực thơng báo thường gọi thuật

Ngày đăng: 14/11/2022, 19:55

Từ khóa liên quan

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

Tài liệu liên quan