tìm hiểu về chữ kí điện tử và chương trình mình họa - Pdf 20

Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Mục lục khóa luận
Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin và chữ ký điện tử 7
Phần 2: Nội dung 10
I. Tổng quan về chứng thực và an toàn thông tin 10
II. Mã hóa dữ liệu và giải mã 11
a. Tổng quan về mã hóa dữ liệu và giải mã: 12
b. Mã hóa bất đối xứng (asymmetric) 13
c. Mã hóa đối xứng (symmetric) 16
d. Hàm băm (Hashing) 17
- Tính chất của hàm băm 18
- Một số hàm băm nổi tiếng 19
+ MD5 (Message Digest) 19
+ SHA (Secure Hash Algorithm) 25
III. Chữ ký điện tử 28
1. Tổng quan 28
2. Quy trình sử dụng chữ ký điện tử 30
3. Một số sơ đồ CKĐT phổ biến 32
a. Rivest Shamir Adleman (RSA) 32
- Sơ lược về các khái niệm toán học dùng trong RSA 32
- Cách tạo khóa: 34
- Quy trình thực hiện ký và xác nhận văn bản 35
Phần này đã được cắt bỏ, hãy liên hệ chủ đề tài để nhận được bản chi tiết hơn. 35
- Tính bảo mật 37
- Các dạng tấn công 38
b. Hệ chữ ký ElGammal 40
c. Chuẩn chữ kí số (DSS) 44
4. Hàm băm và kết hợp hàm băm vào chữ ký điện tử 47
IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA 47
+ Các bước thực hiện của chương trình 47
a. Phát sinh khóa: 47


Liên hệ. Mail: or đt: 0982.070.520
2
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
A. PHẦN MỞ ĐẦU
1. Lí do chọn đề tài
Ngày nay, các ứng dụng của công nghệ thông tin ngày càng không thể thiếu được
đối với các thành phần như xã hội, kinh tế, chính trị, quân sự Một lĩnh vực quan
trọng mà công nghệ thông tin được ứng dụng rất mạnh mẽ và không thể thiếu đó là
lĩnh vực truyền thông. Rất nhiều thông tin liên quan đến những công việc hàng ngày
đều do máy vi tính quản lý và truyền gửi đi trên hệ thống mạng, kéo theo đó là vấn
đề về xác thực nguồn thông tin nhận được. Và vấn đề được đặt ra là làm thế nào để
xác thực được một cách chính xác nguồn thông tin nhận là của một người, một máy
chủ hay của một thực thể nào đó gửi tin trên hệ thống mạng?
Hình 1.1 – Mô hình trao đổi thông tin qua mạng INTERNET.

Liên hệ. Mail: or đt: 0982.070.520
A
INTERNE
T
B
D
3
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Ví dụ: khi A gửi một thông tin điện tử cho D, và giả sử B “giả mạo” A cũng gửi
một thông tin cho D, hoặc một người C trên môi trường truyền bắt được và sửa đổi
thông tin A gửi sau đó các thông tin này được gửi lại cho D. Vậy thông tin D nhận
được không chính xác và người nhận D cũng không thể xác thực được thông tin đó
là do người A gửi, hay B gửi, hay một người nào khác gửi.
Vấn đề đặt ra là người D sau khi nhận được bản tin phải xác thực được rằng thông

Gồm 5 phần chính:
1. Phần mở đầu
2. Phần nội dung
3. Phần kết luận
4. Phần tài liệu tham khảo
5. Phần phụ lục
A. Phần mở đầu:
 Lý do chọn đề tài
 Mục đích nghiên cứu
 Nhiệm vụ nghiên cứu
 Đối tượng nghiên cứu
 Phạm vi nghiên cứu
 Phương pháp nghiên cứu
 Cấu trúc khóa luận

