Tiểu luận môn an ninh hệ thống thông tin Hàm băm SHA - Pdf 22

Hàm băm SHA
I. Giới thiệu về hàm băm mật mã
1. Khái niệm hàm băm
2. Đặc tính của hàm băm
II. Ứng dụng của hàm băm mật mã
III. Các kiểu hàm băm SHA
1. Phân loại hàm băm SHA
2. Ý tưởng thuật toán hàm băm SHA
3. Khung thuật toán cho hàm hăm SHA
4. Ví dụ minh họa
IV. Độ an toàn của hàm băm SHA
I. Giới thiệu về hàm băm mật mã
1. Khái niệm hàm băm
- Hàm băm là một thuật toán không dùng để mã hoá, nó có nhiệm vụ “lọc” tài liệu/bản
tin và cho kết quả là một giá trị băm có kích thước cố định, còn gọi là “đại diện tài
liệu”, “đại diện bản tin”, “đại diện thông điệp”.
- Hàm băm nhận đầu vào là 1 xâu ký tự dài (thông điệp) có độ dài tuỳ ý và tạo ra kết
quả là 1 xâu ký tự có độ dài cố định (tóm tắt thông điệp hoặc chữ ký số).
- Một hàm băm mật mã là một loại chữ kí cho văn bản hoặc một tập tin dữ liệu.
- Hàm băm không phải là mã hoá vì nó không thể được giải mã về văn bản ban đầu,
mà nó có chức năng mật mã “một chiều”, và có một kích thước cố định cho bất kỳ
một văn bản gốc nào. Điều này phù hợp khi so sánh các phiên bản “băm” các văn
bản
2. Đặc tính của hàm băm
Với hàm băm là hàm 1 chiều có các đặc tính sau:
- Với tài liệu đầu vào (bản tin gốc) x, chỉ thu được giá trị băm duy nhất z = h(x);
- Nếu dữ liệu trong bản tin x bị thay đổi hay bị xoá để thành bản tin x’, thì giá trị băm
h(x’) khác h(x).
- Nội dung của bản tin gốc “khó” thể suy ra từ giá trị hàm băm của nó. Nghĩa là, với
thông điệp x thì “dễ” tính được z = h(x), nhưng lại “khó” tính ngược lại được nếu chỉ
biết giá trị băm h(x).

thước
khối
Độ dài Kích
thước từ
Xung đột
SHA-0 160 160 512 64 32 Không
SHA-1 160 160 512 64 32 Có lỗi
SHA-224 224 256 512 64 32 Không
SHA-256 256 256 512 64 32 Không
SHA-384 384 512 1024 128 64 Không
SHA-512 512 512 1024 128 64 Không
- 5 thuật giải SHA được phát triển bởi cục an ninh quốc gia Mỹ (National Security
Agency hay NSA), được xuất bản thành chuẩn của chính phủ Mĩ bởiViện công
nghệ và chuẩn quốc gia Mĩ ( National Institute of Standard and Technology hay
NIST)
- Tên các thuật giải tương ứng được đặt dựa theo kết quả trả về của thuật
giải.
+ SHA – 1 (kết quả trả về dài 160 bit)
+ SHA – 224 (kết quả trả về dài 224 bit)
+ SHA – 256 (kết quả trả về dài 256 bit)
+ SHA – 384 (kết quả trả về dài 384 bit)
+ SHA – 512 (kết quả trả về dài 512 bit)
2. Ý tưởng của các thuật toán hàm băm
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.
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 bit.
- 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

(0)
= efcdab89
H
2
(0)
= 98badcfe
H
3
(0)
= 10325476
H
4
(0)
= c3d2e1f0
3.2.2 SHA-256
H
0
(0)
= 67452301
H
1
(0)
= efcdab89
H
2
(0)
= 98badcfe
H
3
(0)

H
6
(0)
= db0c2e0d64f98fa7
H
7
(0)
= 47b5481dbefa4fa4.
3.2.4 SHA-512
H
1
(0)
= 6a09e667f3bcc908
H
2
(0)
= bb67ae8584caa73b
H
3
(0)
= 3c6ef372fe94f82b
H
4
(0)
= a54ff53a5f1d36f1
H
5
(0)
= 510e527fade682d1
H

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, M
0
(i)
chứa 32 bit đầu của khối
thông điệp i, M
1
(i)
chứa 32 bit kế tiếp M
16
(i)
chứa 32 bit cuối cùng.
3.4.2 SHA 384, SHA-512
Thông điệp mở rộng được phân tích thành N khối 1024bit M
(1)
, M
(2)
, M
(N)
. Do đó
1024 bit của khối dữ liệu đầu vào có thể được thể hiện bằng 16 từ 64bit, M
0
(i)
chứa 64

H
1
1)
= efcdab89
H
2
(1)
= 98badcfe
H
3
(1)
= 10325476
H
4
(1)
= c3d2e1f0
Bước 4: Tính Wt
W
0
= 61626380 W
8
= 00000000
W
1
= 00000000 W
9
= 00000000
W
2
= 00000000 W

H
0
(1)
= 67452301+ 42541b35= a9993e36
H
1
1)
= efcdab89+ 5738d5e1= 4706816a
H
2
(1)
= 98badcfe + 21834873 = ba3e2571
H
3
(1)
= 10325476 + 681e6df6 = 7850c26c
H
4
(1)
= c3d2e1f0 + d8fdf6ad = 9cd0d89d.
Thông điệp cuối cùng:
a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d
5. Độ an toàn của thuật toán băm
- Những thuật giải này được gọi là “an toàn” vì theo nguyên văn chuẩn FIPS 180-2 phát
hành ngày 1/8/2002:
1). Cho một giá trị băm nhất định được tạo nên từ một trong những thuật giải SHA,
việc tìm lại được đoạn dữ liệu gốc là không khả thi.
2). Việc tìm được hai đoạn dữ liệu nhất định có cùng kết quả băm tạo ra bởi một
trong những thuật giải 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.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status