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

luận văn tốt nghiệp nghiên cứu kỹ thuật chữ ký điện tử và cài đặt thử nghiệm

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.57 MB, 77 trang )

i
LỜI CẢM ƠN
Sau quá trình nghiên c ứu và tìm hiểu, đề tài tốt nghiệp “Nghiên cứu kỹ thuật chữ ký
điện tử và cài đặt thử nghiệm” đã cơ bản hoàn thành. Để đạt được kết quả này, em đã
hết sức nỗ lực đồng thời em đã nhận được rất nhiều sự quan tâm, giúp đỡ v à ủng hộ của
các thầy cô, gia đình và bạn bè.
Em xin chân thành cảm ơn các thầy cô trong Khoa Thương mại điện tử cùng các thầy
cô giáo trong trương Cao đ ẳng Công nghệ thông tin Hữu nghị Việt - Hàn đã tận tình tận
tình giảng dạy, trang bị cho em những kiến thứ c quý báu trong ba năm học tập tại
trường.
Đặc biệt, em xin chân thành c ảm ơn cô Nguyễn Ngọc Huyền Trân đã tận tình hướng
dẫn, giúp đỡ, chỉ bảo v à đóng góp ý kiến cho em trong suốt thời gian thực hiện đề t ài này.
Con xin nói lên lòng biết ơn sâu sắc đối với mẹ đã chăm sóc, nuôi dạy con nên người
và luôn đi bên con trong nh ững lúc khó khăn nhất.
Xin cảm ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên em trong thời gian
học tập và nghiên cứu.
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi v à khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm
thông và tận tình chỉ bảo của quý thầy cô v à các bạn!
Ngày Tháng Năm 2010
Sinh viên thực hiện
Trần Thùy Dung
ii
MỤC LỤC
Trang
LỜI CẢM ƠN i
MỤC LỤC…… ii
DANH MỤC CÁC TỪ VIẾT TẮT iv
DANH MỤC CÁC BẢNG BIỂU v
DANH MỤC CÁC HÌNH VẼ vi
DANH MỤC TÀI LIỆU THAM KHẢO vii


PHẦN I: MỞ ĐẦU 1
1. Lý do chọn đề tài 1
2. Mục đích, mục tiêu và nhiệm vụ 2
3. Đối tượng và phạm vi nghiên cứu 2
4. Giả thiết nghiên cứu 2
5. Phương pháp nghiên c ứu 3
6. Bố cục đề tài 3
PHẦN II: NỘI DUNG 5
CHƯƠNG I: CƠ SỞ LÝ LUẬN 5
1.1 Kỹ thuật mã hóa 5
1.2 Mã hóa khóa bí m ật 6
1.2.1 Khái niệm 6
1.2.2 Một số thuật toán 7
1.2.2.1 Cơ chế mã hóa DES 7
1.2.2.2 Cơ chế mã hóa AES 8
1.3 Mã hóa khóa công c ộng 10
1.3.1 Khái niệm 10
1.3.2 Một số thuật toán mã hóa 11
1.3.2.1 Thuật toán mã hóa El Gamal 11
1.3.2.2 Thuật toán RSA 12
1.4 Khái niệm chữ ký điện tử 18
1.5 Mô hình hoạt động của chữ ký điện tử .19
1.6 Chứng thực điện tử 21
1.7 Vai trò của chữ ký điện tử 22
1.7.1 Khả năng xác định nguồn gốc 23
1.7.2 Tính toàn vẹn .23
1.7.3 Tính không thể phủ nhận 23
1.8 Hạn chế 24
1.8.1 Hạn chế về kỹ thuật 24
1.8.2 Hạn chế về thương mại 24

1.9 Kết luận 24
CHƯƠNG II: THƯƠNG M ẠI ĐIỆN TỬ TẠI VIỆT NAM 25
2.1 Tình hình phát tri ển thương mại điện tử 25
2.1.1 Hạ tầng công nghệ thông tin 25
2.1.2 Nguồn nhân lực. 27
iii
2.1.3 Cơ sở kinh tế .28
2.1.4 Cơ sở pháp lý 31
2.1.5 Các vấn đề về chính trị, xã hội 32
2.1.6 Tình hình bảo mật và thanh toán trực tuyến 33
2.2 Chữ ký điện tử tại Việt Nam 36
2.3 Đánh giá tình hình phát triển thương mại điện tử tại Việt Nam 38
2.4 Kết luận 40
CHƯƠNG III: CHỮ KÝ ĐIỆN TỬ VỚI THUẬT TOÁN R SA 41
3.1 Mô hình chữ ký điện tử sử dụng khóa công khai 41
3.2 Cách thức hoạt động của chữ ký điện tử v à chứng chỉ điện tử 41
3.3 Ký gửi chữ ký điện tử (M ã hóa) 42
3.4 Xác thực chữ ký điện tử (Giải m ã) 43
3.5 Xây dựng chương trình 44
3.5.1 Phân tích hệ thống 44
3.5.1.1 Mô hình USE – CASE hệ thống 44
3.5.1.2 Biểu đồ tuần tự (Sequence Diagram) 45
3.5.1.3 Lược đồ thuật toán 51
3.6 Các Form chương trình 53
3.6.1 Form chính 53
3.6.2 Form tạo chữ ký bằng RSA 54
3.6.3 Form xác thực chữ ký 55
3.7 Kết luận 56
PHẦN III: ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN 57
1. Kết quả đạt được 57

2. Tồn tại 57
3. Hướng phát triển đề t ài 58
PHỤ LỤC…… i
TÀI LIỆU THAM KHẢO x
iv
DANH MỤC CÁC TỪ VIẾT TẮT
Tiếng Anh
ADSL
Asynmetric Digital Subscriber Line
AES
Advanced Encryption Standard
ASEAN
Association of South East Asian Nations
APEC
Asia-Pacific Economic Cooperation
B2B
Business to Business
B2C
Business to Customer
C2C
Customer to Customer
CA
Certificate Authority
DES
Data Encryption Standard
Dial- up
Truy cập bằng hệ thống điện thoại thông th ường
ECVN
E.Commerce Viet Nam
EDI

Electronic Data Interchange
FPT
Financing and Promoting Technology
GPRS
General Package Radio Service
IAP
Internet Access providers
IBM
International Business Machines
ISP
Internet Service Provider
MIT
Information Teachnology Massachusett
OASIS
Organization for the Advancement of Structured Information Standards
PCs
Personal Computers
PKI
Public Key Infrastructure
POS
Poin Of Sell
RC5
Rons Cipher 5
RSA
Ron Rivest, Adi Shamir và Len Adleman
SHA
Secure Hash Algorithm
SSL
Secure Socket Layer
TVRO

