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

Chữ ký số và các vấn đề bảo mật thông tin

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 (1.05 MB, 88 trang )

..

ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN



Nguyễn Thị Hồng Minh

CHỮ KÝ SỐ VÀ CÁC VẤN ĐỀ BẢO MẬT THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2010

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN



Nguyễn Thị Hồng Minh

CHỮ KÝ SỐ VÀ CÁC VẤN ĐỀ BẢO MẬT THÔNG TIN
Chuyên ngành: Khoa học máy tính
Mã số: 604801


LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Đồn Văn Ban

Thái Ngun - 2010

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



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 ngun, ngày 10 tháng 10 năm 2010

Nguyễn Thị Hồng Minh


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




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 chun mơn trong q 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 khoa Công nghệ thông tin - Đạ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 ln 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 11 năm 2010


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



MỤC LỤC

LỜI CAM ĐOAN .................................................................................................

LỜI CẢM ƠN .......................................................................................................

MỤC LỤC ............................................................................................................
DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................... 5
DANH MỤC CÁC HÌNH .......................................................................................... 6
CÁC KÍ HIỆU DÙNG TRONG LUẬN VĂN........................................................... 7
Mở đầu .................................................................................................................... 8

1. Lý do chọn đề tài .................................................................................................... 8
2. Mục tiêu nghiên cứu ............................................................................................... 9
3. Phƣơng pháp nghiên cứu ...................................................................................... 10
4. Tổng quan luận văn .............................................................................................. 10
Chương 1: Một số hệ mật mã khố thơng dụng ................................................ 12
1.1 Giới thiệu ............................................................................................................ 12
1.2 Hệ mã khố bí mật ............................................................................................. 13
Hệ mã DES/ AES ................................................................................................. 13
1.3 Hệ mã hố cơng khai .......................................................................................... 17
1.3.1 Các khái niệm cơ bản .................................................................................. 17
1.3.2 Một số khái niệm toán học cơ sở ................................................................ 18
1.3.3 Các ngun lý của hệ mật khố cơng khai .................................................. 23
1.3.4 Hệ mã logarithm rời rạc .............................................................................. 26
1.3.5 Hệ ElGamal ................................................................................................. 28
1.3.6 Hệ RSA ....................................................................................................... 29
1.4 Độ an toàn của RSA ........................................................................................... 34
1.4.1 Tạo vỏ bọc an toàn cho văn bản .................................................................. 35
1.4.2 Xác thực chủ thể .......................................................................................... 36
1.5 Quản lý khoá ...................................................................................................... 36
1.5.1 Phân phối khoá cho giải thuật mật mã đối xứng ......................................... 37
1.5.2 Phân phối khoá cho giải thuật mật mã không đối xứng .............................. 39
1.5.3 Phát sinh và lƣu giữ khố bí mật ................................................................. 42


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



1.6 Kết luận chƣơng ..............................................................................................


Chương 2: Chữ ký số ..........................................................................................

2.1 Giới thiệu ........................................................................................................

2.2 Xác thực thông báo và các hàm xác thực .......................................................

2.2.1 Xác thực thông báo ......................................................................................
2.2.2 Các hàm xác thực ........................................................................................ 50
2.3 Chữ ký số ........................................................................................................... 57
2.3.1 Chữ ký số dùng mật mã khố cơng khai ..................................................... 57
2.3.2 Lƣợc đồ chữ ký số ....................................................................................... 61
2.4 Các kiểu tấn công vào lƣợt đồ chữ ký ................................................................ 70
2.5 Kết luận chƣơng ................................................................................................. 70
2.5.1 Tính pháp lý và ứng dụng chữ ký số trong và ngoài nước .................... 71
Chương 3: Cài đặt demo chương trình .............................................................. 76
3.1 Lĩnh vực ứng dụng của chƣơng trình ................................................................. 76
3.2 Chức năng của chƣơng trình .............................................................................. 76
3.2.1 Phần bảo mật thơng tin ................................................................................ 76
3.2.2 Phần chữ ký số ............................................................................................ 77
3.3 Một số màn hình giao diện của chƣơng trình..................................................... 77
3.4 Kết luận chƣơng ................................................................................................. 81


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



DANH MỤC CÁC TỪ VIẾT TẮT
AES


