Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
440
NGHIÊN CỨU KỸ THUẬT MÃ HÓA KHÓA CÔNG KHAI,
CÀI ĐẶT THUẬT TOÁN MÃ HÓA VÀ GIẢI MÃ BẰNG KỸ
THUẬT MÃ HÓA KHÓA CÔNG KHAI
RESEARCH IN PUBLIC KEY CRYPTOGRAPHY , INSTALL ALGORITHM
ENCRYPT AND DECRYPT BY PUBLIC KEY CRYPTOGRAPHY
NGUYỄN TIẾN HOÀI NAM, NGUYỄN VĂN HUY,
HÀ THỊ HƢƠNG
Lớp 06I, Trường Cao Đẳng Công Nghệ Thông Tin
GVHD: THS. NGUYỄN ĐỨC HIỂN
Bộ môn Công nghệ, Trường Cao Đẳng Công Nghệ Thông Tin
TÓM TẮT
Chúng ta phải thừa nhận rằng những rủi ro gặp phải trong quá trình giao dịch, kinh doanh trên
mạng là hiện hữu; nguy cơ bị thay đổi, sao chép hoặc mất dữ liệu trên mạng thực sự một trở
ngại trong giao dịch điện tử. Việc xác thực điện tử và kiểm tra tính toàn vẹn dữ liệu trong giao
dịch điện tử là một trong các biện pháp đảm bảo an toàn thông tin; và vấn đề này là thật sự
cần thiết và cấp bách. Đề tài “kỹ thuật mã hóa khóa công khai, cài đặt thuật toán mã hóa
và giải mã bằng kỹ thuật mã hóa khóa công khai” của nhóm nghiên cứu sẽ tập trung vào
hai nội dung chính: (1) Tìm hiểu về kỹ thuật mã hoá công khai, (2) Vận dụng kỹ thuật mã hoá
công khai trong hệ thống mã hoá và xác thực điện tử.
ABSTRACT
We admit that risk at transaction, business on internet is real; the risk of changing, copy, or
losing data on net is a big problem in electrical transation. Verifying in eletricity and checking
the perfectly data in electrical exchange is one of the solutions which ensure safe information;
This problem is necessary and immidiate. Our topic will mention 2 mains contents "Public
Key Cryptography , install algorithm encrypt and decrypt by Public Key Cryptography ":
(1) Researching in Public Key Cryptography, (2) Applying Public Key Cryptography into
encrypt system and electrical verification.
2.1. Khái niệm
Phƣơng pháp mã hoá công khai (Public Key Cryptography) đã giải quyết đƣợc vấn đề
của phƣơng pháp mã hoá khoá bí mật là sử dụng hai khoá public key và private key. Phƣơng
pháp này còn đƣợc gọi là mã hoá bất đối xứng (Asymmetric Cryptography) vì trong hệ sử
dụng khoá mã hoá E
k
và khoá giải mã D
k
khác nhau (E
k
# D
k
). Trong đó , E
k
đƣợc sử dụng để
mã hoá nên có thể đƣợc công bố, nhƣng khoá giải mã D
k
phải đƣợc giữ bí mật. Nó sử dụng hai
khoá khác nhau để mã hoá và giải mã dữ liệu.
Phƣơng pháp này sử dụng thuật toán mã hoá RSA (tên ba nhà phát minh ra nó: Ron
Rivest, Adi Shamir và Leonard Adleman) và thuật toán Diffie Hellman.
2.2. Phát sinh khóa:
Có 2 kích cỡ khóa là: 1024 bit và 2048
bit.
Khi ngƣời dùng đã chọn kích cỡ khóa
và kích hoạt chức năng phát sinh khóa,
chƣơng trình sẽ phát sinh ra 1 cặp khóa
gồm: khóa công khai sẽ đƣợc lƣu ra file
với phần mở rộng là .fpub và khóa bí mật
sẽ đƣợc lƣu ra file với phần mở rộng là
này, việc mã hoá và giải mã không dùng chung một khoá, nên không cần phải chuyển khoá đi
kèm theo văn bản; vì vậy không thể bị đánh cắp khóa trên đƣờng đi. Tuy vậy, nó có nhƣợc
điểm là việc giải mã sẽ mất nhiều thời gian hơn.
4. K CH K V XC THC CH K ĐIN T
4.1. Ký gửi chữ ký điện tử (Mã hóa):
Khi một ngƣời muốn gửi cho ai
đó một văn bản quan trọng, đòi hỏi văn
bản phải đƣợc ký xác nhận chính danh
ngƣời gửi văn bản; ngƣời gửi văn bản
sẽ làm thực hiện quy trình ký chữ ký
điện tử.
Qui trình ký chữ ký điện tử sử
dụng khoá công khai mô phỏng nhƣ ở
hình 4.1, các bƣớc thực hiện nhƣ sau:
Bước 1: Dùng giải thuật băm
để thay đổi thông điệp cần truyền đi.
Kết quả ta đƣợc một bản tin tóm lƣợc
(Message Digest). Dùng giải thuật
MD5 (Message Digest 5) ta đƣợc bản
mã có chiều dài 128-bit. nếu dùng giải
thuật SHA (Secure Hash Algorithm) ta có chiều dài 160-bit.
Bước 2: Sử dụng khóa bí mật (Private key) của ngƣời gửi để mã hóa Message Digest
thu đƣợc ở bƣớc 1. Thông thƣờng ở bƣớc này ta dung giải thuật RSA. Kết quả thu đƣợc gọi là
chữ ký điện tử của thông điệp ban đầu.
Hình 3.1 – Mô hình mã hóa và giải mã bản tin điện tử.
Hình 4.1 – Sơ đồ quá trình ký vào tài liệu điện tử dùng
Private Key
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
443
Hình 4.2 – Demo ký chữ
này đƣợc thông báo đến
mọi ngƣời) để giải mã chữ
ký điện tử của thông điệp,
kết quả là bản tin tóm
lƣợc.
Bước 2: Dùng giải
thuật băm MD5 (hoặc SHA) để băm
văn bản đã tách phần chữ ký điện tử,
kết quả thu đƣợc là bản tin tóm lƣợc
thứ 2.
Bước 3: So sánh 2 bản tin tóm
lƣợc thu đƣợc ở bƣớc 1 và 2. Nếu
trùng nhau, ta kết luận thông điệp
này không bị thay đổi trong quá
trình truyền tin và xác nhận thông
điệp này là của ngƣời gửi. Hình 4.4 – Demo xác thực chữ ký điện tử
Hình 4.3 – Sơ đồ quá trình xác thực điện tử dùng Public Key.
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
444
5. KẾT LUẬN
Việc sử dụng cặp khóa không đối xứng tuy có nhƣợc điểm là quá trình giải mã nhiều
thời gian, nhƣng với hệ mã này, bài toán giữ bí mật không những giải quyết mà còn đƣợc ứng
dụng rộng rãi, đảm bảo đƣợc bốn nội dung cơ bản là: tính bí mật, tính toàn vẹn, tính xác thực
và tính trách nhiệm.
Từ các kết quả trên cho thấy rằng khi dùng thuật toán RSA để mã hóa các thông tin và
chứng thực trong giao dịch điện tử, với mục đích bảo mật và đảm bảo tính xác thực thì:
- Đỡ tốn công sức đầu tƣ cho hạ tầng bảo mật