Television Receiver Only
VASC
Vietnam Advanced Software Company
VCCI
Phòng Thương mại và Công nghiệp Việt nam
VDC
Công ty Điện toán và truyền số liệu
VNNIC
Vietnam Network Internet Center
VNPT
Vietnam Posts and Telecommunications Group
VPN
Virtual Private Networks
WLAN
Wireless Lan Area Network
WTO
World Trade Organi zation
Tiếng Việt
TMĐT
Thương mại điện tử
CNTT
Công nghệ thông tin
CKĐT
Chữ ký điện tử
v
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: Tốc độ mã hóa, giải mã của El Gamal 12
Bảng 1.2: Ví dụ mã hóa chuỗi SECURE 15
Bảng 1.3: Ví dụ giải mã chuỗi SECURE 16
Bảng 1.4: Tốc độ mã hóa, giải mã của RSA 17

Bảng 1.5: Quy đổi ký tự thành số 20
Bảng 2.1: Biểu đồ thể hiện tình hình triển khai đào tạo về TMĐT qua các năm 28
Bảng 2.2: Website TMĐT B2C, C2C trong danh sách x ếp hạng 100 website h àng đầu
Việt Nam năm 2008 31
Bảng 2.3: Các hình thức đặt đơn hàng của các doanh nghiệp qua các năm 2006 -2008 34
Bảng 2.4: Các phương thức thanh toán được sử dụng qua các năm 2006 -2008 35
vi
DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1: Mô hình mã hóa thông tin 5
Hình 1.2: Quá trình truy ền tin sử dụng mã khóa bí mật 7
Hình 1.3: Sơ đồ mã hóa và giải mã với DES 8
Hình 1.4: Sơ đồ mã hóa và giải mã với AES 9
Hình 1.5: Quá trình truyền tin sử dụng mã hóa công cộng 10
Hình 1.6: Mô hình ho ạt động chữ ký điện tử 19
Hình 1.7: Quá trình truy ền tin sử dụng chữ ký điện tử 20
Hình 2.1: Biểu đồ thể hiện tỷ lệ doanh nghiệp Việt Nam có Website năm 2008 30
Hình 2.2: Tương quan doanh thu của loại hình doanh nghiệp B2B và B2C năm 2008 30
Hình 3.1: Mô hình ch ữ ký điện tử 41
Hình 3.2: Mô hình t ạo chữ ký vào văn bản giữa hai bên gởi nhận . 42
Hình 3.3: Sơ đồ quá trình ký vào tài liệu điện tử 43
Hình 3.4: Sơ đồ quá trình xác thực chữ ký điện tử 44
Hình 3.5: Mô hình Use - Case hệ thống 44
Hình 3.7: Biểu đồ trình tự tiến trình phát sinh khóa 45
Hình 3.8: Mô hình USE - CASE tiến trình tạo chữ ký 46
Hình 3.9: Biểu đồ trình tự tiến trình tạo chữ ký điện tử 46
Hình 3.10: Mô hình USE - CASE tiến trình xác thực chữ ký 47
Hình 3.11: Biểu đồ trình tự tiến trình kiểm tra chữ ký 48
Hình 3.12: Mô hình USE - CASE tiến trình mã hóa 48
Hình 3.13: Biểu đồ trình tự tiến trình mã hóa . 49

Hình 3.14: Mô hình USE- CASE tiến trình giải mã 49
Hình 3.15: Biểu đồ trình tự tiến trình giải mã 50
Hình 3.16: Tiến trình phát sinh khóa 51
Hình 3.17: Tiến trình tạo chữ ký điện tử 51
Hình 3.18: Tiến trình kiểm tra chữ ký 52
Hình 3.19: Tiến trình mã hóa 52
Hình 3.20: Tiến trình giải mã 53
Hình 3.21: Form chính 53
Hình 3.22: Load file cần mã hóa và khóa để mã hóa 54
Hình 3.23: Form mã hóa 54
Hình 3.24: Form giải mã 54
Hình 3.25: Form phát sinh khóa RSA 55
Hình 3.26: Form xác th ực chữ ký 55
Hình 3.27: Thông báo ch ữ ký đã được đính kèm vào văn bản 56
Hình 3.28: Thông báo khi ki ểm tra toàn vẹn dữ liệu 56
vii
DANH MỤC TÀI LIỆU THAM KHẢO
STT
Tên tài liệu
Được tham khảo ở trang
1
[1]
19, 23
2
[4]
5, 6, 10, 19
3
[5]
5, 6, 11, 21
4

[6]
12, 13
5
[9]
28, 31, 32, 35, 40, 43
6
[10]
29
7
[11]; [12]
30
8
[13]; [14]
32
9
[15]
33
10
[16]
37
11
[17]
38
12
[18]
42
13
[19]
7, 8, 12, 13, 46, 47
14

[20]
12, 13
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 1
PHẦN I: MỞ ĐẦU
1. Lý do chọn đề tài
Công nghệ thông tin (CNTT) phát triển tạo nền tảng cho th ương mại điện tử
(TMĐT) nói riêng, các lĩnh vực khác nói chung phát triển mạnh mẽ. Ng ày nay, nói tới
TMĐT hầu hết người ta đều nghĩ ngay tới một nền kinh tế mới: nền kinh tế số, có nhiều
đặc điểm ưu việt và đem lại lợi ích cao, lợi nhuận lớn. Mặt bằng chung về nền kinh tế
số đều cho thấy sự phát triển v ượt bậc, đem lại lợi nhuận kinh tế cao, giảm thiểu các chi
phí không cần thiết,… Tuy nhiên tình hình áp d ụng TMĐT tại Việt Nam còn đang là
một vấn đề cần rất nhiều sự quan tâm nh ư về công nghệ, tri thức, t ư duy, thể chế pháp
luật, về sự thay đổi cách nh ìn thời đại mới của mỗi ng ười dân,…Thực tế TMĐT Việt
Nam hiện nay cho thấy: các website TMĐT chưa có chiều sâu công nghệ, đội ngũ nhân
lực còn non kém về trình độ, tay nghề, hầu hết các trang web chỉ chạy đua về h ình thức
mà xem nhẹ các yếu tố nội dung, th ương mại vốn là một trong những yếu tố quan trọng
cấu thành nên một Website TMĐT. Bên cạnh đó cũng có rất nhiều trang web tiến h ành
TMĐT song kết quả mang lại không cao, l ượng người truy nhập, tham gia trang web v à
tiến hành giao dịch ít, … có thể vì các nguyên nhân như: chất lượng phục vụ chưa tốt,
hàng hóa, dịch vụ giao dịch qua mạng không đảm bảo chất l ượng, chế độ an toàn, bảo
mật thông tin người dùng, thông tin về công ty, về hàng hóa chưa hiệu quả,… gây ra
tình trạng mất lòng tin với các dịch vụ trên mạng.
Vì vậy, để tránh các rủi ro có thể xảy ra tr ên môi trường mạng, đảm bảo tính an
toàn, bảo mật cho các thông điệp, các h àng hóa, dịch vụ và đảm bảo tính công bằng cho
các bên tham gia giao d ịch, em tiến hành thực hiện đề tài:
“Nghiên cứu kỹ thuật chữ ký điện tử v à cài đặt thử nghiệm”
Với phạm vi nghiên cứu ở tầm vi mô, cùng với điều kiện, tình hình phát triển
TMĐT tại Việt Nam đang ở mức trung b ình vì thế đề tài do em nghiên cứu sẽ còn nhiều
vấn đề chưa thực sâu xát với bước tiến của công nghệ ng ày nay. Em rất mong nhận

