..
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-------------------------------
NGUYỄN THỊ YẾN
ỨNG DỤNG CHỮ KÝ SỐ TRONG BẢO MẬT
THÔNG TIN BƯU ĐIỆN TỈNH THÁI NGUYÊN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN
Nguyên
Số hóa bởi Trung tâm Học liệu – ĐạiThái
học Thái
Nguyên
– 2012
http://www.lrc-tnu.edu.vn
1
LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn “Chữ ký số và các vấn đề bảo mật
thông tin” là công trình nghiên cứu của tôi, dƣới sự hƣớng dẫn khoa học
của PGS.TS Đoàn Văn Ban, tham khảo các nguồn tài liệu đã đƣợc chỉ rõ
trong trích dẫn và danh mục tài liệu tham khảo. Các nội dung công bố và
kết quả trình bày trong luận văn này là trung thực và chƣa đƣợc ai công bố
trong bất kỳ công trình nào.
Thái nguyên, ngày 10 tháng 6 năm 2012
Nguyễn Thị Yến
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
2
LỜI CẢM ƠN
Trƣớc tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy PGS. TS
Đoàn Văn Ban đã định hƣớng và nhiệt tình hƣớng dẫn, giúp đỡ tôi rất nhiều về
mặt chuyên môn trong quá trình làm luận văn.
Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền
đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm học cao học
tại Trƣờng Đại học công nghệ thông tin và truyền thông - Đại học Thái Nguyên.
Tôi xin cảm ơn bạn bè, đồng nghiệp và gia đình, những ngƣời luôn gần
gũi động viên, chia sẻ cùng tôi trong suốt thời gian làm luận văn tốt nghiệp.
Thái Nguyên, tháng 6 năm 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
3
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................... 1
LỜI CẢM ƠN ..................................................................................................... 2
MỤC LỤC .......................................................................................................... 3
DANH MỤC CÁC KÍ HIỆU VÀ CÁC TỪ VIẾT TẮT .................................... 6
DANH MỤC CÁC HÌNH .................................................................................. 8
MỞ ĐẦU .......................................................................................................... 10
1. Đặt vấn đề .................................................................................................... 10
2. Đối tƣợng và phạm vi nghiên cứu ............................................................... 10
3. Hƣớng nghiên cứu của đề tài ........................................................................ 11
4. Những nội dung nghiên cứu chính .............................................................. 11
5. Tổng quan luận văn ...................................................................................... 11
CHƢƠNG 1: GIỚI THIỆU VỀ MÃ KHOÁ THÔNG DỤNG ........................ 13
1.1. Giới thiệu ................................................................................................... 13
1.2. Hệ mã khoá bí mật ..................................................................................... 13
1.3. Hệ mã khoá công khai ............................................................................... 19
1.3.1. Các khái niệm cơ bản ............................................................................. 19
1.3.2. Một số khái niệm toán học cơ sở ............................................................ 20
1.3.2.1. Modulo số học và các nhóm Z(p)*, G(p) ............................................ 20
1.3.2.2. Quan hệ “đồng dƣ” ............................................................................. 23
1.3.2.3.Số nguyên tố mạnh ............................................................................. 25
1.3.2.4. Định lý Fermat nhỏ .............................................................................. 26
1.3.2.5. Định lý Lagrange ................................................................................. 27
1.3.2.6.Định lý Euler ........................................................................................ 27
1.3.2.7.Định lý số dƣ trung hoa ...................................................................... 27
1.3.3. Các nguyên lý của hệ mật khoá công khai ............................................. 28
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
4
1.3.4. Một số hệ mã khoá công khai ................................................................. 30
1.3.4.1. Hệ mã khoá công khai RABIN ............................................................ 30
1.3.4.2. Hệ mã khoá công khai ELGAML ....................................................... 35
1.3.4.3. Hệ mã khoá công khai RSA ................................................................ 37
1.4. Độ an toàn của RSA .................................................................................. 41
1.5. Quản lý khoá .............................................................................................. 41
1.5.1. Phân phối khoá cho giải thuật mật mã đối xứng .................................... 42
1.5.2. Phân phối khoá cho giải thuật mật mã bất đối xứng .............................. 44
1.5.3. Phát sinh và lƣu giữ khoá bí mật ............................................................ 47
1.6. Kết luận chƣơng ........................................................................................ 50
CHƢƠNG 2: CHỮ KÝ SỐ .............................................................................. 53
2.1. Giới thiệu .................................................................................................. 53
2.2. Xác thực thông báo và các hàm xác thực .................................................. 54
2.2.1. Xác thực thông báo ................................................................................. 54
2.2.2 Các hàm xác thực..................................................................................... 55
2.2.2.1. Mã hoá thông báo ................................................................................ 55
2.2.2.2. Kỹ thuật xác thực dùng khoá bí mật – MAC....................................... 56
2.2.2.3. Các hàm băm ....................................................................................... 58
2.3. Chữ ký số ................................................................................................... 61
2.3.1. Khái niệm................................................................................................ 61
2.3.1.1. Khái niệm............................................................................................. 61
2.3.1.2. Sơ đồ chữ ký số ................................................................................... 62
2.3.2. Các ƣu điểm của chữ ký số ..................................................................... 62
2.3.3. Quá trình thực hiện chữ ký số khoá công khai ....................................... 64
2.3.4. Thuật toán chữ ký RSA .......................................................................... 66
2.3.4.1. Sơ đồ .................................................................................................... 66
2.3.4.2. Ví dụ minh hoạ .................................................................................... 67
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
5
2.3.4.3. Độ an toàn của chữ ký RSA ................................................................ 67
2.3.5. Thuật toán chữ ký DSA/DSS.................................................................. 69
2.3.5.1. Sơ đồ .................................................................................................... 69
2.3.5.2. Ví dụ .................................................................................................... 70
2.3.5.3. Độ an toàn chữ ký DSA ....................................................................... 70
2.4. Các kiểu tấn công vào lƣợt đồ chữ ký ....................................................... 77
2.5. Tính pháp lý và ứng dụng chữ ký số trong và ngoài nƣớc. ....................... 72
2.5.1. Trong nƣớc.............................................................................................. 72
2.5.2. Ở một số nƣớc trên thế giới .................................................................... 74
2.5.3. Ứng dụng trong thực tế ........................................................................... 75
2.6. Kết luận chƣơng......................................................................................... 76
CHƢƠNG 3: CÀI ĐẶT DEMO CHƢƠNG TRÌNH ....................................... 77
3.1 Lĩnh vực ứng dụng của chƣơng trình ......................................................... 77
3.2. Chức năng của chƣơng trình ...................................................................... 78
3.2.1 Phần bảo mật thông tin ............................................................................ 78
3.2.1.1 Chức năng mã hóa văn bản................................................................... 78
3.2.1.2 Chức năng giải mã ................................................................................ 79
3.2.2 Phần chữ ký số ......................................................................................... 79
3.2.2.1 Thực hiện ký văn bản ........................................................................... 79
3.2.2.2 Kiểm tra và xác thực chữ ký ................................................................. 80
3.3. Một số màn hình giao diện của chƣơng trình ............................................ 81
3.3.1 Đăng nhập hệ thống ................................................................................. 81
3.3.2 Một số menu chính .................................................................................. 81
3.4. Kết luận chƣơng......................................................................................... 83
Kết quả và hƣớng phát triển ............................................................................. 84
Kết quả đạt đƣợc của luận văn ......................................................................... 84
Hƣớng phát triển .............................................................................................. 85
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
6
DANH MỤC CÁC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT
AES
Advance Encryption Standard
ASCII
American Standard Code for Infornation Interchange
ANSI
American National Standards Institute
DES
Data Encryption Standard
CA
Certificate Authority
FIPS
Federal Information Processing Standard
IDEA
International Data Encryption Algorithm
IEEE
Institute of Electrical and Electronic Engineers
ITU
International Telecommunication Union
ISO
International Organization for Standardization
MAC
Message Authentication Code
MARS
Multicast Address Resolution Server
MD5
Message Digest 5
NIST
National Institute Of Standards And Technology
OCSP
Online Certificate Status Protocol
PKI
public-key infrastructures
RSA
Rivest, Shamir, Adleman
SHA
Secure Hash Algorithm
TCP/IP
Transfer Control Protocol/Internet Protocol
URL
Uniform Resource Locator
C
Bản mã.
X
Không gian các bản mã.
D, Dk
Hàm giải mã, hàm giải mã với khoá k.
d, dA
Số mũ giải mã, số mũ giải mã của cá thể A.
E, Ek
Hàm mã hoá, hàm mã hoá với khoá k.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
7
e, eA
Số mũ mã hoá, số mũ mã hoá của cá thể A.
IDA
Định danh của cá thể A.
k
Khoá mã.
M
Bản rõ
M
Không gian bản rõ
P
Bản tin rõ.
P
Hàm số hoá bản rõ. P M Zn
(n; e)
Cặp số : n, e là các số nguyên dƣơng.
(e, d)
Ƣớc chung lớn nhất của hai số nguyên dƣơng e và d.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
8
DANH MỤC CÁC HÌNH
Trang
Hình 1.1 Quá trình thực hiện cơ chế mã hoá........................................................ 14
Hình 1.2 Thuật toán giải mã của hệ DES ............................................................. 16
Hình 1.3 Quá trình thực hiện mã hoá khoá công khai.......................................... 19
Hình 1.4 Sơ đồ khối nguyên lý hoạt động của mật mã khoá công khai................ 29
Hình 1.5 Sơ đồ biểu diễn thuật toán mã hóa ........................................................ 37
Hình 1.6 Minh hoạ quá trình mã hoá khoá công khai .......................................... 39
Hình 1.7 Sơ đồ phân bố khóa của một mạng với một CKD.................................. 43
Hình 1.8 Sơ đồ phân bố khóa của một network với KD ....................................... 46
Hình 1.9 Sơ đồ kiểm tra khoá................................................................................ 49
Hình 1.10 Sơ đồ bảo vệ khoá ................................................................................ 50
Hình 2.1 (a) Lược đồ mã hoá thông báo.............................................................. 55
Hình 2.1(b) Mã hoá khoá công khai: xác thực và chữ ký .................................... 55
Hình 2.1(c) Mã hoá khoá công khai: Bí mật, xác thực và chữ ký ........................ 56
Hình 2.2 (a) Xác thực thông báo........................................................................... 57
Hình 2.2 (b) Bí mật và xác thực thông báo:Xác thực đối với bản rõ ................... 57
Hình 2.2 (c) Xác thực đối với bản mã ................................................................... 57
Hình 2.3 Sơ đồ mô tả quá trình ký và gửi các tệp văn bản................................... 64
Hình 2.4 Sơ đồ mô tả quá trình nhận các tệp văn bản ......................................... 65
Hình 3.1 Chức năng tạo cặp khoá mã hoá ........................................................... 78
Hình 3.2 Nội dung văn bản sau khi mã hoá ......................................................... 78
Hình 3.3 Nội dung văn bản sau khi giải mã ........................................................ 79
Hình 3.4 Chọn tệp văn bản để ký ......................................................................... 79
Hình 3.5 Thông báo đã ký văn bản ...................................................................... 80
Hình 3.6 Xác lập thông tin người ký ..................................................................... 80
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
9
Hình 3.7 Xác thực chữ ký ..................................................................................... 81
Hình 3.8 Đăng nhập hệ thống ............................................................................... 81
Hình 3.9 Menu thao tác với tệp văn bản ............................................................... 81
Hình 3.10: Menu chỉnh sửa văn bản ..................................................................... 82
Hình 3.11: Menu Định dạng văn bản ................................................................... 82
Hình 3.12: Menu Mã hoá và giải mã dữ liệu ........................................................ 82
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
10
MỞ ĐẦU
1. Đặt vấn đề:
Hiện nay, các giao dịch điện tử ngày càng trở nên phổ biến. Để bảo đảm an
toàn cho các giao dịch này, cần phải sử dụng đến giải pháp chữ ký số. Chữ ký
số đƣợc sử dụng để bảo đảm tính bảo mật, tính toàn vẹn, tính chống chối bỏ của
các thông tin giao dịch trên mạng Internet. Chữ ký số tƣơng đƣơng với chữ ký
tay nên có giá trị sử dụng trong các ứng dụng giao dịch điện tử với máy tính và
mạng Internet cần tính pháp lý cao.
Hơn nữa, ngoài việc là một phƣơng tiện điện tử đƣợc pháp luật thừa nhận về
tính pháp lý, chữ ký số còn là một công nghệ mã hóa và xác thực rất mạnh. Nó
có thể giúp bảo đảm an toàn, bảo mật cao cho các giao dịch trực tuyến, nhất là
các giao dịch chứa các thông tin liên quan đến tài chính.
Việc ứng dụng chữ ký số sẽ đem lại cho doanh nghiệp, tổ chức rất nhiều lợi
ích nhƣ: Tiết kiệm chi phí giấy tờ, thời gian luân chuyển trong hoạt động quản
lý công văn, giấy tờ, thƣ điện tử; Giúp đẩy nhanh các giao dịch qua mạng trong
khi vẫn đảm bảo độ an toàn và bảo mật thông tin…Nhận thấy sự thiết thực của
chữ ký số trong ngành Bƣu chính Viễn thông nhƣ chuyển công văn giấy tờ, giao
dịch giữa các giao dịch viên, kiểm soát viên với Bƣu điện Tỉnh, với Tập
Đoàn…và đƣợc sự gợi ý của giáo viên hƣớng dẫn, em đã chọn đề tài “Ứng dụng
chữ ký số trong bảo mật thông tin bƣu điện tỉnh Thái Nguyên” làm đề tài cho
luận văn thạc sỹ của mình.
2. Đối tƣợng và phạm vi nghiên cứu:
* Đối tượng nghiên cứu:
+ Tìm hiểu về các giải pháp mã hoá để bảo mật thông tin.
+ Nghiên cứu những phƣơng pháp, kỹ thuật tạo chữ ký số trên các tài liệu,
văn bản điện tử.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
11
* Phạm vi nghiên cứu:
Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lý
thuyết: về một số giải pháp mã hoá và những phƣơng pháp, kỹ thuật tạo chữ ký
số để ứng dụng trong bảo mật thông tin Bƣu điện Tỉnh.
3. Hƣớng nghiên cứu của đề tài:
Luận văn tập trung nghiên cứu và làm rõ hơn về ý tƣởng về các hệ mật mã
khoá thông dụng và những phƣơng pháp, kỹ thuật tạo chữ ký số.
4. Những nội dung nghiên cứu chính:
+ Nghiên cứu về các giải pháp mã hoá để bảo mật thông tin.
+ Nghiên cứu những phƣơng pháp, kỹ thuật tạo chữ ký số trên các tài liệu,
văn bản điện tử.
+ Nghiên cứu về một ngôn ngữ lập trình để viết một ứng dụng nhỏ về chữ
ký số.
5. Tổng quan luận văn
Luận văn đƣợc trình bày theo hình thức từ trên xuống. Bắt đầu của mỗi
phần đều đƣa ra những khái niệm cơ bản và quy định cho phần trình bày tiếp
sau nhằm mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận
rõ hơn những vấn đề liên quan, bao gồm việc bảo vệ an toàn thông tin dữ liệu
dùng mật mã, mật mã khoá công khai RSA và chữ ký số
Luận văn đƣợc trình bày trong 3 chƣơng và phần kết luận
Chƣơng 1
Một số hệ mật mã khoá thông dụng
Giới thiệu về hệ mật mã khóa công khai các nguyên lý của nó; trình bày
những khái niệm cơ bản & hệ khoá công khai RSA; phƣơng pháp xây
dựng, ý tƣởng, thuật toán và độ phức tạp của thuật toán.
Chƣơng 2
Chữ kí số
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
12
Khái niệm về chữ ký số, sơ đồ chữ ký RSA; Các phƣơng pháp xác thực và
hàm băm mật mã; Chữ ký số, các hình thức ký, xác thức chữ ký số.
Chƣơng 3 Cài đặt demo chương trình
Chƣơng này đề cập đến việc xây dựng và cài đặt ứng dụng chữ ký số và
các chức năng của chƣơng trình từ đó đƣa ra các kết quả thực hiện của
chƣơng trình demo.
Kết luận
Tóm tắt những kết quả đạt đƣợc đồng thời nêu ra những hạn chế của luận
văn và hƣớng phát triển có thể đƣợc theo hƣớng nghiên cứu của luận văn trong
tƣơng lai.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
13
CHƢƠNG 1: GIỚI THIỆU VỀ MÃ KHOÁ THÔNG DỤNG
1.1. Giới thiệu
Mật mã học (crypto) là một nghệ thuật nhằm giấu thông tin, bằng cách
chuyển đổi (encrypt) thông tin thành dạng thông tin không đọc đƣợc (cipher
text). Chỉ có những ngƣời giữ khóa (key) bí mật mới có thể giải mã (decrypt)
thông tin thành dạng thông tin có thể hiểu đƣợc (plain text). Thông tin đôi khi bị
giải mã mà không cần biết khóa bí mật. Ngành học nghiên cứu về việc bẻ khóa
(attack/crack/hack) này còn gọi là cryptanalysis [12].
Mã hoá dữ liệu là mã hóa với mục đích làm cho dữ liệu không thể đọc đƣợc
bởi bất cứ ai, ngoại trừ những ai đƣợc phép đọc. Mã hóa sử dụng thuật toán và
khóa để biến đổi dữ liệu từ hình thức đơn giản rõ ràng (plain hay cleartext) sang
hình thức mật mã vô nghĩa (code hay ciphertext). Chỉ có những ai có thông tin
giải mã thì mới giải mã và đọc đƣợc dữ liệu.
Có nhiều cách phân loại hệ mã hoá, nếu ta phân loại mã hoá theo đặc trƣng
của khoá thì hệ mã hoá đƣợc chia thành hai loại đó là:
- Hệ mã hóa khóa đối xứng, hay còn gọi là Hệ mã khoá bí mật (có khoá
riêng và khoá chung giống nhau).
- Hệ mã hóa khóa phi đối xứng, hay còn gọi là Hệ mã khoá công khai (Khóa
công khai có khoá riêng và khoá chung khác nhau).
1.2. Hệ mã khoá bí mật
Hệ mã hoá bí mật hay còn gọi là Hệ mã khoá đối xứng là Hệ mã hóa mà
biết đƣợc khóa lập mã thì có thể “dễ dàng” tính đƣợc khóa giải mã và ngƣợc lại
[4],[5].
Quá trình thực hiện cơ chế mã hoá nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
14
Mã hoá
Bản rõ
Giải mã
Bản mã hoá
Bản rõ
Hình 1.1 Quá trình thực hiện cơ chế mã hoá
Hình 1.1 mô tả quá trình trao đổi thông tin giữa bên gửi và bên nhận
thông qua việc sử dụng phƣơng pháp mã hoá đối xứng. Trong quá trình này, thì
thành phần quan trọng nhất cần phải đƣợc giữ bí mật chính là khoá. Việc trao
đổi, thoả thuận về thuật toán đƣợc sử dụng trong việc mã hoá có thể tiến hành
một cách công khai, nhƣng bƣớc thoả thuận về khoá trong việc mã hoá và giải
mã phải tiến hành bí mật. Chúng ta có thể thấy rằng thuật toán mã hoá đối xứng
sẽ rất có lợi khi đƣợc áp dụng trong các cơ quan hay tổ chức đơn lẻ. Nhƣng nếu
cần phải trao đổi thông tin với một bên thứ ba thì việc đảm bảo tính bí mật của
khoá phải đƣợc đặt lên hàng đầu.
Ngƣời gửi sử dụng một phép biến đổi khả nghịch:
f : M –k→ C
(1.1)
để tạo ra văn bản mã hoá:
C = E(k, M), m M và c C
(1.2)
Trong đó: M là không gian bản rõ
C: Bản mã
Và truyền trên một kênh công cộng cho ngƣời nhận. Khoá k cũng sẽ đƣợc
truyền cho ngƣời nhận để giải mã nhƣng thông qua một kênh an toàn. Vì chỉ
ngƣời nhận hợp lệ biết khoá k mới có thể giải mã C theo phép biến đổi:
f -1: C–k→ M,
(1.3)
để đƣợc bản rõ: D (k,C) = D (k, E(k,M)) = M, C C và M M (1.4)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
15
Mã hoá đối xứng có thể đƣợc phân thành 02 loại:
1. Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits
này đƣợc gọi với một cái tên khác là khối (Block) và thuật toán đƣợc áp dụng
gọi là Block Cipher. Theo đó, từng khối dữ liệu trong văn bản ban đầu đƣợc
thay thế bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật toán ngày
nay thì kích thƣớc chung của một Block là 64 bits [5].
2. Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp
dụng đƣợc gọi là Stream Cipher. Theo đó, dữ liệu của văn bản đƣợc mã hoá
từng bit một. Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật
toán mã hoá khối và nó thƣờng đƣợc áp dụng khi lƣợng dữ liệu cần mã hoá
chƣa biết trƣớc.
Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple
DES(3DES), RC4, AES…
+ DES (Data Encryption Standard). Với DES, bản rõ (Plaintext) đƣợc mã
hoá theo từng khối 64 bits và sử dụng một khoá là 64 bits, nhƣng thực tế thì chỉ
có 56 bits là thực sự đƣợc dùng để tạo khoá, 8 bits còn lại dùng để kiểm tra tính
chẵn, lẻ. DES là một thuật toán đƣợc sử dụng rộng rãi nhất trên thế giới. Hiện
tại DES không còn đƣợc đánh giá cao do kích thƣớc của khoá quá nhỏ 56 bits,
và dễ dàng bị phá vỡ.
+ Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử
dụng một quá trình mã hoá và giải mã sử dụng 3 khoá. Khối 64-bits của bản rõ
đầu tiên sẽ đƣợc mã hoá sử dụng khoá thứ nhất. Sau đó, dữ liệu bị mã hóa đƣợc
giải mã bằng việc sử dụng một khoá thứ hai. Cuối cùng, sử dụng khoá thứ ba và
kết quả của quá trình mã hoá trên để mã hoá.
C = EK3(DK2(EK1(P)))
P = DK1(EK2(DK3(C)))
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
16
+ AES (Advanced Encryption Standard) đƣợc sử dụng để thay thế cho
DES. Nó hỗ trợ độ dài của khoá từ 128 bits cho đến 256 bits.
Khoá sử dụng 56 bit nhận đƣợc từ khoá bí mật 64 bit, có chứa 8 bit kiểm
tra chẵn lẻ. Thuật giải giải mã đƣợc thực hiện theo chiều ngƣợc lại cũng với
khoá bí mật đƣợc dùng khi mã hoá. Thuật giải đƣợc minh hoạ nhƣ trong hình vẽ
1.2, trong đó, phép ký hiệu phép XOR.
Nhập : M (64 bit)
M‟ = IP(M)
L0
R0
+
f
L1 = R0
R1 = L0 + f(R0, K1)
L15 = R14
R15 = L14 + f (R14, K15)
+
f
R16 = L15 + f (R15, K16)
L16 = R15
C = IP-1
Kết xuất C (64 bit)
Hình 1.2 Thuật toán giải mã của hệ DES
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
17
Giải thích
DES nhận vào một thông điệp M 64 bit, một khoá K 56 bit và kết xuất là
một bản mã C 64 bit.
Bƣớc 1: Áp dụng một phép hoán vị bit khởi tạo – IP vào M, cho ra M‟: M‟ =
IP(M).
Bƣớc 2: Chia M‟ thành 2 phần: nửa trái L0 32 bit và nửa phải R0 32 bit.
Bƣớc 3: Thi hành các phép toán sau với i = 1, 2,…, 16 (có 16 vòng):
Li = Ri-1
Ri = Li-1 f (Ri-1, Ki)
Trong đó, f là hàm nhận nửa phải 32 bit và một khoá vòng 48 bit, sinh ra
một kết xuất 32 bit. Mỗi khoá vòng Ki chứa một tập con các khoá 56 bit.
Cuối cùng, sau 16 bƣớc ta đƣợc C‟ = (R16 ,L16). C‟ sau đó đƣợc hoán vị
tƣơng ứng với phép hoán vị IP-1 để đƣợc bản mã cuối cùng C.
Giải mã đƣợc thi hành theo trình tự ngƣợc lại: một phép hoán vị, 16 vòng
XOR sử dụng khoá vòng theo thứ tự ngƣợc lại và phép hoán vị sau cùng phục
hồi lại bản rõ. Tất cả các phép khai triển bit này có thể đƣợc kết hợp vào một
mạch logic chuyên dụng, vì thế DES có thể đƣợc cài đặt rất hiệu quả. Tuy
nhiên, theo nghiêm cứu của Electronic Frontier Foundation thì khả năng thám
mã DES 56 bit khoảng 22 giờ. Vì thế, NIST khuyên nên sử dụng Triple DES
(3DES) bao gồm 3 lần mã hoá DES khác nhau.
Đặt E (k, M) và D(k, C) biểu diễn mã hoá và giải mã DES của M và C với
khoá k. Mỗi phép mã/ giải mã TDES là một phép ghép của các phép mã/giải
mã. Các phép toán sau đƣợc sử dụng trong TDES:
Phép mã hoá TDES: biến đổi một khối M 64 bit thành một khối C 64 bit
đƣợc xác định nhƣ sau:
C = E (K3, D (K2, E(K1, M)))
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
(1.5)
http://www.lrc-tnu.edu.vn
18
Phép giải mã TDES: biến đổi một khối C 64 bit thành một khối M 64 bit
đƣợc xác định nhƣ sau:
M = D (K1, E (K2, D(K3, C)))
(1.6)
Có 3 cách khác nhau tổ hợp từ chùm khoá TDES (K1, K2 ,K3):
1. K1, K2 ,K3 là các khoá khác nhau.
2. K1, K2 là các khoá khác nhau và K3 = K1.
3. K1 = K2 = K3
Ví dụ, nếu chọn cách 2, mã hoá và giải mã TDES nhƣ sau:
C = E (K1, D (K2, E(K1, M)))
(1.7)
M = D (K1, E (K2, D(K1, C)))
(1.8)
Ngày 22/11/1997, NIST thuộc Bộ Thƣơng mại Mỹ đề nghị các công ty,
các trƣờng đại học và các cơ quan khác nghiên cứu đề xuất chuẩn mã hoá thế hệ
mới sử dụng trong thế kỷ 21. Chuẩn mới ký hiệu là AES – Advance Encryption
Standard, sẽ thay thế DES và hỗ trợ kích thƣớc khoá lên đến 256 bit (và phải
miễn phí). Ngày 22/08/1998, tại hội nghị First AES Candidate Conference
(AES1), NIST thông báo 15 thuật giải AES ứng viên chính thức đƣợc gửi đến từ
các nhà nghiên cứu thuộc 12 nƣớc khác nhau. Sau đó, các nhà khoa học thử tìm
cách tấn công các thuật giải mã hoá này, để tìm ra điểm yếu nhất có thể có để
tấn công chúng. Sau đó, tại Second AES Candidate Conference, tổ chức tại
Rôma, Ý, ngày 22-23 tháng 09 năm 1999, NIST thông báo 5 ứng viên sau:
- MARS – do công ty IBM phát triển (Mỹ)
- RC6 – do phòng thí nghiệm RSA tại Bedford, Masachusetts (Mỹ).
- Rijndael – do Joan Deamen và Vincent Rijmen (Bỉ).
- Serpent – do Ros Anderson (Anh), Eli Bihan (Israel) Lars Knudsen (Na-uy)
- Twofish – do Bruce Schneier, John Kelsey, Doug Whiting, David Wagner
Chris Hall và Niels Ferguson (Mỹ)[5].
Hệ mã hoá khoá đối xứng có ƣu điểm và nhƣợc điểm sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
19
a. Ƣu điểm
Giải mã và mã hoá “nhanh” hơn hệ mã hoá khoá công khai
b. Nhƣợc điểm
- Hệ mã hoá khoá đối xứng “không an toàn” so với hệ mã hoá khoá công
khai bởi lý do sau:
Ngƣời mã hoá và ngƣời giải mã phải có “chung” một khoá. Khóa phải đƣợc
giữ bí mật tuyệt đối, vì biết khoá này “dễ” xác định đƣợc khoá kia và ngƣợc lại.
- Vấn đề thỏa thuận khoá và quản lý khóa chung là khó khăn và phức tạp.
Ngƣời gửi và ngƣời nhận phải luôn thống nhất với nhau về khoá. Việc thay đổi
khoá là khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên kênh an toàn.
Ngoài ra với hệ mã hoá khoá đối xứng không thể thực hiện chữ ký điện tử
(sẽ đƣợc trình bày trong chƣơng 2) do chỉ có một khoá chung duy nhất. Vì vậy,
không thể dùng trong giao dịch điện tử.Chính vì lý do trên mà hệ mã hoá khoá
công khai đƣợc sử dụng rộng rãi hơn hệ mã khoá đối xứng.
1.3. Hệ mã khoá công khai
1.3.1. Các khái niệm cơ bản
Hệ mã hoá khoá công khai là hệ mã hoá có khoá lập mã và khoá giải mã
khác nhau, biết đƣợc khoá này “khó” mà tính đƣợc khoá kia [4],[5],[6].
Hệ mã hoá này đƣợc gọi là hệ mã hoá khoá công khai vì khoá lập mã
đƣợc công khai ( gọi là khoá công khai – Public key), Khoá giải mã giữ bí mật
( gọi là khoá riêng – Private key). Điều quan trọng đối với hệ thống là không
thể tìm ra khóa bí mật nếu chỉ biết khóa công khai.
Hình 1.3. Quá trình thực hiện mã hoá khoá công khai
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
- Xem thêm -