Advance Encryption Standard

ASCII

American

Standard

Code

Interchange
ANSI

American National Standards Institute

CA

Certificate Authority

DES

Data Encryption Standard

FIPS

Federal Information Processing Standard 46

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

for

Infornation


Số hóa bởi Trung tâm Học liệu – Đại học Thái Ngun




DANH MỤC CÁC HÌNH
Trang
Hình 1.1 Thuật tốn giải mã của hệ DES ................................................ 14
Hình 1.2

Sơ đồ khối nguyên lý hoạt động của mật mã khố cơng khai . 25

Hình 1.3

Minh hoạ q trình mã hố khố cơng khai ............................ 31

Hình 1.4

Sơ đồ phân bố khóa của một network với một CKD ............... 36

Hình 1.5

Sơ đồ phân bố khóa của một network với KD ......................... 49

Hình 1.6 Sơ đồ kiểm tra khố .................................................................. 42
Hình 1.7 Sơ đồ bảo vệ khố ..................................................................... 43
Hình 2.1 (a) Lược đồ mã hố thơng báo ................................................... 48
Hình 2.1(b) Mã hố khố cơng khai: xác thực và chữ ký ......................... 49
Hình 2.1(c) Mã hố khố cơng khai: Bí mật, xác thực và chữ ký ............. 49
Hình 2.2 (a) Xác thực thơng báo ................................................................ 50
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õ ........ 50
Hình 2.2 (c) Xác thực đối với bản mã ........................................................ 50
Hình 2.3


Sơ đồ nguyên lý hoạt động của chữ ký số ............................... 56

Hình 2.4

Sơ đồ tạo và kiểm tra chữ ký số .............................................. 57

Hình 2.5 Sơ đồ quy trình ký ..................................................................... 60
Hình 2.6 Sơ đồ quy trình xác minh chữ ký ............................................. 60
Hình 2.7 Tổng quan về chữ ký số với khơi phục thơng điệp.................... 62
Hình 2.8 Lược đồ tổng quan của chữ ký số với khôi phục thơng điệp ... 62
Hình 3.1 Vấn đề chứng thực thông qua trung gian ................................. 75


Số hóa bởi Trung tâm Học liệu – Đại học Thái Ngun



CÁC KÍ HIỆU DÙNG TRONG LUẬN VĂN

C

Bản mã.



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.
e, eA Số mũ mã hoá, số mũ mã hoá của cá thể A.
IDA

Định danh của cá thể A.

k

Khố mã.



Khơng gian bản rõ

P

Bản tin rõ.



Hàm số hoá bản rõ.   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




Mở đầu

1. Lý do chọn đề tài
Internet ngày nay đã trở thành mạng truyền dữ liệu đƣợc sử dụng phổ biến
trên tồn thế giới. Nó đƣợc sử dụng để truyền thƣ điện tử, truy cập các website,
kết nối tới các trƣờng học, công sở, giám sát hệ thống từ xa, truyền tệp... Trong
tƣơng lai, Internet sẽ trở thành môi trƣờng truyền thơng phổ cập cho tồn thế
giới.
Rõ ràng tiềm năng của mạng Internet là rất lớn nhƣng nó lại bị hạn chế bởi
thiết kế mở của mình. Nhƣ ta biết giao tiếp qua Internet chủ yếu sử dụng giao
thức TCP/IP. Các gói tin truyền từ điểm nguồn tới điểm đích sẽ đi qua rất nhiều
máy tính trung gian, vì vậy nó rất dễ bị xâm phạm, can thiệp, theo dõi và giả
mạo trên đƣờng truyền và biện pháp bảo mật bằng mật khẩu là khơng đảm bảo
vì có thể bị nghe trộm hoặc bị dị ra nhanh chóng; vì thế đã chuyển sang xu
hƣớng mã hố.
Nhờ thơng tin đƣợc ngƣời gửi mã hoá trƣớc khi truyền qua mạng Internet
nên dù kẻ trộm có “chặn” cũng khơng thể đọc. Khi tới đích, ngƣời nhận sẽ sử
dụng một cơng cụ đặc biệt để giải mã. Phƣơng pháp mã hoá và bảo mật phổ
biến nhất đang đƣợc thế giới áp dụng là chữ ký số (Digital signature). Với chữ
ký số, ngƣời sử dụng có thể mã hố thơng tin một cách hiệu quả, chống giả
mạo, xác thực danh tính ngƣời gửi. Ngồi ra chữ ký số còn là bằng chứng giúp
chống chối cãi nguồn gốc, ngăn chặn ngƣời gửi chối cãi nguồn gốc tài liệu mình
đã gửi.
Đối với các hoạt động trên môi trƣờng mạng ngày càng phát triển nhƣ hiện
nay, chữ ký số là một hình thức để bảo đảm tính pháp lý của các cam kết. Mặt


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