được sự đóng góp, giúp đỡ từ quý thầy cô v à các bạn!
Em xin chân thành c ảm ơn!
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 2
2. Mục đích, mục tiêu và nhiệm vụ
 Mục đích
Tìm hiểu tình hình TMĐT, nghiên cứu và thử nghiệm được kỹ thuật Chữ ký điện tử
(CKĐT) tại Việt Nam
 Mục tiêu
Mục tiêu chính của đề tài do em nghiên cứu là tìm hiểu và nghiên cứu các vấn đề
liên quan đến CKĐT, phân tích rõ các ưu điểm, nhược điểm của kỹ thật n ày và ứng
dụng kỹ thuật này tại Việt Nam bằng cách c ài đặt và sử dụng kỹ thuật CKĐT trong các
giao dịch thông qua mạng Internet
 Nhiệm vụ
Để thực hiện được mục đích đã đề ra, em cần phải thực hiện các nhiệm vụ sau:
- Nghiên cứu, tìm hiểu cơ sở lý thuyết liên quan tới CKĐT
- Phân tích những lợi ích khi áp dụng CKĐT
- Tìm hiểu và phân tích thực trạng phát triển TMĐT tại Việt Nam
- Tìm hiểu thực trạng nghiên cứu, quá trình ứng dụng CKĐT tại Việt Nam hiện
nay, phân tích và đánh giá nh ững ưu điểm, nhược điểm của các quá tr ình đó
- Xây dựng chương trình mô phỏng CKĐT
- Phát triển sáng kiến, khắc phục đ ược những nhược điểm
3. Đối tượng và phạm vi nghiên cứu
 Đối tượng
- Lý thuyết liên quan CKĐT và các thuật toán mã hóa
- Thực trạng TMĐT và CKĐT tại Việt Nam
- Kỹ thuật tạo khóa, mã hóa, giải mã bằng thuật toán RSA v à chương trình Demo
RSA, mô phỏng quá trình tạo khóa, mã hóa và giải mã thông tin
 Phạm vi nghiên cứu: Thị trường TMĐT Việt Nam
4. Giả thiết nghiên cứu

Chữ ký điện tử (CKĐT) là một phương pháp có thể tránh được hầu hết các rủi ro có
thể đe dọa tới an to àn thông tin trên mạng như tin tặc và các chương trình phá hoại; các
đoạn mã nguy hiểm; gian lận thẻ tín dụng; sự lừa đ ảo; ăn trộm hoặc nghe lén thông tin
qua mạng,…Đặc biệt khi sử dụng CKĐT có thể đảm bảo tính công bằng cho các b ên
tham gia giao dịch, xác định được các chủ thể tham gia giao dịch, xác định đ ược thời
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 3
điểm cũng như địa điểm tham gia giao dịch thông qua chứng thực điện tử, hỗ trợ đắc
lực cho việc đảm bảo các tiến tr ình giao dịch diễn ra xuyên suốt
5. Phương pháp nghiên c ứu
- Tìm hiểu cơ sở lý thuyết liên quan CKĐT
- Nghiên cứu thực trạng TMĐT tại Việt Nam trong thời gian qua
- Tìm hiểu tình hình áp dụng CKĐT tại Việt Nam
Quá trình tìm hiểu, nghiên cứu dựa trên nền tảng kiến thức học phần: “Th ương mại
điện tử” qua các giáo tr ình:
- Giáo trình thương mại điện tử căn bản tr ường đại học Kinh tế quốc dân
- Tài liệu trên mạng Internet, tài liệu từ các sở ban ngành có liên quan như VNPT,
báo cáo tình hình TMĐT các năm 2006, 2007, 2008 c ủa Bộ truyền thông v à thông tin
Việt Nam, Bộ Công Th ương Việt Nam
- Các bài báo cáo, bài thuy ết trình, bài viết liên quan đến TMĐT, CKĐT,…từ đó
phân tích, đưa ra nh ững kết luận chung và phương hướng khắc phục những tồn tại.
6. Bố cục đề tài
Phần I: MỞ ĐẦU
Phần II: NỘI DUNG
Chương 1: Cơ sở lý luận
1.1 Kỹ thuật mã hóa
1.2 Mã hóa khóa bí mật
1.3 Mã hóa khóa công c ộng
1.4 Khái niệm Chữ ký điện tử
1.5 Mô hình hoạt động của Chữ ký điện tử

1.6 Chứng thực điện tử
1.7 Vai trò của Chữ ký điện tử
1.8 Hạn chế
1.9 Kết luận
Chương 2: Thương mại điện tử tại Việt Nam
2.1 Tình hình phát triển thương mại điện tử tại Việt Nam
2.2 Chữ ký điện tử tại Việt Nam
2.3 Đánh giá tình hình thương mại điện tử Việt Nam
2.4 Kết luận
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 4
Chương 3: Chữ ký điện tử với thuật toán RSA
3.1 Mô hình chữ ký điện tử sử dụng khóa công khai
3.2 Cách thức hoạt động của chữ ký điện tử v à chứng thực điện tử
3.3 Quá trình Ký gửi chữ ký
3.4 Quá trình xác nhận chữ ký
3.5 Xây dựng chương trình
3.6 Kết luận
Phần III: KẾT LUẬN V À HƯỚNG PHÁT TRIỂN ĐỀ T ÀI
3.1 Kết quả đạt được
3.2 Tồn tại
3.3 Hướng phát triển đề tài
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 5
PHẦN II: NỘI DUNG
CHƯƠNG I: CƠ SỞ LÝ LUẬN
Để bắt đầu tìm hiểu về kỹ thuật CKĐT, trong chương này, chúng ta t ìm hiểu các lý
thuyết liên quan đến mã hóa thông tin, các thuật toán đơn giản, thông dụng. Qua đó
tìm hiểu kỹ hơn về CKĐT cũng như cách thức xác nhận CKĐT.
1.1 Kỹ thuật mã hóa

