1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)

31 142 5

Đ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

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 1,6 MB
File đính kèm SHA-256.zip (161 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngày này, với sự phát triển nhanh chóng của Internet và các ứng dụng giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin đi kèm cũng ngày càng được quan tâm và có ý nghĩa quan trọng. Một trong những công việc quan trọng của giao dịch điện tử chính là quá trình chứng thực nguồn gốc nội dung thông tin (chữ ký điện tử) và xác thực tính toàn vẹn dữ liệu. Để làm được điều này, chúng ta cần phải áp dụng ứng dụng chuẩn mật mã nâng cao, trong đó ứng dụng xây dựng các hàm băm mật mã là một trong những vấn đề cần được nghiên cứu và giải quyết. Tìm hiểu và nghiên cứu về hàm băm mật mã là đề tài rất thiết thực. Trong phần tài liệu này có kèm sản phẩm demo chạy bằng Java

Trang 1

1

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

BÀI TẬP LỚN

Môn học: Mật mã ứng dụng trong an toàn thông tin

Đề tài: Tìm hiểu và nghiên cứu về hàm băm mật mã

Giáo viên hướng dẫn: Hoàng Đức Thọ Sinh viên thực hiện: 1 Trần Minh Đức

Trang 2

2

MỤC LỤC

MỤC LỤC 2

DANH SÁCH CÁC KÝ HIỆU TỪ VIẾT TẮT 3

DANH SÁCH CÁC BẢNG 4

DANH SÁCH CÁC HÌNH VẼ 5

LỜI MỞ ĐẦU 6

Chương I: Tổng quan về hàm băm mật mã 7

1.1 Khái quát về hàm băm mật mã 7

1.1.1 Định nghĩa hàm băm mật mã 7

1.1.2 Cấu trúc của hàm băm mật mã 8

1.2 Phân loại các hàm băm mật mã 10

1.2.1 Lớp các hàm băm không có khóa 10

1.2.2 Lớp các hàm băm có khóa 10

1.3 Các ứng dụng cơ bản của hàm băm mật mã 12

1.4 Giới thiệu một số họ hàm băm phổ biến 17

1.5 Một số kiểu tấn công lên hàm băm mật mã 19

1.5.1 Tấn công dựa trên “Nghịch lý ngày sinh” 19

1.5.2 Phương pháp tấn công gặp nhau ở giữa (meet in the middle attack) 19

1.5.3 Tấn công vét cạn 20

Chương II: Thuật toán SHA-256 21

2.1 Tổng quan về SHA 21

2.2 SHA-256 22

2.2.1 Ứng dụng của SHA-256 22

2.2.2 Các bước làm việc trong SHA-256 22

Chương III: Cài đặt thuật toán SHA-256 27

KẾT LUẬN 30

TÀI LIỆU THAM KHẢO 31

Trang 3

3

DANH SÁCH CÁC KÝ HIỆU TỪ VIẾT TẮT

SHA Secure Hash Algorithm

MD Message-Digest algorithm

MAC Message Authentication Code

HMAC Hash based Message Authentication Code

IPSEC Internet Protocol Securit

NIST National Institute of Standards and Technology

DKIM DomainKeys Identified Mail

TLS Transport Layer Security

PGP Pretty Good Privacy

Trang 4

4

DANH SÁCH CÁC BẢNG

Bảng 1.1: Một số hàm băm phổ biến và thông số tương ứng 17

Trang 5

5

DANH SÁCH CÁC HÌNH VẼ

Hình 1.1: Ánh xạ giữa thông điệp và giá trị băm không phải là song ánh…… 8

Hình 1.2: Cấu trúc Mekle-Damrgard 8

Hình 1.3: Mô hình sử dụng hàm băm để xác thực thông báo 13

Hình 1.4: Mô hình sử dụng hàm băm trong lược đồ chữ ký số 14

Hình 1.5: Chứng thực mật khẩu, theo tính chống trùng, 15

Hình 1.6: Ứng dụng hàm băm khi tải dữ liệu trên mạng 16

Hình 2.1: Hàm nén SHA-256 26

Hình 2.2: SHA-256 message schedule……… 26

Hình 3.1: Giao diện chương trình chức năng băm file 27

Hình 3.2: Chọn file cần băm 28

Hình 3.3: Giá trị băm trả về khi thực hiện băm file 28

Hình 3.4: Chức năng băm thông điệp nhập vào từ bàn phím 29

Hình 3.5: Giá trị băm trả về khi thực hiện băm thông điệp nhập vào từ bàn phím……….29

Trang 6

6

LỜI MỞ ĐẦU

Ngày này, với sự phát triển nhanh chóng của Internet và các ứng dụng giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin đi kèm cũng ngày càng được quan tâm và có ý nghĩa quan trọng Một trong những công việc quan trọng của giao dịch điện tử chính là quá trình chứng thực nguồn gốc nội dung thông tin (chữ

ký điện tử) và xác thực tính toàn vẹn dữ liệu Để làm được điều này, chúng ta cần phải áp dụng ứng dụng chuẩn mật mã nâng cao, trong đó ứng dụng xây dựng các hàm băm mật mã là một trong những vấn đề cần được nghiên cứu và giải quyết Trong bài báo cáo này, chúng em sẽ đi tìm hiểu về các nội dung sau:

• Chương I: Tổng quan về hàm băm mật mã

- Tìm hiểu về khái niệm, tính chất, phân loại, cấu trúc và ứng dụng của hàm băm mật mã

• Chương II: Thuật toán SHA-256

- Trình bày về một trong những thuật toán băm được sử dụng rộng rãi hiện nay là SHA-256 Chi tiết về các bước của thuật toán này

• Chương III: Cài đặt thuật toán SHA-256

- Sử dụng ngôn ngữ lập trình Java để cài đặt thuật toán SHA-256, thực hiện demo băm đoạn thông điệp nhập vào từ bàn phím

Trang 7

7

Chương I: Tổng quan về hàm băm mật mã

1.1 Khái quát về hàm băm mật mã

a) Tính chất nén: ℎ sẽ ánh xạ một đầu vào 𝑥 có độ dài bit hữu hạn tùy ý