khác, việc giao dịch bằng các thông điệp điện tử nói chung và
giao dịch ở dạng số nói riêng đã đƣợc luật hố bằng Luật Giao
dịch điện tử; Vì vậy, cần tìm hiểu, nghiên cứu về chữ ký số để
tham mƣu cho lãnh đạo trong việc bảo mật văn bản điện tử.
Nhận thấy tính thiết thực của vấn đề này và đƣợc sự gợi ý của giáo viên
hƣớng dẫn, em đã chọn đề tài “Chữ ký số và các vấn đề bảo mật thông tin”

2. Mục tiêu nghiên cứu
Nghiên cứu các giải pháp mã hố để bảo mật thơng tin và 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ử để xác thực nguồn
gốc tài liệu hay văn bản của ngƣời gửi.
Xây dựng một chƣơng trình ứng dụng có khả năng bảo mật nội dung thông
tin dƣới dạng văn bản điện tử, tạo chữ ký trên văn bản điện tử cần thiết và
chứng thực chữ ký số trên văn bản điện tử góp phần phục vụ những ngƣời quản
lý đơn vị trao đổi thông tin mật với các đối tác, điều hành công việc từ xa.
Hai mục tiêu trên được thực hiện cụ thể bằng các cơng việc sau:
- Tìm hiểu những cơ sở toán học, độ phức tạp của thuật toán và các thuật
toán thƣờng đƣợc sử dụng trong các hệ mật mã khố cơng khai.
- Nghiên cứu tìm hiểu lý thuyết chung về nguyên lý, hoạt động và ứng
dụng của hệ mật mã khố cơng khai.
- Nghiên cứu tìm hiểu cụ thể các hệ mật khố cơng khai đang đƣợc sử
dụng nhiều nhất hiện nay bao gồm các hệ sau:
+ Hệ mật mã bí mật
+ Hệ mật mã cơng khai RSA
- Nghiên cứu tìm hiểu mơ hình chữ ký số và ứng dụng trong việc ký 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 Ngun




- Tìm hiểu các ngơn ngữ lập trình Visual C# .net phục vụ
cho cơng việc lập trình ứng dụng.
- Trên cơ sở các nghiên cứu đó, đánh giá, so sánh độ an tồn
của các hệ mật mã khố cơng khai, từ đó xây dựng một chƣơng
trình ứng dụng có các chức năng tạo khóa, mã hố hoặc tạo chữ ký, giải mã
thông điệp dựa trên hệ mật mã RSA có độ an tồn và hiệu xuất thực thi cao, có
khả năng ứng dụng vào thực tiễn nhƣ bảo mật nội dung thơng tin thƣ tín điện tử,
tạo chữ ký trên các tài liệu, văn bản điện tử cần thiết trao đổi thông qua mạng.
- Nghiên cứu về mật mã khố cơng khai RSA, chữ ký số và ứng dụng thuật
toán RSA
- Luận văn sẽ tập trung nghiên cứu và làm rõ hơn về ý tƣởng, cơ sở toán
học, thuật tốn và độ phức tạp của mã hố nói chung và của mã hố khố cơng
khai nói riêng.

3. Phương pháp nghiên cứu
Nghiên cứu các tài liệu về mã hoá, hệ mật mã của các tác giả trong và
ngoài nƣớc, các bài báo, thông tin trên mạng, …
Nghiên cứu ngôn ngữ lập trình hƣớng đối tƣợng Visual C # .net để viết
một ứng dụng nhỏ về chữ ký số.

4. 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 tồn thơng tin dữ liệu
dùng mật mã, mật mã khố cơng khai RSA và chữ ký số



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



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ã khố thơng dụng

