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

Tìm hiểu một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong thanh toán điện tử

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.4 MB, 73 trang )

..

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT & TT

NÔNG THỊ LỆ QUN

TÌM HIỂU MỘT SỐ SƠ ĐỒ THỎA THUẬN
KHĨA BÍ MẬT VÀ ỨNG DỤNG TRONG
THANH TOÁN ĐIỆN TỬ

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

Thái Nguyên - 2015


ĐẠI HỌC THÁI NGUN
TRƢỜNG ĐẠI HỌC CNTT&TT

NƠNG THỊ LỆ QUN

TÌM HIỂU MỘT SỐ SƠ ĐỒ THỎA THUẬN
KHĨA BÍ MẬT VÀ ỨNG DỤNG TRONG
THANH TOÁN ĐIỆN TỬ

Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 60.48.01

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 TRỊNH NHẬT TIẾN




Cơng trình đƣợc hồn thành tại:
Trƣờng ĐH Cơng nghệ thơng tin và Truyền thông – ĐH Thái Nguyên

Người hướng dẫn khoa học: PGS.TS Trịnh Nhật Tiến

Phản biện 1:
Phản biện 2:

Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn họp tại:
...................................................................................................
Vào hồi ..... giờ ... ...ngày ..... tháng năm 2015


i

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này của tự bản thân tơi tìm hiểu, nghiên cứu
dưới sự hướng dẫn của PGS.TS Trịnh Nhật Tiến. Các chương trình thực nghiệm
do chính bản thân tơi lập trình, các kết quả là hoàn toàn trung thực. Các tài
liệu tham khảo được trích dẫn và chú thích đầy đủ.

TÁC GIẢ LUẬN VĂN

Nơng Thị Lệ Quyên


ii


LỜI CẢM ƠN

Tôi xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện
công nghệ thông tin – Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các
thầy cô giáo Trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái
Nguyên đã dạy dỗ chúng em trong suốt quá trình học tập chương trình cao học
tại trường.
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Trịnh
Nhật Tiến, Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội đã quan
tâm, định hướng và đưa ra những góp ý, gợi ý, chỉnh sửa q báu cho em trong
quá trình làm luận văn tốt nghiệp.
Cuối cùng, em xin chân thành cảm ơn các bạn bè đồng nghiệp, gia đình
và người thân đã quan tâm, giúp đỡ và chia sẻ với em trong suốt quá trình làm
luận văn tốt nghiệp.

Thái Nguyên, ngày

tháng năm 20

HỌC VIÊN

Nông Thị Lệ Quyên


iii

MỤC LỤC
LỜI CAM ĐOAN ................................................................................................................. I
LỜI CẢM ƠN ...................................................................................................................... II
MỤC LỤC ......................................................................................................................... III

DANH MỤC CÁC HÌNH VẼ ............................................................................................ V
DANH MỤC CÁC TỪ VIẾT TẮT.................................................................................. VI
MỞ ĐẦU ............................................................................................................................... 1
CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN ...................................................................... 3
1.1. VẤN ĐỀ MÃ HÓA.................................................................................................... 3
1.1.1. Mã hóa khóa đối xứng (mã hóa khóa riêng) ....................................................... 6
1.1.2. Mã hóa khóa bất đối xứng (mã hóa khóa cơng khai) ....................................... 14
1.2. VẤN ĐỀ VỀ CHỮ KÍ ĐIỆN TỬ ............................................................................ 16
1.2.1. Chữ kí điện tử ................................................................................................... 17
1.2.2. Chữ kí số........................................................................................................... 17
1.3. VẤN ĐỀ QUẢN LÍ KHĨA .................................................................................... 25
1.3.1. Khóa và một số khái niệm ................................................................................ 25
1.3.2. Vấn đề quản lí khóa bí mật ............................................................................... 26
1.3.3. Vấn đề quản lí khóa cơng khai ......................................................................... 27
CHƢƠNG 2. MỘT SỐ SƠ ĐỒ THỎA THUẬN KHĨA BÍ MẬT ................................ 29
2.1. THỎA THUẬN KHĨA BÍ MẬT BẰNG CÁCH GỬI KHĨA BÍ MẬT ............. 29
2.2. THỎA THUẬN KHĨA BÍ MẬT BẰNG CÁCH KHƠNG GỬI KHĨA ............ 29
2.2.1.Sơ đồ thỏa thuận khóa Blom ............................................................................. 30
2.2.2. Sơ đồ thỏa thuận khóa Diffie – Hellman .......................................................... 33
2.2.3. Sơ đồ thỏa thuận khóa “Trạm tới Trạm” .......................................................... 36
2.2.4. Sơ đồ thỏa thuận khóa MTI .............................................................................. 41
2.3. THỎA THUẬN KHĨA BÍ MẬT BẰNG CÁCH CHIA SẺ KHĨA THÀNH
NHIỀU MẢNH .............................................................................................................. 43
CHƢƠNG 3. ỨNG DỤNG TRONG “THANH TOÁN ĐIỆN TỬ” .............................. 47
3.1. THANH TỐN ĐIỆN TỬ LÀ GÌ. ......................................................................... 47
3.2. CÁC MƠ HÌNH THANH TỐN ĐIỆN TỬ ......................................................... 47
3.2.1. Các mơ hình thanh tốn điện tử ........................................................................ 47
3.2.2. Rủi ro về an tồn thơng tin trong thanh tốn điện tử ........................................ 49
3.2. BÀI TỐN: THỎA THUẬN KHĨA BÍ MẬT ĐỂ THỰC HIỆN VIỆC MÃ HĨA
SỬ DỤNG TRONG THANH TỐN ĐIỆN TỬ .......................................................... 53