Mã hóa thông tin là quá trình chuy ển các văn bản hay các t ài liệu gốc thành các văn
bản, tài liệu dưới dạng mật mã để bất kỳ ai ngoài người gửi và người nhận, đều không
thể đọc được.
Hình 1.1: Mô hình mã hóa thông tin
Mục đích chính của các kỹ thật m ã hóa là đảm bảo an toàn cho thông tin được lưu
trữ và trong quá trình truy ền phát. Mã hóa là một kỹ thuật phổ biến hiện nay, có khả
năng đảm bảo một số khía cạnh an ninh trong TMĐT như:
- Đảm bảo tính toàn vẹn của dữ liệu (Integrity): dữ liệu không bị thay đổi trong
quá trình truyền
- Đảm bảo tính xác thực (Authority): Xác thực rằng chính người đó đã gửi thông
tin và người còn lại có khóa riêng mới là người nhận chứ không ai khác
- Đảm bảo tính bí mật của thông tin (C onfidentiality): Dữ liệu không bị xem bởi
“bên thứ 3”
- Chống phủ định (Non -repudiation): Là cơ chế người thực hiện hành động
không thể chối bỏ những gì mình đã làm, có thể kiểm chứng được nguồn gốc hoặc
người đưa tin
Kỹ thuật mã hóa được sử dụng từ thời Ai Cập cổ đại. Theo kỹ thuật cổ truyền,
thông điệp được mã hóa bằng tay, sử dụng các ph ương pháp dựa trên các chữ cái của
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 6
thông điệp. Hai cách mã hóa thường được sử dụng là kỹ thuật thay thế và kỹ thuật
hoán vị. Theo kỹ thuật thay thế, mỗi chữ cái đ ược thay thế bởi một chữ cái khác. Nếu
“a” được thay bằng “b”, “b” đ ược thay bằng “c”, “c” đ ược thay bằng “d”, v à cứ như
thế thì chữ “SIGNATURE” sẽ đ ược mã hóa thành “TJHMBUVSF”. Theo k ỹ thuật
hoán vị, thứ tự các chữ cái sẽ bị thay đổi. G iả sử, ta hoán đổi vị trí các ký tự, chữ đầu
thành chữ cuối, cứ lần lượt như thế, chữ “SIGNATURE” có thể bị xáo th ành
“ERUTANGIS”.
Hệ thống mã hóa hiện đại thường được số hóa. Thuật toán dựa tr ên các bit đơn của
thông điệp chứ không dựa tr ên ký hiệu các chữ cái. Máy tính l ưu trữ dữ liệu dưới dạng
chuỗi nhị phân, trình tự của các số 0 và 1. Mỗi ký tự được gọi là một bit. Các mã khóa

và mã mở là các chuỗi nhị phân với độ dài khóa được định sẵn. Hiện nay hai kỹ thuật
mã hóa cơ bản được sử dụng để mã hóa thông tin trên internet là mã hóa khóa bí mật
và mã hóa khóa công cộng.
1.2 Mã hóa khóa bí mật
1.2.1 Khái niệm
Mã hóa khóa bí m ật hay còn gọi là mã hóa khóa riêng hoặc mã hóa đối xứng là
phương pháp mã hóa chỉ dùng một khóa cho cả quá tr ình mã hóa và quá trình gi ải mã.
Mã khóa bí mật sử dụng một khóa đối xứng để m ã hóa và giải mã thông điệp. Trong
trường hợp này, người gửi mã hóa một thông điệp sử dụng khó a bí mật đối xứng, sau
đó gửi thông điệp đã mã hóa cùng khóa bí m ật cho người nhận, người nhận sẽ sử dụng
khóa này để giải mã thông điệp. Kỹ thuật này được được IBM phát triển, áp dụng cho
cơ quan chính phủ Mỹ năm 1977 được gọi là tiêu chuẩn mã hóa dữ liệu (DES- Data
Encryption Standard)
Ví dụ 1: Khách hàng X muốn gửi một đơn đặt hàng cho người bán Y. X mã hóa
đơn đặt hàng của mình bằng một mã khóa, rồi gửi đơn đặt hàng đó cho Y. Khi nh ận
được đơn đặt hàng đã mã hóa, Y giải mã đơn đặt hàng bằng chính khóa mà X đã sử
dụng.Việc sử dụng loại khóa n ày rất đơn giản và dễ dàng.
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 7
Hình 1.2: Quá trình truyền tin sử dụng mã khóa bí mật
Một vấn đề gặp phải khi sử dụng m ã khóa bí mật là trước khi thực hiện giao dịch,
truyền thông tin, để đảm bảo an to àn cho dữ liệu, hai người gửi và nhận phải tìm cách
trao đổi khóa đối xứng một cách an to àn. Họ có thể liên lạc với nhau qua bưu điện, điện
thoại, tuy nhiên cách này cũng không thể đảm bảo rằng không có ng ười nghe lén thông
tin qua điện thoại của bạn, hoặc có ng ười mạo danh và nhận bưu phẩm là khóa bí mật.
Hơn nữa cách này càng không phù h ợp với hệ thống thông tin lớn. Tính to àn vẹn và bí
mật của thông tin có thể bị lộ trong quá tr ình chuyển giữa người gửi và người nhận. Bên
cạnh đó, cả hai bên trong giao dịch đều dùng một khóa để mã hóa và giải mã, vì thế
chúng ta không th ể xác minh được ai là người đã tạo ra thông điệp. Để mỗi thông điệp
gửi cho một người được an toàn, chúng ta phải tạo ra các mật mã riêng cho từng người