Giới thiệu về hệ mật mã khóa cơng khai các ngun lý của nó;
trình bày những khái niệm cơ bản & hệ khố 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ố

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 Ngun




Chương 1: Một số hệ mật mã khố thơng
dụng

1.1 Giới thiệu
Lý thuyết mật mã và an tồn thơng tin đã và đang chiếm lĩnh sự quan tâm
của nhiều ngƣời, điều đó xuất phát từ nhu cầu đảm bảo an tồn thơng tin trong
thời đại bùng nổ cơng nghệ và sự giao lƣu thông tin ngày càng phát triển mạnh
mẽ nhƣ hiện nay. Chƣơng này giới thiệu một số nét cơ bản về thuật toán RSA
dùng cho hệ thống mã hố cơng khai và ứng dụng của nó trong chữ ký số [12].
Mật mã đƣợc dùng để bảo vệ bí mật thông tin khi thông tin đƣợc truyền đi.
Giả sử có hai ngƣời muốn trao đổi thơng tin với nhau là A và B. Khi đó, chẳng
hạn A muốn gửi thơng tin là một văn bản nào đó dƣới dạng điện tử, gọi là bản
rõ cho B, muốn đƣợc bảo mật thì A phải mã hố cho bản rõ đó, đƣợc bản mã, và
gửi cho B. Nhƣ vậy, giữa A và B phải có sự thoả thuận nào đó về việc dùng
khố để A có thể mã hố thơng tin để đƣợc bản mã và B giải mã thông tin từ
bản mã nhằm thu đƣợc bản rõ. Khi đó, một ngƣời nào đó khơng có khố thì dù
họ có lấy đƣợc bản mã trên đƣờng truyền thì cũng khơng thể dịch ngƣợc thành
bản rõ.
Ngƣời ta chia các hệ mã làm hai loại chính là hệ mã khố bí mật và hệ mã
khố cơng khai (public-key cipher system). Các hệ mã khố bí mật thực hiện
việc bảo mật đều dựa trên cơ sở là có một khố để dùng chung cho việc lập mã
và giải mã. Các hệ mã hố cơng khai là trong đó mỗi ngƣời tham gia vào q
trình truyền tin sẽ có hai khố khác nhau, một khố cơng khai (public key) dùng
để lập mã và một khố mật (private key) dùng để giải mã. Khố cơng khai đƣợc
cơng khai hố cho mọi ngƣời, cịn khố mật của mỗi ngƣời đƣợc giữ bí mật.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Ngun



Thơng tin trƣớc khi gửi đi đƣợc mã hố bởi khố cơng khai của
ngƣời nhận. Chỉ có ngƣời nhận mới có khả năng giải mã bản mã
bằng khố mật của mình. Độ bảo mật của các hệ mã cơng khai
rất cao vì đƣợc đảm bảo bằng độ phức tạp tính tốn của thao tác
tìm các số ngun tố lớn và phân tích một số nguyên lớn thành tích các thừa số.

1.2 Hệ mã khố bí mật
Trong mã khố bí mật, cả q trình mã hố lẫn giải mã chỉ áp dụng một
khố bí mật vì thế, hệ thống này còn đƣợc gọi là hệ mã đối xứng [4], [5].
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)

Và truyền trên một kênh cơng cộng cho ngƣời nhận. Khố 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 tồn. Vì chỉ
ngƣời nhận hợp lệ biết khố 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)

Có nhiều dạng mã đối xứng khác nhau. Ở đây, tôi sẽ giới thiệu hệ mã đối
xứng DES/AES.
Hệ mã DES/ AES
Mơ hình mã khố bí mật phổ biến nhất đang đƣợc sử dụng là DES – Data
Encryption Standard - đƣợc IBM đề xuất và đƣợc Uỷ ban Chuẩn Quốc gia Mỹ,
hiện đƣợc gọi là Viện quốc gia về chuẩn và cơng nghệ (NIST), chấp nhận nhƣ
một chuẩn chính thức. Chuẩn này đƣợc đề nghị năm 1977 - viết tắt là FIPS 46


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



