You are on page 1of 15

CHỦ ĐỀ

HÀM BĂM SHA3


NHÓM 09

Lê Xuân Việt

Nguyễn Quốc Trung

Phạm Văn Việt

Trần Mạnh Dũng

Lê Quang Trệu
I. ĐỊNH
NGHĨA

 Hàm băm là một hàm toán học 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

 Dãy bit này được gọi là thông điệp


rút gọn hay giá trị băm đại diện
cho thông điệp ban đầu

 Hàm băm 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
cho ra một chuỗi có độ dài cố định ở
đầu ra
II. PHÂN LOẠI HÀM BĂM

Dựa trên tham biến đầu vào của các hàm băm , các hàm băm
mật mã chia thành hai lớp

 Lớp hàm băm có khoá: Các hàm băm có khoá được sử


dụng để xác thực thông báo và thường được gọi là các
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ó khoá: Một hàm băm không có
khoá là một hàm gồm:
o Thông điệp cần tính giá trị băm Một số loại SHA3
o Khoá bí mật để băm văn bản theo đúng quy định

Hàm băm SHA3 sử dụng lớp hàm băm không khoá


III. SO SÁNH HÀM BĂM
III. TÍNH CHẤT CỦA HÀM BĂM
Hàm băm được đặc trưng bởi 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 được sử dụng)
 
 Tính chất dễ dàng tính toán (easy of computation): với
mọi chuỗi bit đầu vào x có chiều dài hữu hạn tùy ý, h(x)
được tính toán dễ dàng.
Ngoài 2 tính chất cơ bản trên còn thoả mãn 3 tính chất an toan dưới đây

 Tính kháng tiền ảnh (tính một chiều): Với mọi đầu ra y cho cho
trước, không thể tìm được dữ liệu đầu vào x sao cho h(x)=y (Hay
không thể tìm được một thông điệp từ một giá trị băm cho trước)

 Tính kháng tiền ảnh thứ 2: Với mọi dữ liệu đầu vào x cho trước
và y=h(x), không thể tính toán để tìm ra được x’ khác x sao cho
h(x’)=h(x) (Hay không thể tìm ra hai thông điệp khác nhau mà có
cùng giá trị băm)

 Tính kháng va chạm: Không thể tính toán để tìm được hai dữ
liệu đầu vào x và x’ phân biệt sao cho chúng cùng giá trị băm
h(x0=h(x’) (Hay không thể sửa được một thông điệp mà không
làm thay đổi giá trị băm của nó)
IV. CÁC THUỘC TÍNH CỦA HÀM BĂM

Thuộc tính 1 • Tốc độ


Thuộc tính 2 • Hiệu ứng tuyết lở
Thuộc tính 3 • Hàm băm mật mã nên xác định
Thuộc tính 4 • Kháng trước hình ảnh
Thuộc tính 5 • Khả năng chống va chạm
V. CẤU TRÚC HÀM
BĂM

SHA-3 sử dụng cấu trúc bọt biển trong đó dữ liệu được đưa vào
cấu trúc bọt biển và kết quả được đẩy ra ngoài.
VI. PHƯƠNG THỨC HOẠT ĐỘNG
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 ra một chuỗi bit đệm P có độ dài
chia hết cho r.
 Tách P thành các khối r bit nên ta thu được n =
(len(P))/r khối.
 Khởi tạo trạng thái ban đầu S gồm một chuỗi b bit 0.
 Quá trình absorbing: (đối với mỗi khối Pi)
o Thực hiện phép cộng modul Pi với r ta được giá trị Pi
mới.
o Mở rộng Pi mới ở cuối bằng một chuỗi c bit từ đó thu
được chuỗi độ dài b bit.
o Áp dụng hàm hoán vị f cho chuỗi b bit tạo ra trạng thái
S mới.
VII. PHƯƠNG THỨC HOẠT ĐỘNG

 Quá trình squeezing:


o Khởi tạo Z là chuỗi rỗng.
o Khi mà độ dài chuỗi Z nhỏ hơn d:
- Nối r bit đầu tiên của trạng thái S vào Z.
- Nếu độ dài chuỗi Z vẫn nhỏ hơn d bit, thực hiện
hàm hoán vị bổ sung f cho S, tạo ra trạng thái S
mới.
o Cắt ngắn Z cho tới khi còn độ dài là d bit.
VII. PHƯƠNG THỨC HOẠT ĐỘNG

Hàm đệm pad:


 Mục đích: để đảm bảo rằng 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 thì dạng hàm đệm sẽ là: 10…001.
Bắt đầu bằng một bit 1, tiếp đó là một hoặc nhiều biết 0 (tối đa r-1 bit 0)
và cuối cùng kết thúc bằng một bit 1. Trường hợp đệm r-1 bit 0 xảy ra
khi khối tin cuối có độ dài r-1 bit, khi đó khối tin cuối sẽ có độ dài sau
khi thêm là (r-1) + (r-1) + 1 + 1 = 2r – thỏa mãn điều kiện chia hết cho r.
Trong hàm đệm, bit khởi tạo là bit 1 bắt buộc nên các khối tin chỉ khác
nhau ở số bit 0 được bổ sung nên sẽ không tạo ra cùng một hàm băm.
VIII. ƯU NHƯỢC ĐIỂM

Ưu điểm
Nhược điểm
 Là thuật toán mã hóa linh hoạt
 SHA-3 cung cấp chức năng một chiều
an toàn  SHA3 chậm hơn nhiều so với
 Họ thuật toán SHA3 cho phép cân bằng SHA-2 về vấn đề phần mềm
hiệu suất-bảo mật bằng cách chọn cặp  Thiếu hỗ trợ phần cứng và phần
tỷ lệ dung lượng phù hợp. mềm nên chưa được triển khai
 Không dễ bị tấn công mở rộng độ dài, rộng rãi
mức độ bảo mật cao  Tấn công va chạm có thể xảy ra
 Nhanh hơn nhiều so với những người
tiền nhiệm của nó khi mật mã được xử
lý bởi các thành phần phần cứng.
IX. CÁC ỨNG DỤNG CỦA HÀM BĂM

Lưu trữ và xác minh mật khẩu

Đấu giá trực tuyến

Dowload dữ liệu từ trên Internet

Đảm bảo tính toàn vẹn và xác thực

Nâng cao hiệu quả chữ ký số


THANK YOU FOR WATCHING

You might also like