nhận. Giả sử có n người tham gia giao dịch th ì chúng ta phải tạo ra n(n-1)/2 khóa (trong
đó, n là tổng số người tham gia giao dịch) . Như vậy số lượng khóa sẽ rất nhiều, gây khó
khăn cho nhà quản lý.
Có thể tóm tắt những ưu và nhược điểm của việc sử dụng m ã hóa khóa bí mật.
– Ưu điểm
• Là một phương pháp mã hóa đơn giản và hữu dụng trong một số tr ường hợp
– Khuyết điểm
• Các bên tham gia trong quá trình mã hóa c ần tin tưởng nhau trong việc trao m ã khóa
• Rất khó để thực hiện việc phân phối an to àn các mã khóa bí mật với hàng ngàn
khách hàng trực tuyến
• Tốn một khoảng chi phí không nhỏ cho việc tạo một m ã khóa riêng và chuyển
nó tới khách hàng muốn giao dịch
1.2.2 Một số thuật toán
1.2.2.1 Cơ chế mã hóa DES
 Giới thiệu
DES (Data Encryption standard) được văn phòng tiêu chuẩn của Mỹ (U.S. National
Bureau of Standards) công bố vào năm 1971 để sử dụng trong các c ơ quan Chính phủ
liên bang.
DES làm việc trên từng khối dữ liệu với kích th ước không đổi. Do đó, to àn bộ văn
bản mã trước hết phải chia thành từng khối dữ liệu với kích th ước phù hợp, cụ thể đối
với giải thuật DES mỗi khối là 64 bit. Kế đến phải tạo một khóa d ài 64 bit, trong đó 56
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 8
bit được dùng trực tiếp bởi bộ mã và 8 bit còn lại dùng để kiểm soát lỗi. Khối 56 bit
khóa được dùng để mã hóa từng khối 64 bit văn bản gốc th ành 64 bit văn bản mật mã sẽ
được truyền lên mạng. Bên cạnh đó, dùng một khóa với bên mã để giải mã thông tin
nhận được và lần lượt tiến hành kết nối các khối này lại thu được văn bản ban đầu.
 Đánh giá
Năm 1979, Hellman đ ã viết một bài báo với tiêu đề "DES sẽ hoàn toàn không an
toàn trong vòng mười năm nữa". Tuy nhiên, nếu số bit dùng cho khóa càng l ớn thì khóa

càng trở nên xác định và càng khó để ai đó có thể thực hiện đ ược ý đồ giải mã một cách
bất hợp pháp.
Nếu dùng 56 bits khóa trong gi ải thuật DES sẽ có 2
56
= 7.2*19
17
khả năng chọn các
khóa khác nhau.
 Mở rộng
Để tăng cường độ an toàn người ta nghĩ tới việc m ã hóa một khối văn bản nhiều lần.
Do vậy, sự tiếp cận của Triple -DES là mã hóa 3 lớp nhằm tăng cường độ an toàn. Quá
trình này chính là mã hóa d ữ liệu với một khóa, sau đó giải m ã với một khóa thứ hai và
cuối cùng là mã hóa lần nữa với khóa thứ ba.
Quá trình trên được minh họa như sau:
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -

- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
Hình 1.3: Sơ đồ mã hóa và giải mã với DES
1.2.2.2 Cơ chế mã hóa AES
Thuật toán mã hóa khối Rijndael được thiết kế để sử dụng cho các thao tác đ ơn giản
trên toàn byte. Bên c ạnh đó, thuật toán cũng cung cấp tính uyển chuyển cho AES - đó là
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 9
cả kích thước khóa lẫn kích th ước khối cần mã hóa có thể được chọn bất kỳ các giá trị
128, 192 hoặc 256 bit.
Để mã hóa khối dữ liệu bằng Rijndael ta thực hiện một số vòng lặp chính. Số vòng
lặp chính trong Rijndael nh ư sau:
- 9 vòng nếu cả khối cần mã hóa và khóa có cùng chi ều dài là 128 bits.
- 11 vòng nếu hoặc khối dữ liệu hay khóa l à 192 bits, và không cái nào có kích
thước lớn hơn 192 bits.
- 13 vòng nếu hoặc khối dữ liệu hay khóa có chiều d ài 256 bits.
Vòng lặp chính bao gồm các b ước:
- ByteSub (Substitution Byte): m ỗi byte của khối đ ược thay thế bằng một giá trị

- ShiftRow (Shift Rows) : đây là quá trình chuyển đổi các dòng.
- MixColumn (Multiply columns) : thi hành quá trình nhân ma tr ận, khi này mỗi
cột được nhân với ma trận M
4x4
.
- AddRoundKey (Xored by key): quá trình này ch ỉ đơn giản XOR khóa con cho
kết quả của vòng hiện hành.
Vòng cuối cùng chỉ thi hành việc chuyển đổi: ByteSub, ShiftRow, AddRoundKey
Toàn bộ quá trình mã hóa của AES có thể được minh họa như sau:
Hình 1.4: Sơ đồ mã hóa và giải mã với AES
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 10
1.3 Mã hóa khóa công cộng
1.3.1 Khái niệm
Mã hóa khóa công cộng hay còn gọi là mã hóa khóa công khai ho ặc mã hóa khóa
bất đối xứng. Đây là phương pháp s ử dụng hai mã khóa, một mã khóa sử dụng trong
quá trình mã hóa và m ột mã khóa sử dụng trong quá trình giải mã. Hai khóa này có
quan hệ với nhau về mặt thuật toán sao cho dữ liệu đ ược mã hóa bằng khóa này sẽ được
giải mã bằng khóa kia.
Mỗi người sử dụng có hai loại m ã khóa: mã khóa bí m ật chỉ riêng người gửi biết còn
mã khóa công cộng được thông báo rộng rãi cho những người sử dụng khác trong hệ
thống. Để gửi một thông điệp an to àn, người gửi sử dụng mã khóa công cộng của người
nhận để mã hóa thông điệp. Người nhận khi nhận được thông điệp (đã được mã hóa) sẽ
sử dụng mã khóa cá nhân của mình để giải mã thông điệp. Vì không ai có thể biết được
mã khóa bí mật của người nhận nên không ai có thể đọc được thông điệp đó, nên thông
điệp được đảm bảo.
Hình 1.5: Quá trình truyền tin sử dụng mã hóa công cộng
Người ta có thể sử dụng cả m ã hóa bí mật và mã hóa công cộng để mã hóa thông
điệp. Nếu khách hàng sử dụng mã khóa công cộng của người bán để mã hóa thông điệp,
lúc này có thể xác minh được người nhận là người bán. Tuy nhiên người bán lại không