(Federal Information Processing Standard 46). NIST đang đề
nghị thay FIPS và các mở rộng của nó bằng Trip-DES (TDES
hay 3DES) với tên X9.2 trong mô tả của Viện tiêu chuẩn Quốc
gia Mỹ (ANSI) [5]. DES sử dụng một phép hoán vị, thay thế, và
một số toán tử phi tuyến. Các toán tử phi tuyến này đƣợc áp dụng (16 lần) và
từng khối của thông điệp 32 bit; Bản rõ, trƣớc hết, đƣợc chia thành các khối
thông điệp 64 bit
Nhập : M (64 bit)
M‟ = IP(M)

L0


+

R0

f

L1 = R 0

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)


Số hóa bởi Trung tâm Học liệu – Đại học Thái Ngun

Hình 1.1




Thuật tốn giải mã của hệ DES

Khố sử dụng 56 bit nhận đƣợc từ khố 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 khố bí mật đƣợc dùng khi mã hố. Thuật giải
đƣợc minh hoạ nhƣ trong hình vẽ 1.1, trong đó, phép  ký hiệu phép XOR.
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.
- Đầu tiên, á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 hai, chia M‟ thành 2 phần: nửa trái L0 32 bit và nửa phải R0 32 bit.
Bƣớc ba, thi hành các phép tố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 khố vịng 48 bit, sinh ra
một kết xuất 32 bit. Mỗi khố vịng Ki chứa một tập con các khố 56 bit.
Cuối cùng, sau 16 bƣớc ta đƣợc C‟ = (R16 ,L16). C‟ sau đó đƣợc hố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 hốn vị, 16 vịng
XOR sử dụng khố 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 chun 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


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




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)))

(1.5)

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 tháng 11 năm 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 này, ký hiệu là AES –
Advance Encryption Standard, sẽ thay thế DES và hỗ trợ kích thƣớc khố lên
đến 256 bit (và phải miễn phí). Ngày 22 tháng 08 năm 1998, tại hội nghị First
AES Candidate Conference (AES1), NIST thông báo 15 thuật giải AES ứng


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



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ã hố 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 chính thức 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) và Lars Knudsen
(Na-uy)
- Twofish – do Bruce Schneier, John Kelsey, Doug Whiting, David
Wagner Chris Hall và Niels Ferguson (Mỹ) [5].

1.3 Hệ mã hoá công khai
1.3.1 Các khái niệm cơ bản

Trong một hệ mã hố cơng khai (mã khơng đối xứng), khố mã hố e k và
khoá giải mã dk khác nhau, ek ≠ dk. Vì ek chỉ đƣợc sử dụng để mã hố nên có thể
đƣợc cơng bố; nhƣng khố giải mã dk phải giữ bí mật. Để phân biệt với hệ mã bí
mật, ta gọi ek là khố cơng khai, và dk là khố cá nhân; cịn khố trong hệ mã
đối xứng đƣợc gọi là khố bí mật. Hệ mã khố cơng khai đƣợc xây dựng trên ý
tƣởng hàm một chiều.
Cho các tập hữu hạn S và T. Hàm một chiều:
f:S→T
là hàm khả nghịch thoả:
(i) f dễ thực hiện, nghĩa là, cho x  S, có thể dễ dàng tính đƣợc
y = f (x).


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



(ii) f -1, hàm ngƣợc của f, khó thực hiện, nghĩa là, cho y
-1

 T, rất khó tính đƣợc x = f (y).

(iii) f -1 có thể tính đƣợc khi có thêm một số thơng tin.
1.3.2 Một số khái niệm toán học cơ sở
1.3.2.1 Modulo số học và các nhóm Z(p)*, G(q)
Phần lớn các tính tốn liên quan đến hệ mật mã khố cơng khai và tiền
điện tử, chúng ta thƣờng sử dụng tập các số nguyên từ 0 tới p-1, trong đó p là số
nguyên tố lớn. Những số này cùng với hai phép toán, phép nhân * và phép luỹ
thừa ^ sẽ tạo thành các cấu trúc nhóm có những tính chất quan trọng đƣợc sử
dụng để mật mã và bảo mật tiền điện tử [12].