3.2.1. Bài toán: Bảo mật hợp đồng thanh tốn điện tử ............................................... 53
3.2.2. Bài tốn: Bảo tồn hợp đồng thanh toán điện tử .............................................. 54


iv

3.2.3. Bài toán: Xác thực hợp đồng thanh toán điện tử .............................................. 55
3.2.4. Bài tốn: Phịng tránh chối cãi hợp đồng thanh tốn ........................................ 55
3.3. GIẢI QUYẾT BÀI TỐN THỎA THUẬN KHĨA BÍ MẬT ĐỂ THỰC HIỆN
VIỆC MÃ HĨA SỬ DỤNG TRONG THANH TOÁN ĐIỆN TỬ .............................. 56
3.3.1. Giải quyết bài toán: Bảo mật hợp đồng thanh toán điện tử .............................. 56
3.3.2. Giải quyết bài tốn bảo tồn hợp đồng trong thanh toán điện tử ..................... 56
3.3.3. Giải quyết bài toán: Xác thực hợp đồng thanh toán điện tử ............................. 58
3.3.4. Giải quyết bài tốn: Phịng tránh chối cãi hợp đồng thanh tốn..................... 599
3.4. CHƢƠNG TRÌNH THỬ NGHIỆM ...................................................................... 59
3.4.1. Thỏa thuận khóa ............................................................................................... 59
3.4.2. Mã hóa bản hợp đồng điện tử bằn hệ mã hóa DES .......................................... 61
3.4.3. Tạo chữ ký số bằng chữ ký số RSA ................................................................. 62
KẾT LUẬN ......................................................................................................................... 63
TÀI LIỆU THAM KHẢO ................................................................................................. 64


v

DANH MỤC CÁC HÌNH VẼ

TT

Hình vẽ


Trang

1

Hình 1.1: Sơ đồ mã hóa dữ liệu

4

2

Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng

6

3

Hình 1.3: Quy trình mã hóa của hệ mã hóa DES

7

4

Hình 1.4: Quy trình lập mã DES

8

5

Hình 3.3: Sơ đồ tính khóa con trong hệ mã hóa DES


10

6

Hình 1.5: Sơ đồ tính hàm f trong hệ mã hóa DES

12

7

Hình 1.6: Sơ đồ hoạt động của mã hóa khóa bất đối xứng

14

8

Hình 1.7: Sơ đồ mã hóa dữ liệu của hệ mã hóa khóa cơng khai RSA

16

9

Hình 1.8: Sơ đồ giải mã dữ liệu của hệ mã hóa khóa cơng khai RSA

16

10

Hình 2.1: Thỏa thuận khóa Diffie – Hellman


34

11

Hình 2.2: Kẻ xâm nhập giữa cuộc trong giao thức Diffie-Hellman

35

12

Hình 2.3: Thỏa thuận khóa trạm tới trạm

37

13

Hình 2.4: Giao thức trạm tới trạm có sự xâm nhập giữa đường

38

14

Hình 2.5: Sơ đồ thỏa thuận khóa MTI

41

15

Hình 2.6: Giao thức MTI có sự xâm nhập giữa đường


42


vi

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

STT

TỪ VIẾT TẮT

Ý NGHĨA

1

TMĐT

Thương mại điện tử

3

CA

Certification Authority

4

STS

Station To Station


5