thể xác minh được người gửi là ai. Nếu sử dụng mã khóa bí mật của người gửi để mã
hóa thông điệp, khi đó thông điệp chỉ có thể đ ược giải mã bằng mã hóa công cộng của
người gửi. Như vậy có thể xác minh được người gửi là ai. Hai phương pháp có th ể kết
hợp để xác minh cả hai b ên tham gia giao dịch, theo đó cả hai loại m ã khóa công cộng
và mã khóa bí mật đều sử dụng để m ã hóa và sau đó người nhận cũng sử dụng cả hai
khóa này để giải mã. Bởi mỗi người đều có một cặp khóa, khóa bí mật v à khóa công
cộng cho mình nên giả sử khi có n người tham gia giao dịch thì sẽ tạo ra 2n khóa. Dựa
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 11
trên giả thuyết này chúng ta có thể di đến một kết luận để đảm bảo sử dụng ph ương
pháp mã hóa tốt nhất, giả sử n là số người tham gia giao dịch, ta có phương trình toán
học: [n(n-1)/2] - 2n>=0 (trong đó, n là tổng số người tham gia giao dịch)
Giải phương trình ta có: nếu n>5 ta nên sử dụng phương pháp mã hóa khóa công
cộng, nếu n<=5 ta n ên sử dụng phương pháp mã hóa khóa bí mật.
Có thể tóm tắt những ưu và nhược điểm của việc sử dụng mã hóa khóa công cộng
– Ưu điểm
• Phù hợp khi có nhiều bên tham gia truyền thông trên mạng, do đó việc cung
cấp khóa công khai an to àn hơn
• Dùng 2 khóa đảm bảo an toàn thông tin
– Khuyết điểm
• Phải dùng 2 khóa cho một quá trình truyền
1.3.2 Một số thuật toán mã hóa
1.3.2.1 Thuật toán mã hóa El Gamal
El Gamal là sự lựa chọn cho các tổ chức lớn cần sự bảo mật cao, an to àn của dữ liệu,
nhưng nó ít phổ biến và thông dụng như là RSA. được xây dựng bởi Taher ElGamal.
 Thuật toán
- Chọn số nguyên tố p
- Chọn số nguyên tố k
- Chọn g và x thoả: g< p và x <p
- Tính y = g

x
mod p
- Từ đây, ta có cặp Key (Key Pair)
Private Key = (x)
Public Key = (y, g, p)
- Quy tắc mã hoá:
a = g
k
mod p
b = m* y
k
mod p
- Quy tắc giải mã:
m = b / (a
x
) mod p
- Với:
a và b là: văn bản bị mã hoá (Cipher text)
m = văn bản chưa bị mã hoá (Plain text)
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 12
 Ví dụ 2
1. Mã hoá và giải mã ký tự P trong bảng chữ cái, ứng với vị trí 16
2. Chọn p = 2579
3. Chọn k = 853
4. Chọn g và x thoả: g < p và x< p nên g = 2, x = 765
5. Tính y = g
x
mod p = 2
765

mod 2579  y = 949
6. Ta có cặp key:
Public Key = (x) = 765
Private Key = (y, g, p) = (949, 2, 2579)
- Mã hoá
a = g
k
mod p = 2
853
mod 2579 = 435
b = m * y
k
mod p = 16 * 949
853
mod 2579 = 259
- Giải mã
m = b / (a
x
) mod p = 259/ (435
765
) mod 2579 = 16.
Sau khi giải mã xong, ta thấy dữ liệu được khôi phục giống nh ư trạng thái ban đầu.
Ở ví dụ này, El Gamal thực hiện việc mã hoá và giải mã đều trên những con số. Nếu
như bị người khác bắt được, thì họ không thể biết và đoán được gì.
El Gamal sử dụng key có kích th ước lớn, từ 512 đến 1024 bits. Giúp cho dữ liệu
được an toàn, bảo mật trên đường truyền.
Tốc độ mã hoá và giải mã thì chậm hơn so với RSA, ít được dùng phổ biến và rộng
rãi như là RSA
Bảng 1.1: Tốc độ mã hóa, giải mã của El Gamal
1.3.2.2 Thuật toán RSA

Đây là thuật toán phổ biến nhất trong mã hóa khóa công cộng. Ngày nay, RSA đư ợc
sử dụng ở hầu hết ở các công ty lớn trên thế giới và đặc biệt là ứng dụng của kỹ thuật
này với CKĐT trong hệ thống TMĐT. Dựa trên những ưu điểm, em đã chọn thuật toán
này để làm thuật toán xuyên suốt trong đề tài, xây dựng nên chương trình mô phỏng
CKĐT. Dưới đây là phần trình bày về đặc điểm và ưu điểm của thuật toán n ày.
Length of ‘p’
512 bit
768 bits
1,024 bits
Encryption
0.33 s
0.80 s
1.09 s
Decryption
0.24 s
0.58 s
0.77 s
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 13
 Khái niệm
RSA là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù
hợp với việc tạo ra CKĐT đồng thời với việc mã hóa. Nó đánh dấu một sự tiến bộ vượt
bậc của lĩnh vực mật m ã học trong việc sử dụng khóa công cộng. RSA đang đ ược sử
dụng phổ biến trong TMĐT và được cho là đảm bảo an toàn cho thông tin với điều kiện
độ dài khóa đủ lớn.
Thuật toán RSA được Ron Rivest, Adi Shamir v à Len Adleman mô t ả lần đầu tiên
vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT). T ên của thuật toán lấy từ
3 chữ cái đầu của tên 3 tác giả.
Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ v ào năm 1983, số
đăng ký 4,405,829. B ằng sáng chế này hết hạn vào ngày 21 tháng 9 năm 2000. Tuy

nhiên, do thuật toán đã được công bố trước khi có đăng ký bảo hộ n ên sự bảo hộ hầu
như không có giá tr ị bên ngoài Hoa Kỳ.
Sự khác biệt giữa một hệ thống m ã bí mật với một hệ thống m ã công khai là hệ
thống mã công khai dùng hai khóa khác nhau để mã hóa và giải mã. Do đó, một bộ mã
công khai sẽ bao gồm hai khóa: một khóa dành cho người mã hóa, thường được công
khai và khóa còn lại dùng cho người giải mã, thường được giữ bí mật.
 Thuật toán mã hóa