Trƣớc tiên, chúng ta xét một số tính chất quan trọng của tập Z(p) * = {1, 2,
3, 4, ..., p-2, p-1}. Dễ nhận thấy, nếu ta nhân hai số bất kỳ trong tập này với
nhau, sau đó lấy số dƣ theo modulo p, thì kết quả là một số vẫn nằm trong tập
đó. Nghĩa là Z(p)* đóng với phép nhân. Mặt khác, nếu ta lấy một số bất kỳ trong
tệp đó, ví dụ số k, khi đó sẽ tồn tại một số khác, ký hiệu là k^-1, sao cho k*k^-1 =
1 mod p. Nghĩa là mọi số nguyên trong tập này đều có phần tử nghịch đảo bội
(multiplicative inverse). Hai tính chất này khẳng định rằng Z(p) * là một nhóm
với phép nhân mod p. Tƣơng tự, chúng ta có thể khẳng định nó cũng là nhóm
với phép luỹ thừa, vì phép luỹ thừa thực chất là bội của các phép nhân, ví dụ
2^3 = 2*2*2. (Lưu ý: 0 đƣợc loại khỏi Z(p)* bởi vì nó khơng có phần tử nghịch
đảo bội. Nếu ta bổ sung 0 vào Z(p)*, thì chúng ta nhận đƣợc Z(p), chứa tất cả
các số dƣ theo mod p, kể cả 0).
Giả sử ta có Z(11)* = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Nếu nhân 5 với 8, chúng
ta có 5*8 = 40 = 7 mod 11, tất nhiên 7  Z(11)*. Chúng ta cũng có 5*9 = 45 =
1 mod 11, nên 9 là nghịch đảo của 5, hoặc ngƣợc lại. Tƣơng tự 2 và 6 là nghịch


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



đảo của nhau. Vậy Z(11)* là đóng với phép nhân và luỹ thừa, các
phần tử đều có phần tử nghịch đảo nên nó là một nhóm.
Ta có thể khẳng định thêm, ước chung lớn nhất, ký hiệu là
gcd của p và bất kỳ số nào trong tập trên luôn là 1, nghĩa là
chúng nguyên tố cùng nhau.
k  Z(p)*, gcd(k,p) =1
Trên tập Z(p)*, chúng ta có thể định nghĩa thêm phép toán khác, phép chia.
Chúng ta định nghĩa phép chia cho k, ký hiệu là „/‟ nhƣ là phép nhân với phần tử
nghịch đảo của k, đó là k-1. Ví dụ 8/k = 8*k-1. Nếu k = 9 trong Z(11)*,

thì 8/9 = 8*9-1 = 8*5 = 40 = 7 mod 11.
Tƣơng tự, 3/10 = 3*10-1 = 3*10 = 30 = 8 mod 11.
Giả sử g là một số của Z(p)*. g đƣợc gọi là phần tử sinh (generator) mod p
nếu tập tất cả các luỹ thừa của g tạo ra tập tất cả các phần tử của Z(p) *. Nghĩa là
{g1 mod p, g2 mod p, . . ., gp-1 mod p} = Z(p)*
Từ đó chúng ta thấy Z(p)* = {1, 2, ... , p-1} biểu diễn cho một tập (đƣợc
sắp xếp lại) các số g, g2, g3, ... , gp-1 đƣợc tính theo mod p. Để cho tiện lợi chúng
ta có thể viết mod p ở bên ngồi cặp ngoặc đơn, hoặc có thể bỏ qua:
{g1 , g2, . . ., gp-1} mod p = Z(p)* hoặc có thể viết ngắn gọn
{g1 , g2, . . ., gp-1} = Z(p)*
Ví dụ, 3 là phần tử sinh của Z(7)*, bởi vì
31 = 3 mod 7, 32 = 2 mod 7, 33 = 6 mod 7,
34 = 4 mod 7, 35 = 5 mod 7, 36 = 1 mod 7.
Hiển nhiên là {3, 32, 33, 34, 35, 36} = {1, 2, 3, 4, 5, 6} tính theo mod 7.
Một bộ sinh theo mod p là một tập gồm k phần tử {g1, ... , gk}, trong đó
các gi, i = 1, 2, …, k là các phần tử sinh khác nhau.
Ví dụ, {3, 5} là bộ sinh của Z(7)*, bởi vì cả 3 và 5 đều là phần tử sinh của
Z(7)*.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Dễ dàng kiểm tra đƣợc số 2 không phải là phần tử sinh theo
mod 7, bởi vì
{2, 22, 23}mod 7 = {1, 2, 4}  Z(7)*.
Nhƣng tập {1, 2, 4} là tập con của {1, 2, 3, 4, 5, 6} = Z(7) *.
Vậy có thể nói 2 phần tử sinh của nhóm con của Z(3)* theo mod 3.
Một nhóm đƣợc sinh bởi g đƣợc gọi là nhóm có bậc q mod p nếu q là số