Liên hệ. Mail: or đt: 0982.070.520
5
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
B. Phần nội dung: Gồm 2 Phần:
Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin, chữ ký
điện tử.
Phần 2: Nội dung.
I. Tổng quan về chứng thực và an toàn thông tin.
II. Mã hóa dữ liệu và giải mã
a. Tổng quan về mã hóa dữ liệu.
b. Mã hóa bất đối xứng (asymmetric).
c. Mã hóa đối xứng (symmetric).
d. Hàm băm (Hashing)
III. Chữ ký điện tử
1. Tổng quan

chính của nó là để giữ bí mật thông tin (chẳng hạn dưới dạng một văn bản).
Suốt mấy nghìn năm lịch sử, các thông báo, thư từ được truyền đưa và trao đổi
với nhau thường là các văn bản, tức là có dạng các dãy ký tự trong một ngôn ngữ
nào đó. Vì vậy, các thuật toán lập mật mã thường cũng đơn giản là thuật toán xáo
trộn, thay đổi các ký tự được xác định bởi các phép chuyển dịch, thay thế hay hoán
vị các ký tự trong bảng ký tự của ngôn ngữ tương ứng, khóa mật mã là thông tin
dùng để thực hiện phép lập mật mã và giải mật mã cụ thể, thí dụ như số vị trí đối
với phép chuyển dịch, bảng xác định các cặp ký tự tương ứng đối với phép thay thế
hay hoán vị, Mật mã chưa phải là một khoa học, do đó chưa có nhiều kiến thức

Liên hệ. Mail: or đt: 0982.070.520
7
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
sách vở để lại, tuy nhiên hoạt động bảo mật và thám mã trong lịch sử các cuộc đấu
tranh chính trị, ngoại giao và quân sự thì hết sức phong phú, và mật mã đã có nhiều
tác động rất quan trọng đưa đến những kết quả lắm khi có ý nghĩa quyết định trong
các cuộc đấu tranh đó. Do trong một thời gian dài, bản thân hoạt động mật mã cũng
được xem là một bí mật, nên các tài liệu kỹ thuật về mật mã được phổ biến đến nay
thường chỉ ghi lại các kiến thức kinh nghiệm, thỉnh thoảng mới có một vài "phát
minh" như các hệ mật mã Vigenère vào thế kỷ 16 hoặc hệ mật mã Hill ra đời năm
1929 là các hệ mã thực hiện phép chuyển dịch (đối với mã Vigenère) hay phép thay
thế (mã Hill) đồng thời trên một nhóm ký tự chứ không phải trên từng ký tự riêng
rẽ. [2 - tr12,13]
Bước sang thế kỷ 20, vào những thập niên đầu của thế kỷ. Sự phát triển của các kỹ
thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập
và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản,
các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển
bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến
đổi trên các dãy ký tự được chuyển thành các phép biến đổi trên các dãy bit, hay các
dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số

khi cài đặt phần mềm máy tính, ký các hợp đồng điện tử online [7]

Liên hệ. Mail: or đt: 0982.070.520
9
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Phần 2: Nội dung.
I. Tổng quan về chứng thực và an toàn thông tin.
Chúng ta đang sống trong một thời đại bùng nổ thông tin. Nhu cầu trao đổi thông
tin và các phương tiện truyền đưa thông tin phát triển một cách nhanh chóng. Và
cùng với sự phát triển đó, đòi hỏi bảo vệ tính bí mật và chứng thực nguồn thông tin
cũng càng ngày càng to lớn và có tính phổ biến. Có nhiều bài toán khác nhau về yêu
cầu an toàn thông tin tùy theo những tình huống khác nhau.
Ví dụ trong thực tế, một số bài toán chung nhất mà ta thường gặp là những bài
toán sau đây:
- Bảo mật: Giữ thông tin được bí mật đối với tất cả mọi người, trừ một ít người có
thẩm quyền được đọc, biết thông tin đó.
- Toàn vẹn thông tin: Bảo đảm thông tin không bị thay đổi hay xuyên tạc bởi
những kẻ không có thẩm quyền hoặc bằng những phương tiện không được phép.
- Nhận thực một thực thể: Xác nhận danh tính của một thực thể, chẳng hạn một
người, một máy tính cuối trong mạng, một thẻ tín dụng,