Để thực hiện được ý đồ trên Rivest, Shamir và Adleman đ ã đề ra một phương pháp
dựa trên nhận xét: có thể dễ d àng sinh ra hai nguyên t ố lớn và nhân chúng lại với nhau
nhưng rất khó khăn khi muốn phân tích thừa số cho tích của chúng.
Thuật toán RSA chủ yếu dựa tr ên 3 số nguyên dương (d, e, n) v ới:
d: số mũ bí mật
e: số mũ công khai
n: hằng số của phương pháp
Cặp (e, n) được gọi là khoá công khai (Public Key)
Cặp (d, n) được gọi là khoá bí mật (Private Key)
Cơ sở toán học của hệ m ã RSA là định lý Euler:
“Nếu n và a là 2 số nguyên tố cùng nhau, ta có a
Ф(n)
= 1(mod n), trong đó Ф(n) là số
nguyên trong đoạn [1, n], và nguyên tố cùng nhau với n”.
Ta có:
Nếu n là số nguyên tố thì Ф(n) = n -1
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 14
Nếu n là tích của 2 số nguyên tố p và q ( n = p * q) thì Ф(n) = (p – 1) *(q – 1).
Giả sử thông điệp số m là một số nguyên trong đoạn [2, n -1], sau đó, m sẽ được mã
hoá bằng khoá công khai (e, n) thành s ố nguyên c: c = m
e
mod n.

Nếu số nguyên d trong khoá bí m ật (d, n) thoả điều kiện: e * d = 1(mod Ф(n)) thì
tồn tại một số nguyên k sao cho e * k = k* Ф(n) +1. Và:
c
d
(mod n) = (me (modn)) d (mod n)
= me*d (mod n)
= [m*k. (n) (mod n)] * [m (mod n)]
= [k (mod n)] * [m (mod n)]
= m.
Có thể tìm lại thông điệp m từ khoá bí mật( d, n) v à bản mã c theo công thức:
m = c*d mod n.
 Các bước thực hiện
1. Tạo ngẫu nhiên 2 số nguyên tố p, q phân biệt, gần nhau và rất lớn, sau đó tính:
n = p * q và Ф(n) = (p -1) * (q -1)
2. Chọn ngẫu nhiên 1 số e sao cho 1 < e < Ф(n), với e là số nguyên tố cùng nhau
với Ф(n).
3. Tính số nghịch đảo d của e đối với Ф(n): 1 < d < Ф(n), e*d = 1(mod Ф(n))
- Mã hoá: B muốn gửi thông điệp m cho A với yêu cầu cần bảo mật thông tin.
B yêu cầu A gửi khoá công khai (e, n)
B dùng khoá (e, n), mã hoá thông điệp m thành c theo công thức: c = m
e
mod n
B sẽ gửi c cho A.
- Giải mã: dùng khoá bí mật (d, n), A sẽ tính m = c
d
mod n, để có thể khôi phục lại
dữ liệu gốc ban đầu do B g ửi đến.
 Chú ý
Dữ liệu khi được mã hoá sẽ biến thành những con số, có kích thước phụ thuộc vào
số n (thường là nhỏ hơn n). Khi người nhận nhận được dữ liệu bị mã hoá, trước khi giải

mã, nếu người nhận muốn đọc thì đó chỉ là những con số vô nghĩa, không thể đoán
được nội dung. Để đọc đ ược nội dung thì người nhận phải giải mã lại dữ liệu bị mã hoá
trên, dùng Private Key c ủa mình phù hợp với Public Key đã gửi cho người gửi.
Khi giải mã, dựa vào những số được mã hoá bằng Public Key, ng ười dùng sẽ giải mã
dữ liệu bằng Private Key của m ình. Thật sự, đây cũng là những con số, dựa vào số d.
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 15
Public Key là khóa chung (người nào cũng có thể biết) nh ưng để giải mã được văn
bản bị mã hoá thì phải dùng Private Key phù hợp với Public Key tr ên, và Private Key
này là bí mật, chỉ người cần giải mã mới biết đến.
 Ví dụ 3
Trước hết, ta chọn hai số nguyên tố p và q, với p = 5, q = 7
Tính n = p*q = 5 * 7 = 35
Z = (p-1) * (q – 1) = (5 -1)(7-1) = 24
Tiếp đến, chọn e thoả điều kiện 1< e< n  1<e<35  chọn e = 5
Tìm d, sao cho e * d -1 chia hết cho z
Ta có: ( 5 * 29- 1) thì thoả chia hết cho 24  chọn d = 29
Do đó, ta có cặp key (Key Pair) nh ư sau:
Public Key = (n, e) = (35, 5)
Private Key = (n, d) = (35, 29)
Áp dụng để mã hoá chuỗi: SECURE
Trong bảng chữ cái, có tất cả 26 ký tự, các ký tự ứng với một con số. Do đó, ta có
bảng sau:
Nội dung
Vị trí (m)
M
e
Nội dung bị mã hoá (c)
S
19

2476099
24
E
5
3125
10
C
3
243
33
U
21
4084101
21
R
18
1889568
23
E
5
3125
10
Bảng 1.2: Ví dụ mã hóa chuỗi SECURE
Nếu tại đây, dữ liệu tr ên đường chuyển đến người nhận bị một người khác bắt được,
anh ta sẽ không biết được nội dung muốn nói điều g ì, mà chỉ nhận được đó chỉ là những
con số, không nói lên được điều gì. Nếu muốn đọc được nội dung, anh ta phải có
Private Key, mà ứng với Public Key d ùng để mã hoá dữ liệu trên thì phải có Private
Key thích hợp. Do đó, dữ liệu sẽ an to àn.
Khi dữ liệu đến tay người nhận, muốn khôi phục lại dữ liệu gốc ban đầu, ta sẽ
decrypt lại với n = 35, d = 29

ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 16
Nội dung bị mã hoá (c)
(m)
Dữ liệu gốc
24
19
S
10
5
E
33
3
C
21
21
U
23
18
R
10
5
E
Bảng 1.3: Ví dụ giải mã chuỗi SECURE
Public Key = (n,e) = (35, 5).
Private Key = (n,d) = (35,29).
Như vậy, khi mã hoá dữ liệu dùng thuật toán RSA, dữ liệu sẽ được gửi đi dưới dạng
những con số, bằng cách d ùng Public Key để mã hoá. Trên đường truyền, nếu hacker
bắt được thì đó cũng chỉ là những con số, không thể đoán đ ược gì. Khi nhận được dữ
liệu bị mã hoá, người nhận sẽ dùng Private Key phù hợp để giải mã ngược trở lại. Ở