tới một đầu ra ℎ(𝑥) có độ dài bit 𝑛 hữu hạn (tùy vào thuật toán băm được sử dụng)

b) Tính chất dễ dàng tính toán: Với ℎ cho trước và một đầu vào 𝑥, có thể

dễ dàng tính được ℎ(𝑥)

Hàm băm mật mã là hàm băm mà ngoài hai tính chất cơ bản trên còn phải thỏa mãn ba tính chất an toàn được nêu dưới đây:

a) Tính kháng tiền ảnh (tính một chiều): Đối với hầu hết đầu ra được xác

định trước, không có khả năng tính toán để tìm một đầu vào bất kỳ mà khi băm sẽ cho ra đầu ra tương ứng (tức là cho trước một giá trị tóm lược 𝑦, không thể tìm một tiền ảnh 𝑥 sao cho ℎ(𝑥) = 𝑦)

b) Tính kháng tiền ảnh thứ hai: Không có khả năng tính toán để tìm một

đầu vào thứ hai bất kỳ mà có cùng đầu ra như với đầu vào đã được xác định trước (tức là cho trước 𝑥 ∈ 𝑋, không có khả năng tính toán để tìm tiền ảnh thứ hai 𝑥+ ∈ 𝑋 sao cho 𝑥+ ≠ 𝑥 và ℎ(𝑥+) = ℎ(𝑥))

c) Tính kháng va chạm: Không có khả năng tính toán để tìm hai đầu vào

bất kỳ 𝑥, 𝑥+ ∈ 𝑋 sao cho 𝑥+ ≠ 𝑥 và ℎ(𝑥+) = ℎ(𝑥)

Kích thước của thông điệp đầu vào 𝑥 là bất kỳ còn kích thước của giá trị băm ℎ của thông điệp là nhỏ vậy nên việc trùng giá trị băm là không thể loại bỏ Tính chống trùng của hàm băm là yêu cầu rằng việc tìm ra hai thông điệp đầu vào 𝑥 như vậy thì phải là rất khó khăn về mặt thời gian và tính toán

Trang 8

8

Hình 1.1: Ánh xạ giữa thông điệp và giá trị băm không phải là song ánh

1.1.2 Cấu trúc của hàm băm mật mã

Theo định nghĩa hàm băm mật mã ta thấy rằng bản chất của hàm băm chính

là một hàm nén Hiện tại hầu hết các hàm băm mật mã áp dụng cấu trúc hàm băm Merkle- Damrgard (MD5, SHA-1, SHA-2) hoặc cấu trúc Sponge (SHA-3) Cấu trúc Mekle-Damrgard:

Hình 1.2: Cấu trúc Mekle-Damrgard

Không gian thông điệp

Không gian giá trị băm 1