Liên hệ. Mail: or đt: 0982.070.520
10
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
- Nhận thực một thông báo: Xác nhận nguồn gốc của một thông báo được gửi
đến.
- Chữ ký: Một cách để gắn kết một thông tin với một thực thể, thường dùng trong
bài toán nhận thực một thông báo cũng như trong nhiều bài toán nhận thực khác.
- Ủy quyền: Chuyển cho một thực thể khác quyền được đại diện hoặc được làm
một việc gì đó.

phối, quản lý khóa và các giao thức mật mã.
Có rất nhiều thông tin mà chúng ta không muốn người khác biết khi gửi đi như:
thông tin về Credit-Card, thông tin về kinh doanh của công ty, thông tin về tài
khoản cá nhân, thông tin về cá nhân như số chứng minh thư, số thẻ
Quá trình mã hoá trong máy tính dựa vào khoa học về mật mã (Cryptography) đã
được con người sử dụng từ lâu đời. Trước thời đại số hoá, người sử dụng mật mã
nhiều nhất vẫn là chính phủ, chủ yếu trong mục đích quân sự. Hầu hết các phương
pháp mã hoá được dùng hiện nay dựa vào các máy tính, đơn giản là do các mã do
con người sinh ra rất dễ bị phá bởi công cụ máy tính. Các hệ thống mã hoá trong
máy tính phổ biến nhất thuộc một trong hai loại sau:
* Mã hoá với khoá đối xứng (Symmetric-key Encryption)
* Mã hoá với khoá công khai (Public-key Encryption)
Gần đây nhất là các sự kiện liên quan tới các hàm băm MD5 (một hàm băm thuộc
họ MD do Ron Rivest phát triển) và SHA. Một nhóm các nhà khoa học người Trung
Quốc (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) đã phát triển các phương pháp
cho phép phát hiện ra các đụng độ của các hàm băm được sử dụng rộng rãi nhất
trong số các hàm băm này. Đây là một sự kiện lớn đối với ngành mật mã học do sự
ứng dụng rộng rãi và có thể xem là còn quan trọng hơn bản thân các hệ mã mật của

Liên hệ. Mail: or đt: 0982.070.520
12
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
các hàm băm. Do sự kiện này các hãng viết phần mềm lớn (như Microsoft) và các
nhà mật mã học đã khuyến cáo các lập trình viên sử dụng các hàm băm mạnh hơn
(như SHA-256, SHA-512) trong các ứng dụng.
Ngày nay khó có thể tìm thấy các ứng dụng trên máy tính lại không sử dụng tới
các thuật toán và các giao thức mật mã học. Tới các ứng dụng cho máy tính cá nhân
(Desktop Applications) cho tới các chương trình hệ thống như hệ điều hành
(Operating Systems) hoặc các ứng dụng mạng như Yahoo Messenger hoặc hệ cơ sở
dữ liệu đều có sử dụng các thuật toán mã hóa mật khẩu người dùng bằng một hệ mã

Sự ra đời của khái niệm hệ mật mã khoá công khai là một tiến bộ có tính chất
bước ngoặt trong lịch sử mật mã nói chung, gắn liền với sự phát triển của khoa học
tính toán hiện đại. Người ta có thể xem thời điểm khởi đầu của bước ngoặt đó là sự
xuất hiện ý tưởng của W. Diffie và M.E. Hellman được trình bày vào tháng sáu năm
1976 tại Hội nghị quốc gia hàng năm của AFIPS (Hoa kỳ) trong bài Multiuser
cryptographic techniques. [1 – tr78]
Một năm sau, năm 1977, R.L. Rivest, A. Shamir và L.M. Adleman đề xuất một hệ
cụ thể về mật mã khoá công khai mà độ an toàn của hệ dựa vào bài toán khó “phân
tích số nguyên thành thừa số nguyên tố”, hệ này về sau trở thành một hệ nổi tiếng
và mang tên là hệ RSA, được sử dụng rộng rãi trong thực tiễn bảo mật và an toàn
thông tin. Cũng vào thời gian đó, M.O. Rabin cũng đề xuất một hệ mật mã khoá
công khai dựa vào cùng bài toán số học khó nói trên. Liên tiếp sau đó, nhiều hệ mật
mã khóa công khai được đề xuất, mà khá nổi tiếng và được quan tâm nhiều là các
hệ: hệ McEliece được đưa ra năm 1978 dựa trên độ NP(khó) của bài toán giải mã
đối với các hệ mã cyclic tuyến tính, hệ Merkle- Hellman dựa trên tính NP- đầy đủ
của bài toán xếp ba lô (knapsack problem), hệ mật mã nổi tiếng ElGamal dựa trên
độ khó của bài toán lôgarit rời rạc, hệ này về sau được mở rộng để phát triển nhiều
hệ tương tự dựa trên độ khó của các bài toán tương tự lôgarit rời rạc trên các cấu

