Tải bản đầy đủ (.pdf) (15 trang)

slide hàm băm mật mã SHA môn an ninh cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (660.92 KB, 15 trang )

Hàm băm SHA
Người hướng dẫn: PGS.TS Trịnh Nhật Tiến

Học viên: Nghiêm Thị Hương


Giới thiệu về Hàm băm(1)
 Hàm băm (Hash function) 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 (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. Từ chuỗi đầu ra khó có thể tìm được
chuỗi ban đầu.
 Hàm băm không phải là mã hoá vì không thể giải mã về
chuỗi ban đầu.


Giới thiệu về Hàm băm(2)
 Một hàm băm tốt phải thoả mãn các điều kiện sau:
 Tính toán nhanh
 Các khoá được phân bố đều trong bảng
 Ít xảy ra đụng độ
 Xử lý được các loại khoá có các kiểu dữ liệu khác nhau
 Một hàm băm được coi là không an toàn nếu:
 Cho một tóm tắt, tìm được thông điệp khớp với tóm tắt đó
 Có 2 hoặc nhiều thông điệp khác nhau có trùng tóm tắt,


xảy ra xung đột băm


Tính chất cơ bản của hàm
băm
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 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ỏ


Một số ứng dụng của hàm
băm
 Xác nhận mật khẩu

 Xác thực thách thức băm
 Chống giả mạo


 Chữ ký số


Hàm băm SHA
 SHA gồm 5 thuật giải được chấp nhận bởi Federal

Information Processing Standards (FIPS) dùng để
chuyển 1 đoạn dữ liệu thành 1 đoạn dữ liệu có chiều
dài không đổi với xác suất khác biệt cao.

 5 thuật giải được phát triển bởi NSA- cục an ninh

quốc gia Mĩ. Được xuất bản thành chuẩn bởi NISTviện công nghệ và chuẩn quốc gia Mĩ.


5 thuật toán SHA
 SHA-1 : trả về kết quả dài 160 bit.

 SHA-224 : trả về kết quả dài 224 bit.
 SHA-256 : trả về kết quả dài 256 bit.

 SHA-384 : trả về kết quả dài 384 bit.
 SHA-512: trả về kết quả dài 512 bit.

Chú ý: sha-224, sha-256, sha-384, sha-512 gọi chung là
SHA-2


Đặc điểm

Thuật
toán

Kích
thước
đầu ra

Kích
thước
trạng
thái

Kích
thước
khối

Độ dài

Kích
thước
từ

Xung
đột

SHA-0
SHA- 1
SHA224
SHA256
SHA384

SHA512

160
160
224

160
160
256

512
512
512

64
64
64

32
32
32

Không
Có lỗi
Không

256

256


512

64

32

Không

384

512

1024

128

64

Không

512

512

1021

128

64


Không


Ý tưởng thuật toán SHA
Các thuật toán hàm băm SHA gồm 2 bước: tiền xử lý và
tính toán giá trị băm
•Bước tiền xử lý:
-Mở rộng thông điệp
-Phân tích thông điệp đã mở rộng thành khối m bít.
-Khởi tạo giá trị băm ban đầu
•Bước tính toán giá trị băm gồm 2 bước:
-Làm N lần các công việc sau:
+ Tạo bảng phân bố thông điệp từ khối i
+ Dùng bảng phân bố thông điệp cùng các hàm, hằng số từ
các thao tác trên để tạo ra giá trị băm
- Sử dụng giá trị băm cuối cùng để tạo thông điệp rút gọn.


Hằng số
 Mỗi thuật toán có bảng hằng số phân bố thông điệp

tương ứng
 Kích thước bảng hằng số thông điệp của SHA-224 và

SHA-256 là 64
 Kích thước bảng hằng số thông điệp của SHA-384 và

SHA-512 là 80



Giá trị băm ban đầu
 Giá trị băm ban đầu H(0) được thiết lập để đảm bảo

thuật toán băm an toàn.
 Kích thước và số lượng từ trong H(0) tùy thuộc vào

thông điệp rút gọn


Tiền xử lý thông điệp
 Thông điệp M được mở rộng trước khi thực băm mục

đích nhằm đảm bảo thông điệp mở rộng có độ dài là
bội số của 512 hoặc 1024 tùy vào thuật toán
 Thuật toán SHA-224, SHA-256: 512
 Thuật toán SHA-384, SHA-512: 1024


Chia thông điệp thành N nhóm
m-bit
 SHA-224, SHA-256
Thông điệp mở rộng thành N khối 512-bit M(1),
M(2),... M(N). Do đó 512 bit của khối dữ liệu đầu
vào có thể thực hiện được bằng 16 từ 32bit, M0(i)
chứa 32 bit đầu của khối thông điệp i, M1(i) chứa
32 bit kế tiếp...M16(i) chứa 32 bit cuối cùng.
 SHA-384, SHA-512
1024 bit của khối dữ liệu đầu vào có thể được thể
hiện bằng 16 từ 64bit, M0(i) chứa 64 bit đầu của
khối thông điệp i, M1(i) chứa 64 bit kế tiếp... M16(i)

chứa 64 bit cuối cùng.


Độ an toàn thuật toán SHA
 Theo chuẩn FIPS 180-2 phát hành ngày 1/8/2002:

Cho một giá trị băm nhất định được tạo ra từ một trong
thuật toán SHA, việc tìm lại được dữ liệu gốc là không
khả thi.
Việc tìm được 2 đoạn dữ liệu nhất định có cùng kết quả
băm tạo ra từ một trong các thuật toán SHA là không
khả thi. Bất cứ thay đổi nào trên đoạn dữ liệu gốc dù
nhỏ cũng sẽ tạo nên một giá trị băm hoàn toàn khác với
xác suất rất cao.


Độ an toàn thuật toán SHA
Thuật
toán

Thông
điệp

Khối

Từ

Thông
điệp rút
gọn


Độ an
toàn

SHA- 1

< 264

512

32

160

80

SHA-224

< 264

512

32

224

112

SHA-256


< 264

512

32

256

128

SHA-384

< 2128

1024

64

384

192

SHA-512

< 2128

1024

64


512

256



×