(a) Mô tả ở mức cao

Thêm các bit đệm (padding) Thêm độ dài khối

ɰ

g Đầu vào đã định dạng

(b) Mô tả chi tiết đầu vào ban đầu x

Hàm băm Tiền xử lý

Xử lý lặp Hàm nén ɰ

Trang 9

9

Hầu hết các hàm băm không có khóa ℎ được thiết kế như các xử lý lặp để băm

các đầu vào có độ dài hữu hạn tùy ý, bằng việc xử lý các khối đầu vào có độ dài

cố định, như chỉ ra trong hình 1.2

Đầu vào hàm băm là một thông báo 𝑥 có độ dài hữu hạn tùy ý được chia

thành các khối bằng nhau có độ dài cố định là 𝑟-bit Bước tiền xử lý này thường

gồm việc thêm các bit mở rộng (gọi là padding) để thông báo 𝑥 có độ dài bit là

bội của độ dài khối 𝑟, và (vì các lý do an toàn) thường gồm 1 khối hoặc một

phần khối để chỉ độ dài bit của đầu vào chưa được thêm vào Mỗi khối 𝑥0 được

dùng làm đầu vào có độ dài cố định cho hàm băm bên trong 𝑓 (hàm nén của ℎ,

thực hiện tính một kết quả trung gian mới có độ dài bit là 𝑛) là một hàm của kết

quả trung gian trước đó có độ dài là 𝑛 bit và khối đầu vào tiếp theo 𝑥023

Gọi 𝐻0 là ký hiệu phần kết quả sau bước thứ 𝑖, xử lý chung cho hàm băm lặp

với đầu vào 𝑥 = 𝑥3𝑥6… 𝑥8 có thể được mô tả như sau:

𝐻9 = 𝐼𝑉; 𝐻0 = 𝑓(𝐻0<3,𝑥0),1 ≤ 𝑖 ≤ 𝑡; ℎ(𝑥) = 𝑔(𝐻8)

đầu được định nghĩa trước hay gọi là giá trị khởi đầu 𝐼𝑉 Biến đổi đầu ra có lựa

chọn 𝑔 được dùng trong bước cuối cùng để ánh xạ biến chuỗi 𝑛 −bit thành một

kết quả 𝑚 −bit 𝑔(𝐻8), 𝑔 thường là ánh xạ đồng nhất 𝑔(𝐻8) = 𝐻8 Cấu trúc Sponge: là một cấu trúc mới, được nghiên cứu và áp dụng trong

hàm SHA-3

Trang 10

10

1.2 Phân loại các hàm băm mật mã

Dựa trên những tham số đầu vào của các hàm băm, các hàm băm được phân thành hai lớp Gồm lớp hàm băm có khóa và lớp hàm băm không có khóa

1.2.1 Lớp các hàm băm không có khóa

Một hàm băm không có khóa là một hàm ℎ: 𝑋 → 𝑌

1.2.2 Lớp các hàm băm có khóa

Các hàm băm có khóa đượ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)

1.2.2.1 Định nghĩa hàm băm có khóa:

Một họ hàm băm có khóa là một bộ bốn (𝑋, 𝑌, 𝐾, 𝐻) thỏa mãn các điều kiện: 1) 𝑋 là một tập các thông báo có thể

2) 𝑌 là một tập hữu hạn các giá trị tóm lược thông báo hoặc các thẻ xác thực có thể

3) 𝐾 là không gian khóa, là một tập hữu hạn các khóa có thể

4) Đối với mỗi khóa 𝑘 ∈ 𝐾, có một hàm băm ℎG ∈ 𝐻 Mỗi ℎG: 𝑋 → 𝑌 Trong định nghĩa ở trên, 𝑋 có thể là một tập hữu hạn hoặc vô hạn; 𝑌 luôn luôn

là một tập hữu hạn Nếu 𝑋 là một tập hữu hạn, thì hàm băm đôi khi được gọi là

hàm nén (compression function) Trong trường hợp này, chúng ta luôn giả thiết

rằng |𝑋| ≥ |𝑌| và thường giả thiết với điều kiện mạnh hơn là |𝑋| ≥ 2|𝑌| Điều này có nghĩa là không thể tránh khỏi các va chạm Nếu hàm ℎ là ngẫu nhiên theo

Trang 11

11