luỹ thừa nhỏ nhất sao cho gq = 1 mod p.
Chúng ta xét lại hai phần tử sinh của Z(7) * là 3 và 5, bởi vì 6 là số luỹ thừa
nhỏ nhất để 1=36=56 mod 7, nên Z(7)* là nhóm có bậc 6 mod 7 và khơng có số
luỹ thừa nào khác có tính chất trên.
Nói chung, với số ngun tố q, 1< q < p, G(q) đƣợc xem nhƣ là một nhóm
(hoặc nhóm con) bậc q mod p, nếu với phần tử sinh g, 1 < g < p, chúng ta có {g,
g2, g3, ..., gq} là tập con của Z(p)*.
Nhận xét, giả sử g là phần tử của Z(p)* và g là phần tử sinh của Z(p)* nếu g
là phần tử có bậc là p-1, nghĩa là g^(p-1) = 1, và khơng có số luỹ thừa nào nhỏ
để bằng 1 theo mod p.
1.3.2.2 Số nguyên tố mạnh (strong prime)
Số nguyên tố p đƣợc gọi là số nguyên tố mạnh nếu những điều kiện sau
đƣợc thoả mãn:
 p - 1 có thừa số nguyên tố lớn, đó là p = a1q1 + 1 cho a1 là số nguyên
nào đó và số nguyên tố lớn q1.
 q1 - 1 có thừa số nguyên tố lớn, trong đó q1 = a2q2 + 1 cho a2 là số
nguyên nào đó và q2 là số nguyên tố lớn.
 p + 1 có thừa số nguyên tố lớn, p = a3q3-1 cho a3 là số nguyên nào đó,
q3 là số ngun tố lớn.
Đơi khi số ngun tố thoả mãn một tập con của các điều kiện trên cũng
đƣợc gọi là số nguyên tố mạnh.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Trong lý thuyết số, một số nguyên tố mạnh là một số
nguyên tố pn, với n là chỉ số của số nguyên tố thoả mãn:
Pn 


Pn1  Pn1
2

Thì pn đƣợc gọi là số nguyên tố mạnh. Ví dụ, 17 là số
nguyên tố thứ bảy. Số nguyên tố thứ sáu và thứ tám là 13 và 19, áp dụng công
thức trên ta có:
17 

13  19
 16
2

Nhƣ vậy 17 là một số nguyên tố mạnh.
1.3.2.3 Định lý Fermat nhỏ
Với mọi số nguyên tố dƣơng p, và mọi số nguyên a khơng chia hết cho p,
ta có
ap-1 ≡ 1 [mod p]
Từ định lý Fermat chúng ta suy ra, các số nguyên 1, 2, 3, . . ., p-1 đều
không chia hết p, do vậy tất cả các luỹ thừa của chúng với p-1 đều bằng 1 mod
p. Ví dụ, trong Z(11)*, chúng ta có p - 1 = 10, và
110 = 210 = 310 = 410 = 510 = 610 = 1 mod 11
710 = 810 = 910 = 1010 = 1 mod 11.
Hệ quả của Định lý Fermat nhỏ: Giả sử p là số nguyên tố dƣơng
(i) Với mọi số nguyên a ta có ap ≡ a [mod p]
(ii) Nếu e, d nguyên dƣơng và thoả điều kiện e*d ≡ 1 [mod p - 1] thì ta có
(ae)d = (ad)e ≡ a [mod p].
Nhờ hệ quả này ta có thể mã hoá nhờ số e (bằng cách nâng lên luỹ thừa e)
và giải mã bằng một số khác là d (nâng số bị mã hoá lên luỹ thừa d ta trở lại số
cũ). Ngƣợc lại cũng có thể mã hóa bằng d và giải mã bằng e, đây là tính chất