MTI

Matsumoto, Takashima, Imai


1

MỞ ĐẦU
Khi nhu cầu trao đổi thông tin dữ liệu qua mạng Internet ngày càng lớn và đa
dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được
phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan
niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an
tồn thơng tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong
thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an tồn thơng tin
dữ liệu:
+ Bảo vệ an tồn thơng tin bằng các biện pháp hành chính.
+ Bảo vệ an tồn thơng tin bằng các biện pháp kỹ thuật (phần cứng).
+ Bảo vệ an tồn thơng tin bằng các biện pháp thuật tốn (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Các thông
tin dữ liệu nằm ở kho dữ liệu hay đang trên đường truyền đều cần được bảo vệ, tuy
nhiên môi trường khó bảo vệ an tồn thơng tin nhất và cũng là mơi trường đối
phương dễ xâm nhập nhất đó là mơi trường mạng và q trình truyền tin.
“Mật mã” có lẽ là một kỹ thuật được dùng lâu đời nhất trong việc đảm bảo
“An tồn thơng tin”. Trước đây “mật mã” chỉ được dùng trong ngành an ninh quốc
phòng, ngày nay việc đảm bảo “An tồn thơng tin” là nhu cầu của mọi ngành, mọi
người (do các thông tin chủ yếu được truyền trên mạng cơng khai), vì vậy kỹ thuật
“mật mã” là công khai cho mọi người dùng. Điều bí mật nằm ở “khóa” của mật mã.

Vì vậy với bất kì hệ mã hóa nào người ta cần phải quản lí tốt “khóa”.
Hiện nay có hai loại hệ mã hóa chính: mã hóa khóa đối xứng (hệ mã hóa
khóa riêng) và mã hóa khóa bất đối xứng (mã hóa khóa cơng khai). Với hệ mã khóa
đối xứng, nếu biết được khóa này thì “dễ” tính được khóa kia và ngược lại. Hệ mã
khóa cơng khai có ưu điểm hơn hệ mã khóa đối xứng ở chỗ: có thể cơng khai thuật
tốn mã hóa và khóa mã hóa (khóa công khai) cho nhiều người sử dụng, và cần phải
quản lí tốt khóa cơng khai.


2

Do đó việc sử dụng hệ mã hóa khóa cơng khai cho cặp người dùng thỏa
thuận khóa bí mật của hệ mã khóa riêng sẽ làm cho hệ mã khóa riêng trở nên an
tồn vì khi đó ta chỉ thỏa thuận cách tính khóa trên mạng chứ khơng truyền khóa
trên mạng, thuật tốn mã hóa và giải mã sẽ nhanh hơn.
Được sự gợi ý của giáo viên hướng dẫn và nhận thấy tính thiết thực của vấn
đề, em đã chọn đề tài “Tìm hiểu một số sơ đồ thỏa thuận khóa bí mật và ứng
dụng trong thanh tốn điện tử” để làm nội dung cho luận văn tốt nghiệp của
mình.
Luận văn này tập trung vào tìm hiểu cơ sở lý thuyết toán học và một số kỹ
thuật mật mã để thực hiện thỏa thuận khóa bí mật của hệ mã khóa riêng, sau đó áp
dụng giải quyết một số bài tốn về an tồn thơng tin trong “Thanh tốn điện tử”.
Nội dung chính của luận văn gồm có ba chương
Chƣơng 1: Các khái niệm cơ bản
Trong chương này luận văn trình bày các kiến thức cơ bản về mã hóa, vấn đề
chữ kí số, vấn đề quản lí khóa.
Chƣơng 2: Một số sơ đồ thỏa thuận khóa bí mật
Nội dung chương 2 trình bày về vấn đề thỏa thuận khóa bí mật và một số sơ
đồ thỏa thuận khóa bí mật
Chƣơng 3: Ứng dụng trong thanh toán điện tử

Nội dung chương 3 tập trung và trình bày một số bài tốn ứng dụng thỏa thuận
khóa bí mật trong thanh tốn điện tử và xây dựng chương trình kiểm thử cho bài
tốn “Bảo tồn hợp đồng thanh tốn điện tử”, chương trình kiểm thử được viết bằng
ngơn ngữ lập trình java.


3

CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN
1.1. VẤN ĐỀ MÃ HĨA
Mã hố là phần rất quan trọng trong vấn đề bảo mật. Mã hố ngồi nhiệm vụ
chính là làm cho tài liệu an tồn hơn, nó cịn có một lợi ích quan trọng là: thay vì
truyền đi tài liệu thơ (khơng được mã hố) trên một đường truyền đặc biệt, được
canh phịng cẩn mật khơng cho người nào có thể “xâm nhập” vào lấy dữ liệu, người
ta có thể truyền một tài liệu đã được mã hoá trên bất cứ đường truyền nào mà không
lo dữ liệu bị đánh cắp vì nếu dữ liệu có bị đánh cắp đi nữa thì dữ liệu đó cũng khơng
dùng được.
Theo nghĩa hẹp thì “mật mã” chủ yếu dùng để bảo mật dữ liệu, người ta quan
niệm “Mật mã học” là khoa học nghiên cứu mật mã bao gồm tạo mã và phân tích
mã (là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật của nó hoặc
phá vỡ sự bí mật của nó).
Theo nghĩa rộng, “mật mã” là một trong những cơng cụ hiệu quả đảm bảo an
tồn thơng tin nói chung: bảo mật, bảo tồn, xác thực, chống chối cãi,…
Một số khái niệm liên quan:
Thuật toán mã hoá/ giải mã [3]: là thuật tốn dùng để chuyển thơng tin thành
dữ liệu mã hoá hoặc ngược lại. Thuật toán mã hóa/ giải mã là cơng khai.
Khố [3]: là thơng tin mà thuật tốn mã hóa/ giải mã sử dụng để mã hóa/ giải
mã thơng tin. Mỗi khi một thơng tin đã được mã hố thì chỉ có những người có
khố thích hợp mới có thể giải mã. Nếu khơng thì dù dùng cùng một thuật tốn giải
mã nhưng cũng khơng thể phục hồi lại thông tin ban đầu. Đây là đặc điểm quan

trọng của khoá: mã hoá chỉ phụ thuộc vào khố mà khơng phụ thuộc vào thuật tốn
mã hóa/ giải mã. Điều này giúp cho một thuật toán mã hóa/ giải mã có thể được sử
dụng rộng rãi.


4

Hệ mã hóa [3]: Việc mã hóa phải theo quy tắc nhất định, quy tắc đó gọi là hệ
mã hóa. Hệ mã hóa được định nghĩa là bộ năm  P, C, K , E, D , trong đó:
P là tập hữu hạn các bản rõ có thể
C là tập hữu hạn các bảm mã có thể

K là tập hữu hạn các khóa
E là tập các hàm lập mã
D là tập các hàm giải mã

Với khóa lập mã ke  K , có hàm lập mã ek  E , ek : P  C
e

e

Với khóa giải mã k d  K , có hàm giải mã ek  D, ek : C  P
d

d

Sao cho kk  ek  x    x, với mọi x  P
d

e


Ở đây x được gọi là bản rõ, ek  x  được gọi là bản mã
e

Sơ đồ mã hóa và giải mã dữ liệu:
kd

ke

x

ekd  C 

eke  X 

C

x

Hình 1.1: Sơ đồ mã hóa dữ liệu
Trong sơ đồ này, người gửi G có khóa lập mã k e , người nhận N có khóa giải
mã k d
Người gửi G muốn gửi bản tin x cho người nhận N. Để đảm bảo bí mật, G
mã hóa bản tin x bằng khóa lập mã k e được bản mã C và gửi C cho N. Tin tặc có
thể bắt chặn giữa đường lấy bản mã C, nhưng cũng “khó” hiểu được bản tin gốc x
vì khơng có khóa giải mã k d .
Người nhận N nhận được bản mã C, họ dùng khóa giải mã k d để giải mã C sẽ
nhận được bản tin gốc x  d k  ek ( x) 
d


e


5

Với hình thức khá phổ biến hiện nay là truyền tin qua thư điện tử và không sử
dụng các công cụ mã hoá, bảo mật cũng như chữ ký điện tử thì các tình huống sau
có thể xảy ra:
- Khơng chỉ nguời nhận mà người khác cũng có thể đọc được thơng tin.
- Thơng tin mà ta nhận được có thể không phải là của người gửi đúng đắn.
- Thông tin nhận được đã bị người thứ ba sửa đổi.
- Bị nghe/xem trộm: thông tin được truyền đi trên đường truyền có thể bị ai đó
“xâm nhập” vào lấy ra, tuy nhiên vẫn đến được người nhận mà không bị thay đổi.
- Bị thay đổi: thông tin bị chặn lại ở một nơi nào đó trên đường truyền và
bị thay đổi. Sau đó thơng tin đã bị thay đổi này được truyền tới cho người nhận như
khơng có chuyện gì xảy ra.
- Bị lấy cắp: thông tin bị lấy ra nhưng hồn tồn khơng đến được người nhận.
Để giải quyết vấn đề này, thông tin trước khi truyền đi sẽ được mã hố và khi
tới người nhận, nó sẽ được giải mã trở lại.
Để đảm bảo rằng chỉ người cần nhận có thể đọc được thơng tin mà ta gửi khi
biết rằng trên đường đi, nội dung thơng tin có thể bị theo dõi và đọc trộm, người ta
sử dụng các thuật tốn đặc biệt để mã hố thơng tin. Trong trường hợp này, trước
khi thông tin được gửi đi, chúng sẽ được mã hoá lại và kết quả là ta nhận được một
nội dung thơng tin “khơng có ý nghĩa”.
Khi thông điệp bị theo dõi hoặc bị bắt giữ trên đường đi, để hiểu được thông
tin của thông điệp, kẻ tấn cơng phải làm một việc đó là giải mã nó.
Thuật tốn mã hố càng tốt thì chi phí cho giải mã đối với kẻ tấn công càng
cao. Khi chi phí giải mã cao hơn giá trị thơng tin thì coi như đã thành cơng
trong vấn đề bảo mật.
Các thuật tốn mã hố thơng tin khá đa dạng nhưng có thể chia ra làm hai

hướng chính là mã hóa với khóa đối xứng và mã hóa với khóa bất đối xứng.


6

1.1.1. Mã hóa khóa đối xứng (mã hóa khóa riêng)
Hệ mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã là
“giống nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia. Vì vậy
phải giữ bí mật cả hai khóa. Đặc biệt có một số hệ mã hóa có khóa lập mã và khóa
giải mã trùng nhau ( k d  ke ), như hệ mã hóa “dịch chuyển” hay DES.
Khóa K

Bản rõ

Mã hóa

Khóa K

Bản mã

Giải mã

Bản rõ

Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng
1.1.1.1. Ưu điểm
- Tốc độ mã hóa/ giải mã nhanh. Đây là ưu điểm nổi bật của mã hóa khóa đối xứng.
- Sử dụng đơn giản: dùng một khoá cho cả 2 bước mã và giải mã.
1.1.1.2. Nhược điểm:
- Địi hỏi khố phải được 2 bên gửi/ nhận trao tận tay nhau vì khơng thể truyền

khố này trên đường truyền mà khơng được bảo vệ. Điều này làm cho việc sử dụng
khoá trở nên khơng thực tế.
- Khơng an tồn: càng nhiều người biết khố thì độ rủi ro càng cao.
- Trong trường hợp khoá mã hoá thay đổi, cần thay đổi đồng thời ở cả người gửi và
người nhận, khi đó rất khó có thể đảm bảo được là chính bản thân khố khơng
bị đánh cắp trên đường đi.
- Khơng xây dựng được các dịch vụ về chữ kí điện tử, hay thanh tốn điện tử.
1.1.1.3. Nơi sử dụng hệ mã khóa đối xứng
Hệ mã khóa đối xứng thường được sử dụng trong mơi trường mà khóa chung
có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ. Hệ mã
hóa khóa đối xứng thường dùng để mã hóa những bản tin lớn, vì tốc độ mã hóa và
giải mã nhanh hơn hệ mã hóa khóa cơng khai.


7

1.1.1.4. Một số thuật tốn mã hố khóa đối xứng
-

Hệ mã hóa cổ điển là hệ mã khóa đối xứng: dễ hiểu, dễ thực thi nhưng độ an

tồn khơng cao. Vì giới hạn tính tốn chỉ nằm trong bảng chữ cái, sử dụng trong bản
tin cần mã hóa, ví dụ là Z 26 nếu dùng các chữ cái tiếng Anh. Với hệ mã hóa cổ
điển, nếu biết khóa lập mã hay thuật tốn lập mã, có thể “dễ” xác định được bản rõ,
vì “dễ” tìm được khóa giải mã.
-

Hệ mã hóa DES (1973) là hệ mã hóa khóa đối xứng hiện đại, có độ an tồn

cao

-

RC2, RC4, RC5: Độ dài khố có thể lên tới 2048 bit.

-

IDEA (International Data Encryption Algorithm): Khóa có độ dài 128 bit,

thường dùng trong các chương trình email.
-

Blowfish: Khóa có độ dài 448 bit.

1.1.1.5/ Mã hóa DES
Mã hóa bản thanh tốn hợp đồng điện tử (vì bản hợp đồng điện tử thường dài
nên khơng thể mã hóa bằng RSA)
+ Quy trình mã hóa bằng hệ mã hóa DES:
Bản rõ chữ

(1)

Bản rõ số, dạng
nhị phân

(2)

Các đoạn 64 bit
rõ số

(3)


(5)
Bản mã chữ

(4)
Bản mã số

Các đoạn 64 bit
mã số

Hình 1.3. Quy trình mã hóa của hệ mã hóa DES


8

* Quy trình lập mã DES
Bản rõ: 64 bit
IP

L0

R0

L0

L0

f

k1


R1  L0  f  R0 , k1 

L1  R0

L0

f

k2

R2  L1  f  R1 , k2 

L2  R1

L0
R15  L14  f  R14 , k15 

L15  R14

L0

R16  L15  f  R15 , k16 

L0

f

L16  R15
IP 1


Hình 1.4.
Quy trình lập mã DES
Bản mã: 64 bit

k16


9

- Thực hiện mã hóa DES theo sơ đồ
+ Bản rõ là xâu x , bản mã là xâu y , khóa là xâu K , đều có độ dài 64 bit
+ Thuật tốn mã hóa DES thực hiện qua ba bước chính như sau:
Bước 1: Bản rõ x được hoán vị theo phép hoán vị IP thành IP  x  .
IP  x   L0 R0 , trong đó L0 là 32 bit đầu (Left), R0 là 32 bit cuối (Right). ( IP  x 

tách thành L0 R0 )
Bước 2: Thực hiện 16 vịng mã hóa với những phép toán giống nhau. Dữ liệu được
kết hợp với khóa thơng qua hàm f :
Li  Ri 1, Ri  Li 1  f  Ri 1, ki 

Trong đó  là phép tốn hoặc loại trừ của hai xâu bit (cộng theo module 2).
k1 , k2 ,..., k16 là các khóa con (48 bit) được tính từ khóa gốc K

Bước 3: Thực hiện phép hốn vị ngược IP 1 cho xâu R16 L16 , thu được bản mã y .
y  IP1  R16 , L16  .

1/ Bảng hoán vị ban đầu IP
Bit 1 của IP  x  là bit 58 của x 58


50

42

34

26

18

10

2

Bit 2 của IP  x  là bit 50 của x 60

52

44

36

28

20

12

4


62

54

46

38

30

22

14

6

64
57
59
61
63

58
49
51
53
55

48
41

43
45
47

40
33
35
37
39

32
25
27
29
31

24
17
19
21
23

16
9
11
13
15

8
1

3
5
7

48
47
46

16
15
14

56
55
54

24
23
22

64
63
62

32
31
30

45
44

43
42
41

13
12
11
10
9

53
52
51
50
49

21
20
19
18
17

61
60
59
58
57

29
28

27
26
25

2/ Bảng hoán vị cuối cùng IP 1
40 8
39 7
38 6
37
36
35
34
33

5
4
3
2
1


10

3/ Tính khóa con k1 , k2 ,..., k16 từ khóa gốc K
K

PC 1

C0


D0

LS1

LS1

C1

D1

LS 2

LS 2

C2

D2

PC  2

k1

PC  2

k2

PC  2

k16


………………………

LS16

LS16

C16

D16

Hình 1.5. Sơ đồ tính khóa con trong hệ mã hóa DES
Khóa K là xâu dài 64 bit, trong đó 56 bit là khóa, 8 bit để kiểm tra tính chẵn
lẻ nhằm phát hiện sai, các bit này khơng tham gia vào q trình tính tốn.


11

Các bit kiểm tra tính chẵn lẻ nằm ở vị trí 8, 16, 24,…, 64 được xác định sao
cho mỗi byte chứa một số lẻ các số 1. Bởi vậy mỗi sai sót đơn lẻ được xác định
trong mỗi nhóm 8 bit
4/ Tính khóa ki như sau:
Với khóa K độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hốn vị 56
bit cịn lại theo phép hoán vị PC 1 : PC 1 K   C0 D0 , trong đó C0 là 28 bit đầu,
D0 là 28 bit cuối của PC 1 K 

Với i  1, 2,...,16 ta tính Ci  LSi Ci1  , Di  LSi  Di 1  , trong đó LSi là phép
chuyển vị vịng sang trái: dịch 1 vị trí nếu i  1, 2,9,16 , dịch 2 vị trí với những vị trí
i khác.

Với i  1, 2,...,16 , khóa ki được tính theo phép hốn vị PC  2 từ

Ci Di : ki  PC  2 Ci Di  (48 bit)

Phép hoán vị PC 1 :
57 49 41 33 25
1
58 50 42 34
10 2
59 51 43
19 11 3
60 52

17
26
35
44

9
18
27
36

63
7
14
21

55
62
6
13


47
54
61
5

39
46
53
28

31
38
45
20

23
30
37
12

15
22
29
4

21

13


5

28

20

12

4

Phép hoán vị PC  2
14 17 11 24
3
28 15 6
23 19 12 4
16 7
27 20

:
1
21
26
13

5
10
8
2

41

30
44

52
40
49

31
51
39

37
45
56

47
33
34

55
48
53

46

42

50

36


29

32


12

5/ Tính hàm f  Ri 1 , ki  :

ki

Ri 1

E

E  Ri 1 



B1

B2

B3

B4

B5


B6

B7

B8

S1

S2

S3

S4

S5

S6

S7

S8

C1

C2

C3

C4


C5

C6

C7

C8

P

f  Ri 1 , ki 

Hình 1.6. Sơ đồ tính hàm f trong hệ mã hóa DES


13

- Mở rộng xâu Ri 1

(32 bit) thành xâu 48 bit, theo hàm mở rộng

E : Ri 1 (32 bit )    E  Ri 1   48 bit  . E  Ri 1  gồm 32 bit cũ của Ri 1 và 16 bit Ri 1

xuất hiện lần thứ hai.
- Tính E  Ri 1   ki trong đó E  Ri 1  (48 bit) và ki (48 bit)
Kết quả gồm 8 xâu

Bj

mỗi xâu


có 6 bit ( 8*6  48

Bj

):

B  B1 B2 B3 B4 B5 B6 B7 B8

Tính (3) C j  S j  B j  , j  1,...,8 . Dùng 8 bảng S1 , S2 ,..., S8
S j là bảng cố định với r * c số nguyên từ 0  15,  0  r  3, 0  c  15

S j thể hiện thay thế mỗi B j thành C j ( C j là xâu 4 bit) theo quy tắc:

- Giả sử B j  b1b2b3b4b5b6 (6 bit)
b1b6 xác định biểu diễn nhị phân của hàng r trong S j

 0  r  3

b2b3b4b5 xác định biểu diễn nhị phân cột c trong S j  0  c  15

Xâu C j (4 bit) được định nghĩa là biểu diễn nhị phân của phần tử S j  r, c 
Thực hiện 8 lần (3), ta nhận được xâu C  C1C2 ...C8 (32 bit)
Sau hoán vị P cho kết quả P  C  , đó chính là hàm f  R, k 
Phép hoán vị mở rộng E
32 1
2
3
4
4

5
6
7
8
8
9
10 11 12
12 13 14 15 16
16 17 18 19 20
20 21 22 23 24
24 25 26 27 28
28

29

30

31

32

:
5
9
13
17
21
25
29


Phép hoán vị P
16 7
20
1
15 23
2
8
24

:
21
26
14

29
5
32

12
18
27

28
31
3

17
10
9


19

6

22

11

4

25

13

30

1

+ Quy trình giải mã DES
Quy trình giải mã DES tương tự như quy trình lập mã, nhưng dùng các khóa theo
thứ tự ngược lại: k16 , k15 ,..., k1


14

1.1.2. Mã hóa khóa bất đối xứng (mã hóa khóa cơng khai)
Hệ mã hóa khóa bất đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã
là khác nhau ( k d  ke ), biết được khóa này cũng khó tính được khóa kia. Hệ mã này
cịn được gọi là hệ mã hóa khóa cơng khai.
Khóa lập mã là khóa cơng khai. Khóa giải mã là khóa bí mật.

Khóa mã
hóa Ke

Bản rõ

Mã hóa

Khóa giải
mã Kd

Bản mã

Giải mã

Bản rõ

Hình 1.7: Sơ đồ hoạt động của mã hóa khóa bất đối xứng
1.1.2.1. Ưu điểm
Thuật tốn được viết một lần, công khai cho nhiều lần dùng, cho nhiều người
dùng, họ chỉ cần giữ bí mật khóa riêng của mình.
Đây là loại mã hoá được sử dụng chủ yếu trên Internet. Một người muốn sử
dụng loại mã hoá này cần tạo ra một cặp khố cơng khai/ bí mật. A có thể
truyền khố cơng khai của mình tới bất cứ ai muốn giao tiếp với A mà không sợ
người khác lấy khố này. B sẽ mã hố thơng điệp của mình bằng khố cơng khai đó
và gửi tới cho A. Dĩ nhiên là chỉ mình A với khố bí mật của mình mới có thể giải
mã được thơng điệp của B. Như vậy kẻ tấn cơng, cho dù có biết khố cơng khai và
nội dung của thơng tin đã bị mã hố vẫn khơng thể giải mã được thơng tin. Lý do
là tính ngược khố bí mật từ khố cơng khai là rất khó khăn, nếu khơng nói là
khơng thể. Điều này đạt được trên nguyên tắc sử dụng các hàm một chiều trong
tốn học khi tính hàm y = f(x) là đơn giản nhưng ngược lại việc tính giá trị x khi

đã biết y là rất khó khăn.
Khi biết các tham số đầu vào của hệ mã, việc tính ra cặp khóa cơng khai và bí
mật là “dễ”, tức là trong thời gian đa thức.


15

1.1.2.2. Nhược điểm
Tốc độ mã hoá chậm: tốc độ mã hoá nhanh nhất của loại mã bất đối xứng
vẫn chậm hơn nhiều lần so với hệ mã khóa đối xứng. Do đó người ta thường kết
hợp 2 loại mã hố để nâng cao tốc độ mã hoá.
1.1.2.3. Nơi sử dụng hệ mã hóa khóa bất đối xứng
Hệ mã hóa khóa bất đối xứng thường được sử dụng chủ yếu trên các mạng
công khai như Internet, khi mà việc trao chuyển khóa bí mật tương đối khó khăn.
Đặc trưng nổi bật của hệ mã hóa khóa bất đối xứng là khóa cơng khai
(public key) và bản mã (criphertext) đều có thể gửi đi trên một kênh truyền tin
khơng an tồn. Có biết cả khóa cơng khai và bản mã thì thám mã cũng không dễ để
khám phá được bản rõ.
1.1.2.4. Một số thuật tốn mã hố khóa bất đối xứng
-

RSA: Loại mã này được dùng nhiều nhất cho web và chương trình email.

Độ dài khố thơng thường là từ 512 đến 1024 bit.
-

ElGamal: độ dài khóa từ 512 đến 1024 bit.

1.1.2.5. Hệ mã hóa RSA [3]
+ Sinh khóa (bí mật, cơng khai):

Chọn p, q là số nguyên tố lớn.
Tính n  p * q , Đặt P  C  Z n
Tính bí mật  (n)   p 1 *  q 1
Chọn khóa cơng khai b < Φ(n) và ngun tố cùng nhau với Φ(n).
Khóa bí mật a là nghịch đảo của b theo modulo   n : a * b  1 mod   n
Tập cặp khóa (bí mật, cơng khai) K   a, b  / a, b  Z n , a * b  1 mod   n  

n, b cơng khai, a, p, q bí mật.


16

+ Mã hóa
Input: bản rõ x  P , khóa cơng khai b
Output: bản mã y
Khóa cơng
khai b

Bản rõ x

Eb  x   xb  mod n 

Bản mã y

Hình 1.8. Sơ đồ mã hóa dữ liệu của hệ mã hóa khóa cơng khai RSA
+ Giải mã
Input: bản mã y, khóa bí mật a
Output: bản rõ x

Bản mã y


Khóa bí mật
a

Da  y   y a  mod n 

Bản mã x

Hình 1.9. Sơ đồ giải mã dữ liệu hệ mã hóa khóa cơng khai RSA
1.2. VẤN ĐỀ VỀ CHỮ KÍ ĐIỆN TỬ
Nếu việc sử dụng mật mã đã trở nên phổ biến, không chỉ trong quân đội mà
cịn trong thương mại và những mục đích cá nhân thì những đoạn tin và tài liệu điện
tử sẽ cần những chữ ký giống như các tài liệu giấy nhằm chứng thực nguồn gốc hay
hiệu lực của một tài liệu.
Cũng giống như trong thực tế, chữ ký để xác nhận cho người nhận rằng bức
thư đó do người này gửi mà không phải ai khác. Thông thường, để bảo vệ các văn
bản mã hoá người ta dùng chữ ký điện tử. Việc ứng dụng chữ ký điện tử cũng như
công nhận giá trị pháp lý của nó là điều kiện tiên quyết cho thương mại điện tử. Nếu
như việc giả mạo chữ ký viết tay hoặc con dấu là không đơn giản thì việc làm giả
một đoạn thơng tin nào đó là rất dễ dàng.


×