nghĩa tất cả các đầu ra là đồng xác suất thì có khoảng 28<3 các đầu vào ánh xạ tới mỗi đầu ra (𝑡 là số bit đầu vào, 𝑛 là số bit đầu ra, 𝑡 > 𝑛) và 2 đầu vào được chọn ngẫu nhiên sẽ có cùng đầu ra với xác suất 2<L (không phụ thuộc vào 𝑡)

1.2.2.2 Mã xác thực thông báo

Định nghĩa mã xác thực thông báo (MAC-Message Authentication Code) Thuật toán mã xác thực thông báo là một họ các hàm ℎM được tham số hóa bởi một khóa bí mật 𝑘, với các tính chất:

a Tính chất dễ tính toán: với một hàm ℎM đã biết, cho trước một giá trị 𝑘

và một đầu vào 𝑥, ℎM(𝑥) là dễ tính toán Kết quả này gọi là giá trị MAC hoặc MAC

b Tính chất nén: ℎM ánh xạ một đầu vào 𝑥 có độ dài bit tùy ý hữu hạn thành một đầu ra ℎM(𝑥) có độ dài bit cố định 𝑛

c Tính chất kháng tính toán: cho trước không hoặc nhiều cặp text-MAC

(𝑥0, ℎM(𝑥0)), không thể tính toán để tìm một cặp text-MAC bất kỳ (𝑥, ℎM(𝑥)) cho một đầu vào mới 𝑥0 ≠ 𝑥0 (bao gồm cả khả năng ℎM(𝑥) = ℎM(𝑥0) với 𝑖 nào đó)

Kỹ thuật xác thực bằng thuật toán MAC được mô tả chung như sau: Giả sử

có hai thực thể tham gia liên lạc được gọi là 𝐴 và 𝐵 Hai thực thể 𝐴 và 𝐵 phải chia

sẻ một khóa bí mật chung 𝑘 Khi 𝐴 cần gửi một thông báo cho 𝐵, thì , 𝐴 tính mã xác thực thông báo như một hàm của thông báo và khóa:

𝑀𝐴𝐶 = 𝑀𝐴𝐶 (𝑘, 𝑥) Trong đó: 𝑥 là thông điệp đầu vào, 𝑘 là khóa bí mật đã chia sẻ, MAC là mã xác thực thông báo Thông báo được nối với giá trị MAC và được truyền cho người nhận Người nhận xác thực thông báo này bằng cách tính lại MAC từ thông báo 𝑥 nhận được bằng khóa bí mật 𝑘 đã chia sẻ, sau đó so sánh với MAC nhận được kèm theo thông báo Nếu hai giá trị này giống nhau thì thông báo được xác thực Do chỉ có người gửi và người nhận biết khóa bí mật 𝑘, do đó không ai khác có thể tạo được

Trang 12

hàm MAC và không thể được sử dụng trực tiếp cho mục đích xác thực thông báo, vì

nó không dựa trên một khóa bí mật Đã có một số đề xuất cho sự kết hợp của một khóa bí mật vào một thuật toán băm hiện tại Cách tiếp cận này tạo ra một hàm MAC

và được ký hiệu là HMAC HMAC đã được sử dụng trong một số ứng dụng an toàn như IPSEC, SSL… và HMAC cũng đã được ban hành như một tiêu chuẩn NIST (FLIP 198)

1.3 Các ứng dụng cơ bản của hàm băm mật mã

Hàm băm mật mã được đánh giá là một thuật toán mật mã linh hoạt nhất Nó được sử dụng trong nhiều ứng dụng an toàn và các giao thức Internet Sau đây là một số ứng dụng quan trọng của hàm băm mật mã:

Xác thực thông báo: Xác thực thông báo làm một cơ chế được sử dụng để

xác thực tính toàn vẹn của một thông báo Xác thực thông báo đảm bảo rằng dữ liệu nhận được là chính xác giống như khi nó được gửi (tức là không bị sửa đổi, chèn, xóa hay phát lại), và trong nhiều trường hợp định danh của người gửi là được bảo vệ Khi một hàm băm được sử dụng để cung cấp cơ chế xác thực thông báo, giá trị hàm băm thường được gọi là một mã băm Có một số phương pháp sử dụng mã băm để cung cấp cơ chế xác thực thông báo như hình 1.3:

Theo Hình 1.3 (a): hai thực thể liên lạc 𝐴 và 𝐵 có một khóa bí mật 𝐾 đã chia

sẻ Khi 𝐴 cần gửi một thông báo cho 𝐵, thì 𝐴 tính mã băm 𝐻 = 𝐻(𝑀) Mã băm được nối vào thông báo 𝑀 và được mã hóa bằng khóa bí mật 𝐾 để tạo bản mã