Liên hệ. Mail: or đt: 0982.070.520
14
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
trúc nhóm cyclic hữu hạn, nhóm các điểm nguyên trên đường cong eliptic, v.v Để
tăng độ bảo mật, hệ mật mã ElGamal còn dùng với tư cách đầu vào cho thuật toán
lập mật mã của mình, ngoài khoá công khai và bản rõ, một yếu tố ngẫu nhiên được
chọn tuỳ ý, điều đó làm cho hệ mật mã trở thành một hệ mật mã xác suất khoá công
khai. Một số hệ mật mã xác suất khoá công khai cũng được phát triển sau đó bởi
Goldwasser-Micali và Blum-Goldwasser. [1 – tr79]
Không phải tất cả các thuật toán mật mã hóa khóa bất đối xứng đều hoạt động
giống nhau nhưng phần lớn đều gồm 2 khóa có quan hệ toán học với nhau: một cho

giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được phân
hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong kênh
truyền thông tin.
Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng (stream
ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông
điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị.
Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến
(Advanced Encryption Standard), được NIST công nhận tháng 12 năm 2001, sử
dụng các khối gồm 128 bit. [8]
Các thuật toán đối xứng thường không được sử dụng độc lập. Trong thiết kế của
các hệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng và thuật toán đối xứng
được sử dụng phối hợp để tận dụng các ưu điểm của cả hai. Những hệ thống sử
dụng cả hai thuật toán bao gồm SSL (Secure Sockets Layer), PGP (Pretty Good
Privacy) và GPG (GNU Privacy Guard) Các thuật toán chìa khóa bất đối xứng
được sử dụng để phân phối chìa khóa mật cho thuật toán đối xứng có tốc độ cao
hơn.
Một số ví dụ các thuật toán đối xứng nổi tiếng bao gồm Twofish, Serpent, AES
(còn được gọi là Rijndael), Blowfish, CAST5, RC4, Tam phần DES (Triple DES),

Liên hệ. Mail: or đt: 0982.070.520
16
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
và IDEA (International Data Encryption Algorithm - Thuật toán mật mã hóa dữ
liệu quốc tế). [8]
Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán
khóa bất đối xứng. Trên thực tế, một thuật toán khóa bất đối xứng có khối lượng
tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuật toán khóa đối xứng có
chất lượng tương đương.
Hạn chế của các thuật toán khóa đối xứng bắt nguồn từ yêu cầu về sự phân hưởng
chìa khóa bí mật, mỗi bên phải có một bản sao của chìa. Do khả năng các chìa khóa

chuồng thì phải tồn tại ít nhất một cái chuồng mà trong đó có ít nhất là hai con thỏ ở
chung. Rõ ràng với không gian giá trị Băm nhỏ hơn rất nhiều so với không gian tin
về mặt kích thước thì chắc chắn sẽ tồn tại đụng độ, nghĩa là có hai tin x # x’ mà giá
trị Băm của chúng là giống nhau, tức h(x) = h(x’) [1 - 109].
Sau đây chúng ta sẽ xét các dạng tấn công có thể có, từ đó rút ra các tính chất của
hàm Băm:
Tính chất 1: Hàm băm không va chạm yếu.
Hàm băm h là không va chạm yếu nếu khi cho trước một bức điện x, không thể
tiến hành về mặt tính toán để tìm ra một bức điện x’

x mà h(x’) = h(x). [1 - tr110]
Ví dụ: Người A gửi cho B (x, y) với y = Sig
A
(h(x)). Nhưng trên đường truyền, tin
bị lấy trộm. Tên trộm, bằng cách nào đó tìm được một bản thông điệp x’ có h(x’) =
h(x) mà x’ ≠ x. Sau đó, tên trộm đưa x’ thay thế x rồi truyền tiếp cho người B.
Người B nhận được và vẫn xác thực được thông tin đúng đắn.
Để tránh tấn công trên, hàm băm phải không va chạm yếu.
Tính chất 2: Hàm băm không va chạm mạnh

Liên hệ. Mail: or đt: 0982.070.520
18
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Hàm băm h là không va chạm mạnh nếu không có khả năng tính toán để tìm ra hai
bức thông điệp x và x’ mà x ≠ x’ và h(x) = h(x’). [1 – tr110]
Ví dụ: Đầu tiên, tên giả mạo tìm ra được hai bức thông điệp x’ và x (x’ ≠ x) mà có
h(x’) = h(x) (ta coi bức thông điệp x là hợp lệ, còn x’ là giả mạo). Tiếp theo, tên
trộm đưa cho ông A và thuyết phục ông này kí vào bản tóm lược h(x) để nhận được
y. Khi đó (x’, y) là bức điện giả mạo nhưng hợp lệ.
Để tránh kiểu tấn công này, hàm h phải thỏa mãn tính không va chạm mạnh

B = 0x89abcdef
C = 0xfedcba98
D = 0x76543210.
Người ta thường gọi A, B, C, D là các chuỗi biến số (chaining variables).
Bức điện được chia ra thành nhiều khối 512 bit, mỗi khối 512 bit lại được chia ra
16 khối 32 bit đi vào bốn vòng lặp của MD5. Giả sử ta đặt a, b, c và d thay cho A,
B, C và D đối với khối 512 bit đầu tiên của bức điện. Bốn vòng lặp trong MD5 đều
có cấu trúc giống nhau. Mỗi vòng thực hiện 16 lần biến đổi: thực hiện với một hàm
phi tuyến của 3 trong 4 giá trị a, b, c và d; sau đó nó cộng kết quả đến giá trị thứ 4,
tiếp đó cộng với một khối con 32 bit và một hằng số. Sau đó, nó dịch trái một lượng
bit thay đổi và cộng kết quả vào một trong 4 giá trị a, b, c hay d. Kết quả cuối cùng
là một giá trị mới được thay thế một trong 4 giá trị a, b, c hay d.

Liên hệ. Mail: or đt: 0982.070.520
20
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Hình 1.2 sơ đồ vòng lặp chính của MD5
Có bốn hàm phi tuyến, mỗi hàm này được sử dụng cho mỗi vòng:
F(X,Y,Z ) = (X and Y) or ((not X) and Z)
G(X,Y,Z ) = ((X and Z) or (Y and (not Z)))
H(X,Y,Z ) = X xor Y xor Z
I(X,Y,Z ) = Y xor (X or (not Z)).
Những hàm này được thiết kế sao cho các bit tương ứng của X, Y và Z là độc lập
và không ưu tiên, và mỗi bit của kết quả cũng độc lập và ngang bằng nhau.
Nếu Mj là một biểu diễn của khối con thứ j (j = 16) và <<<s là phép dịch trái của s
bit, thì các vòng lặp có thể biểu diễn như sau:
FF(a,b,c,d,Mj,s,ti) được biểu diễn a = b + ((a + F(b,c,d) + Mj + ti) <<< s)
GG(a,b,c,d,Mj,s,ti) được biểu diễn a = b + ((a + G(b,c,d) + Mj + ti) <<< s)
HH(a,b,c,d,Mj,s,ti) được biểu diễn a = b + ((a + H(b,c,d) + Mj + ti) <<< s)
II(a,b,c,d,Mj,s,ti) được biểu diễn a = b + ((a + I(b,c,d) + Mj + ti) <<< s).

FF (b, c, d, a, M7, 22, 0xfd469501)
FF (a, b, c, d, M8, 7, 0x698098d8)
FF (d, a, b, c, M9, 12, 0x8b44f7af)
FF (c, d, a, b, M10, 17, 0xffff5bb1)
FF (b, c, d, a, M11, 22, 0x895cd7be)
FF (a, b, c, d, M12, 7, 0x6b901122)
FF (d, a, b, c, M13, 12, 0xfd987193)
FF (c, d, a, b, M14, 17, 0xa679438e)
FF (b, c, d, a, M15, 22, 0x49b40821).
Vòng 2:
GG (a, b, c, d, M1, 5, 0x61e2562)
GG (d, a, b, c, M6, 9, 0xc040b340)
GG (c, d, a, b, M11, 14, 0x265e5a51)
GG (b, c, d, a, M0, 20, 0xe9b6c7aa)

Liên hệ. Mail: or đt: 0982.070.520
22
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
GG (a, b, c, d, M5, 5, 0xd62f105d)
GG (d, a, b, c, M10, 9, 0x02441453)
GG (c, d, a, b, M15, 14, 0xd8a1e681)
GG (b, c, d, a, M4, 20, 0xe7d3fbc8)
GG (a, b, c, d, M9, 5, 0x21e1cde6)
GG (d, a, b, c, M14, 9, 0xc33707d6)
GG (c, d, a, b, M3, 14, 0xf4d50d87)
GG (b, c, d, a, M8, 20, 0x455a14ed)
GG (a, b, c, d, M13, 5, 0xa9e3e905)
GG (d, a, b, c, M2, 9, 0xfcefa3f8)
GG (c, d, a, b, M7, 14, 0x676f02d9)
GG (b, c, d, a, M12, 20, 0x8d2a4c8a).

II (a, b, c, d, M8, 6, 0x6fa87e4f)
II (d, a, b, c, M15, 10, 0xfe2ce6e0)
II (c, d, a, b, M6, 15, 0xa3013414)
II (b, c, d, a, M13, 21, 0x4e0811a1)
II (a, b, c, d, M4, 6, 0xf7537e82)
II (d, a, b, c, M11, 10, 0xbd3af235)
II (c, d, a, b, M2, 15, 0x2ad7d2bb)
II (b, c, d, a, M9, 21, 0xeb86d391).

Liên hệ. Mail: or đt: 0982.070.520
24
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa.
Những hằng số t
i
được chọn theo quy luật sau: ở bước thứ i giá trị t
i
là phần
nguyên của 232*abs(sin(i)), trong đó i = [0 63] được tính theo radian.
Sau tất cả những bước này a, b, c và d lần lượt được cộng với A, B, C và D để cho
kết quả đầu ra, và thuật toán tiếp tục với khối dữ liệu 512 bit tiếp theo cho đến hết
bức điện. Đầu ra cuối cùng là một khối 128 bit của A, B, C và D, đây chính là hàm
Băm nhận được [1 – tr111 > tr115].
b. Tính bảo mật trong MD5:
Ron Rivest đã phác hoạ những cải tiến của MD5 so với MD4 như sau:
- Vòng thứ 4 được thêm vào (còn MD4 chỉ có 3 vòng).
- Mỗi bước được cộng thêm một hằng số duy nhất.
- Hàm G ở vòng 2 thay đổi từ ((X and Y) or (X and Z) or (Y and Z)) thành ((X
and Z) or (Y and (not Z))) nhằm giảm tính đối xứng của G (giảm tính tuyến
tính).
- Mỗi bước được cộng kết quả của bước trước nó, làm các quá trình có tính


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