trường hợp có n người sẽ có 2n khóa. Mỗi ng ười sẽ có một cặp khóa, nh ưng các khóa
này không hề giống nhau và không thể thay thế cho nhau để giải m ã thông tin mà chỉ có
khóa còn lại trong cặp khóa của ng ười nhận mới có thể giải mã được. Dựa trên thuật
toán đã trình bày cùng ví d ụ trên ta có thể kết luận như sau: Nếu A gửi thông diệp
SECURE cho B v ới khóa công cộng của B l à (35, 5), B nhận và giải mã bằng khóa
riêng còn lại của mình. Chỉ có khóa này mới giải mã được. Giả sử X gửi cho Y một
thông điệp như trên nhưng với khóa khác, chọn hai số ngẫu nhi ên 2 và 7. Cách tính
tương tự như trên, ta có Public Key = (n,e) = (14, 2) và Private Key = (n,d) = (14, 4).
Chuỗi SECURE sẽ được mã hóa như bảng sau:
Nội dung
Vị trí (m)
M
e
Nội dung bị mã hoá (c)
S
19
361
11
E
5
25
11
C
3
9
9
U
21
441
7

R
18
324
2
E
5
25
11
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 17
Giải mã bằng Private Key = (n,d) = (14, 4), theo công thức tính m = c
d
mod n, ta có
bảng sau:
Nội dung bị mã hoá (c)
(m)
Dữ liệu gốc
11
19
S
11
5
E
9
3
C
7
21
U
2

18
R
11
5
E
Nếu sử dụng khóa Private Key (35, 29) của B để giải m ã thông điệp mà X gửi cho Y
thì không thể mã hóa được. Vì vậy, nếu sử dụng Public Key = (n, e) = (35, 5) để mã hóa
thì chỉ có Private Key = (n, d) = (35, 29) mới có thể giải mã. Còn nếu sử dụng Public
Key = (n,e) = (14, 2) đ ể mã hóa thì chỉ có Private Key = (n, d) = (14, 4) giải mã. Thông
qua ràng buộc là hai công thức để mã hóa và giải mã đã trình bày ở trên.
Tốc độ mã hoá và giải mã dữ liệu của RSA không phụ thuộc v ào kích thước của Key
Length of ‘n’
512 bit
768 bits
1,024 bits
Encryption
0.03 s
0.05 s
0.08 s
Decryption
0.16 s
0.48 s
0.93 s
Bảng 1.4: Tốc độ mã hóa, giải mã của RSA
 Nhận xét
Bằng cách dùng thuật toán RSA để mã hoá dữ liệu sẽ đảm bảo đ ược tính an toàn và
bảo mật cao. Nhưng để làm được điều đó, kích th ước key được dùng là rất lớn. Nếu như
ở thuật toán đối xứng (Symmetric) d ùng DES, TripleDES, Blowfish…thì kích th ước
key thường là 56 bits (với DES), 112 -168 bits (với TripleDES) và lớn hơn 448 bits với
Blowfish, thì đối với thuật toán phi đối xứng (ASymmetric) d ùng RSA, kích thư ớc Key

lên đến 2048 bits. Lớn hơn khoảng 1000 lần. Hiệu suất hoạt động chậm do việc phát
sinh khoá công khai- khoá bí mật hay quá trình mã hoá- giải mã tốn nhiều thời gian v ì
phải tính toán trên các số nguyên dương cực lớn. Tuy nhiên, với trình độ CNTT như
hiện nay, việc mã hóa và giải mã thông tin bằng thuật toán RSA không khiến ng ười sử
dụng phải chờ lâu, nh ư mô tả ở bảng trên, việc mã hóa và giải mã thông tin chỉ mất
ĐỀ TÀI NGHIÊN CỨU KỸ THUẬT CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT THỬ NGHIỆM
SVTH:Trần Thùy Dung- Lớp CCTM01C Trang 18
khoảng thời gian rất ngắn ứng v ới từng kích thước khóa, bên cạnh đó, thuật toán RSA
lại có những ưu điểm sau:
- RSA đơn giản, dễ hiểu, dễ cài đặt.
- Tính bảo mật cao: Như đã trình bày trên, độ an toàn của RSA dựa trên bài toán
phân tích ra thừa số nguyên tố. Kích thước khóa lớn, nếu hacker bắt được thông tin thì
cũng khó bẻ khóa, khó lấy thông tin .
1.4 Khái niệm chữ ký điện tử
Chữ ký điện tử (CKĐT) là thuật ngữ chỉ mọi ph ương thức khác nhau để một cá
nhân, đơn vị có thể “ký tên” vào một dữ liệu điện tử, thể hiện sự chấp thuận v à xác
nhận tính nguyên bản của nội dung dữ liệu đó
CKĐT là một phương pháp mã hóa công cộng được sử dụng phổ biến trong TMĐT .
CKĐT là bằng chứng hợp pháp để khẳng định trách nhiệm của ng ười ký, chứng thực
văn bản điện tử đó đã được người ký thông qua v à tính duy nhất của văn bản đó. Như
vậy, một CKĐT phải đảm bảo được hai điều kiện:
- Xác định được danh tính người gửi
- Xác định văn bản được ký là duy nhất
Tuy nhiên, đã có những quan niệm sai lầm về CKĐT, họ cho rằng việc ký một chữ
ký lên màn hình cảm ứng tức là một chữ ký được tiến hành trên một phương tiện kỹ
thuật là CKĐT. Theo khái niệm CKĐT đã trình bày ở trên thì phương pháp này không
đảm bảo hai điều kiện của CKĐT. Bởi vì, người ta có thể copy chữ ký đó th ành nhiều
bản, lặp lại ở nhiều văn bản, văn bản đó cũng có thể copy nhiều lần,…điều n ày không
đảm bảo tính bảo mật khi thực hiện giao dịch và không thể xác định được danh tính của
người gửi. Vì thế, hình thức này không được coi là CKĐT .

Một cách khác, với nền công nghệ phát triển ng ười ta có thể thực hiện việc b ảo mật
dữ liệu bằng phương pháp nhận dạng dấu vân tay, v õng mạc mắt, hình ảnh khuôn mặt,
giọng nói,…những dữ liệu n ày được gọi là dữ liệu sinh trắc học, đ ược lưu trữ trong cơ
sở dữ liệu, khi muốn đăng nhập hoặc đ ưa ra yêu cầu, máy tính tra c ơ sở dữ liệu, nếu
trùng hợp thì chấp nhận yêu cầu. Nó giống nh ư một tài khoản bạn lập ra để đăng n hập
vào một hệ thống nào đó, người dùng cần có password để đăng nhập. Sử dụng ph ương
pháp này cũng có thể bảo mật cho dữ liệu của người dùng nhưng đây cũng không được
xem là CKĐT, bởi để thực hiện một ứng dụng CKĐT, ta phải áp dụng một thuật toán,
một phương pháp mã hóa, cụ thể ở CKĐT là sử dụng công nghệ m ã hóa khóa công khai

×