𝐸G(𝑀||𝐻(𝑀)) truyền cho 𝐵 Người nhận 𝐵 xác thực thông báo này như sau: trước tiên 𝐵 giải mã bản mã nhận được bằng khóa bí mật 𝐾 đã chia sẻ, sau đó tính lại

mã băm từ thông báo 𝑀 và so sánh với mã băm nhận được kèm theo thông báo Nếu hai giá trị này giống nhau thì thông báo được xác thực Do chỉ có người gửi

𝐴 và người nhận 𝐵 biết khóa bí mật 𝐾, do đó thông báo phải đến từ 𝐴 và không

Trang 13

13

bị sửa đổi trái phép Trong lược đồ này, mã băm được sử dụng để đảm bảo tính xác thực thông báo, còn hàm mã hóa 𝐸 được sử dụng để đảm bảo tính bí mật của thông báo

Hình 1.3: Mô hình sử dụng hàm băm để xác thực thông báo

Theo Hình 1.3 (b), duy nhất mã băm được mã hóa bằng mật mã khóa bí mật Điều này sẽ làm giảm gánh nặng xử lý cho những ứng dụng không cần giữ bí mật thông báo, mà chỉ cần đảm bảo tính toàn vẹn của thông báo

Theo Hình 1.3 (c), duy nhất hàm băm được sử dụng để xác thực thông báo Kỷ thuật này yêu cầu hai thực thể liên lạc 𝐴 và 𝐵 phải chia sẻ một tham số bí mật 𝑆 𝐴 tính giá trị băm trên 𝑀 và 𝑆 như sau: 𝐻 = 𝐻(𝑀||𝑆) và bổ sung vào thông báo gửi cho 𝐵 Do 𝐵 cũng có tham số bí mật 𝑆 nên có thể tính lại giá trị băm để xác thực

Trang 14

Chữ ký số: Chữ ký số là một chuỗi số, kết quả của phép biến đổi mật mã trên

thông báo nhằm cung cấp một phương tiện để triển khai tính xác thực của nguồn gốc thông báo, tính toàn vẹn của dữ liệu và tính không thể chối bỏ của người ký

Khi hàm băm được sử dụng trong lược đồ chữ ký số, giá trị băm của thông báo được mã hóa bởi một khóa riêng của người gửi Bất kỳ ai, biết khóa công khai của người gửi đều có thể xác thực tính toàn vẹn của thông báo Hình 1.4 mô tả 2 phương pháp sử dụng giá trị băm để cung cấp một chữ ký số

Hình 1.4: Mô hình sử dụng hàm băm trong lược đồ chữ ký số

Trang 15

Phương pháp bảo vệ mật khẩu hiệu quả nhất hiện nay là dùng hàm băm Khi người sử dụng đăng ký mật khẩu, giá trị băm của mật khẩu được tính bằng một hàm băm nào đó (SHA-1, SHA-2…) Giá trị băm đươc lưu trữ vào tập tin hay cơ

sở dữ liệu Vì hàm băm là một chiều, nên dù biết được giá trị băm và loại hàm băm, kẻ tấn công cũng không thể suy ra được mật khẩu Khi người sử dụng đăng nhập, mật khẩu đăng nhập được tính giá trị băm và so sánh với giá trị băm đang lưu trữ Do tính chống trùng, chỉ có một mật khẩu duy nhất có giá trị băm tương ứng, nên không ai khác ngoài người sử dụng có mật khẩu đó mới có thể đăng nhập ứng dụng

Trang 16

16

• Ứng dụng tải dữ liệu trên mạng

Khi chúng ta tải dữ liệu trên mạng, nếu chất lượng mạng không tốt thì có thể xảy ra lỗi trong quá trình tải làm cho tập tin tại máy khách khác với tập tin trên máy chủ

Hàm băm có thể giúp chúng ta phát hiện ra những trường hợp lỗi như vậy bằng cách sau: Gọi tập tin cần tải xuống trên máy chủ là 𝑋, và giá trị băm theo MD5 của tập tin 𝑋 mà máy chủ đã tính sẵn và cung cấp trên trang điện tử là 𝐻T(có thể xem bằng mắt) Gọi 𝑌 là tập tin mà người sử dụng tải được tại máy tính