"khố bằng chìa này nhưng mở bằng chìa khác”. Nhờ tính chất này mà ta có


Số hóa bởi Trung tâm Học liệu – Đại học Thái Ngun



thể giao cho mỗi ngƣời một "chìa khố" riêng [5].
Áp dụng định lý Fermat chúng ta có hệ quả là định lý
Lagrange.
1.3.2.4 Định lý Lagrange
Bậc q của bất kỳ phần tử nào trong nhóm nhân theo mod p đều là thừa số
của p-1 [5].
Xét ví dụ với p = 7, p - 1 = 7 - 1 = 6. Nhƣ ở trên chúng ta đã thấy, 6 là bậc của
3 và 5 trong Z(7)*, và tất nhiên 6 chia hết (7-1). Tƣơng tự, 2 và 4 có bậc 3 mod 7,
và 3 chia hết (7-1).
1.3.2.5 Định lý Euler
Định lý Euler là mở rộng của định lý Fermat nhỏ. Thực tế phép mã hoá
theo định lý Fermat rất dễ bị tấn công, ngay cả khi số p rất lớn nếu đã biết số e
thì có thể tìm rất nhanh số d sao cho ed ≡ 1 [mod p - 1]. Định lý Euler có thể
khắc phục điểm này nhờ thay số p bằng tích của 2 hay nhiều số nguyên tố.
Cho trƣớc số nguyên dƣơng n >1. Hàm φ(n) là số lƣợng các số nguyên
dƣơng a nhỏ hơn n mà nguyên tố cùng nhau với n. Chẳng hạn số n = 12 có 4 số
1, 5, 7, 11 thoả điều kiện này nên ta có φ(12) = 4. Trƣờng hợp tổng quát nếu n
phân tích thành các thừa số nguyên tố n = p11p22 ... pkk thì ta có:

1 
1  
1 
φ(n) = n 1  1  ...1  

p
p
p


1



2

 

n



(1.9)

1.3.2.6 Định lý Số dư Trung hoa
Định lý số dƣ Trung hoa [6] là tên gọi do ngƣời phƣơng Tây đặt cho định
lý này. Ngƣời Trung Hoa gọi nó là bài tốn Hàn Tín điểm binh. Sử ký Tƣ Mã
Thiên viết rằng khi Hàn Tín điểm quân số, ông cho quân lính xếp hàng 3, hàng
5, hàng 7 rồi báo cáo số dƣ. Từ đó ơng tính chính xác quân số đến từng ngƣời.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Gần đây, định lý số dƣ Trung Quốc có nhiều ứng dụng
trong các bài toán về số nguyên lớn áp dụng vào lý thuyết mật
mã.
Định lý: Giả sử n>1 là số nguyên dƣơng và m1, m2, ..., mn
là n số nguyên lớn hơn 1 đôi một nguyên tố cùng nhau. Đặt M = m1m2...mn. Cho
trƣớc các số nguyên a1, a2, ..., an khi đó tồn tài duy nhất một số nguyên x
(0x
 x  a1 mod m1 
 x  a mod m 

2
2

...

 x  an mod mn 

(1.10)

Bản chất của bài tốn Hàn Tín điểm binh là việc giải hệ phƣơng trình đồng
dƣ bậc nhất:

 x  a1 mod m1 
 x  a mod m 

2
2

...


 x  an mod mn 
Hệ phƣơng trình đồng dƣ nói trên có nghiệm duy nhất theo mođun M =
m1.m2...mk, trong đó m1, m2, ..., mn đơi một ngun tố cùng nhau [12]. Trong
bài tốn Hàn Tín n = 3 và m1 = 3, m2 = 5, m3 = 7.
1.3.3 Các ngun lý của hệ mật khố cơng khai
Năm 1976, Diffie và Hellman công bố một phát triển mới mang tên “các
phƣơng hƣớng mới trong mật mã” (new directions in cryptography). Cơng trình
đề xuất một dạng mới của hệ thống mật mã, trong đó ngƣời gửi và ngƣời nhận
sử dụng các khố mã khác nhau nhƣng có mối liên hệ với nhau, và một trong
hai khố đó đƣợc giữ bí mật. Bên nhận dữ liệu giữ một khố bí mật cho phép


×