sử dụng Người sử dụng sẽ tính giá trị MD5 𝐻U cho tập tin 𝑌 Như vậy nếu 𝐻Ttrùng khớp với 𝐻U thì theo tính chống trùng của hàm băm, tập tin 𝑌 hoàn toàn giống tập tin 𝑋 và quá trình tải xuống không xảy ra lỗi

Hình 1.6: Ứng dụng hàm băm khi tải dữ liệu trên mạng

Internet

Trang 17

17

1.4 Giới thiệu một số họ hàm băm phổ biến

Đã có rất nhiều hàm băm được công bố và được sử dụng trong thực tế (bao gồm cả các hàm băm có khóa và các hàm băm không có khóa) Bảng 1.1 cho chúng ta một số hàm băm với các thông số tương ứng:

Thuật

toán

Kích thước đầu vào (bit)

Kích thước đầu

ra (bit)

Kích thước trạng thái trong (bit)

Kích thước khối (bit)

Kích thước word (bit)

Độ an toàn (bit)

kế của hàm băm MD5 là nguyên tắc chung cho rất nhiều hàm băm khác

Hàm băm MD5 nhận thông báo đầu vào có độ dài tối đa 2VW bit Thông báo này được thực hiện đệm sau đó chia thành các khối con với độ dài 512 bit Các khối con 512 bit này sẽ là đầu vào của thuật toán băm, bên trong thuật toán mỗi khối 512 bit lại được chia ra 16 khối 32 bit và đi qua bốn vòng lặp của MD5 Mỗi khối thống báo con 512 bit qua xử lý sẽ cho đầu ra là một khối 128 bit, chính là giá trị băm của thông báo đầu vào tương ứng Theo cấu trúc Mekle-Damrgard giá trị băm này sẽ là đầu vào để xử lý khối thông báo con tiếp theo Tiếp tục xử lý, đầu ra cuối cùng là một khối 128 bit, là giá trị băm nhận được của thông báo đầu vào

Ngày đăng: 27/09/2020, 16:45

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Ánh xạ giữa thông điệp và giá trị băm không phải là song ánh - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 1.1 Ánh xạ giữa thông điệp và giá trị băm không phải là song ánh (Trang 8)
Hình 1.2: Cấu trúc Mekle-Damrgard - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 1.2 Cấu trúc Mekle-Damrgard (Trang 8)
Hình 1.3: Mô hình sử dụng hàm băm để xác thực thông báo - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 1.3 Mô hình sử dụng hàm băm để xác thực thông báo (Trang 13)
Theo Hình 1.3 (d), một hàm mã hóa khóa bí mật được bổ sung vào sơ đồ trên để đảm bảo thêm tính bí mật của thông báo - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
heo Hình 1.3 (d), một hàm mã hóa khóa bí mật được bổ sung vào sơ đồ trên để đảm bảo thêm tính bí mật của thông báo (Trang 14)
Hình 1.5: Chứng thực mật khẩu, theo tính chống trùng, nếu ℎ+= ℎ thì  - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 1.5 Chứng thực mật khẩu, theo tính chống trùng, nếu ℎ+= ℎ thì (Trang 15)
Hình 1.6: Ứng dụng hàm băm khi tải dữ liệu trên mạng - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 1.6 Ứng dụng hàm băm khi tải dữ liệu trên mạng (Trang 16)
Bảng 1.1: Một số hàm băm phổ biến và thông số tương ứng - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Bảng 1.1 Một số hàm băm phổ biến và thông số tương ứng (Trang 17)
Hình 2.1: Hàm nén SHA-256 - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 2.1 Hàm nén SHA-256 (Trang 26)
Hình 3.1: Giao diện chương trình chức năng băm file - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 3.1 Giao diện chương trình chức năng băm file (Trang 27)
Hình 3.2: Chọn file cần băm - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 3.2 Chọn file cần băm (Trang 28)
Hình 3.3: Giá trị băm trả về khi thực hiện băm file - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 3.3 Giá trị băm trả về khi thực hiện băm file (Trang 28)
Hình 3.4: Chức năng băm thông điệp nhập vào từ bàn phím - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 3.4 Chức năng băm thông điệp nhập vào từ bàn phím (Trang 29)
Hình 3.5: Giá trị băm trả về khi thực hiện băm thông điệp nhập vào từ bàn phím - Tìm hiểu và nghiên cứu về hàm băm mật mã (có sản phẩm demo bằng Java)
Hình 3.5 Giá trị băm trả về khi thực hiện băm thông điệp nhập vào từ bàn phím (Trang 29)

🧩 Sản phẩm bạn có thể quan tâm

w