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

Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại đ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.23 MB, 76 trang )

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
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG




LÊ THỊ HÀ





SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG
DỤNG TRONG THƢƠNG MẠI ĐIỆN TỬ





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






Thái Nguyên - 2012
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
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG




LÊ THỊ HÀ





SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG
DỤNG TRONG THƢƠNG MẠI ĐIỆN TỬ


Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01


LUẬN VĂN THẠC SĨ: Khoa học máy tính
NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS.TS. Bùi Thế Hồng


Thái Nguyên - 2012
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 Luận văn “ Sơ đồ định danh mật và chữ ký số
ứng dụng trong thương mại điện tử ” là công trình nghiên cứu của riêng
tôi dướ i sự hướ ng dẫ n củ a PGS.TS. Bùi Thế Hồng Toàn b phn mm
do chí nh tôi xây dựng và kiể m thử . Tôi xin chị u trá ch nhiệ m về lờ i cam
đoan củ a mì nh.
Các số liệu và thông tin sử dụng trong luận văn này là trung thực.

Tác giả


Lê Thị Hà




ii

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 MỞ ĐẦU vi
1. Lý do chọn đ tài 1
2. Mục tiêu nghiên cứu 1

3. Phương pháp nghiên cứu 2
4. Tổng quan luận văn 2
CHƢƠNG 1 4
TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ 4
1.1. Giớ i thiệ u v mật mã và hệ thống mã khóa 4
1.1.1 Giới thiệu v mật mã học và các yêu cu bảo mật thông tin 4
1.1.1.1. Giới thiệu v mật mã học 4
1.1.1.2. Các yêu cu bảo mật thông tin 6
1.1.2. Các hệ thống mã hóa đối xứng và công khai 8
1.1.2.1. Sơ đồ hệ thống mật mã. 8
1.1.2.2. Hệ thống mật mã đối xứng và công khai 10
1.2. Chữ ký số 11

1.2.1. Giới thiệu v chữ ký số 11
1.2.2. Quá trình ký và xác thực chữ ký 11
1.2.2.1. Quá trình ký 11
1.2.2.2. Quá trình xác thực chữ ký số 13
1.2.3. Mt số lược đồ chữ ký số 16
1.2.3.1. Định nghĩa sơ đồ chữ ký số: 16
1.3. Kết luận chƣơng 1 24
CHƢƠNG 2 25
BÀI TOÁN SƠ ĐỒ ĐỊNH DANH MẬT VÀ XÁC NHẬN THÔNG TIN 25
2.1. Tổng quan v bài toán xưng danh 25
2.2. Sơ đồ xưng danh Okamoto 26
iii


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


2.3. Sơ đồ xưng danh Guillou-Quisquater 32
2.4. Các sơ đồ xung danh dựa trên tính đồng nhất 36
2.5. Sơ đồ xưng danh Schnorr 37
2.6. Chuẩn chữ ký số (Digital Signature Standard). 44
2.7. Hàm băm và chữ ký 45
2.7.1. Hàm băm (hash function). 45
2.7.2. Vai trò của hàm băm 47
2.7.3. Chữ ký 49

2.8. Kết luận chương 2 50
CHƢƠNG 3 52
CHƢƠNG TRÌNH SƠ ĐỒ ĐỊNH DANH SCHNORR VÀ SƠ ĐỒ CHỮ
KÝ SCHNORR 52
3.1. Yêu cu hệ thống 52
3.1.1. Phn mm 52
3.1.2. Phn cứng 52
3.2. Màn hình chính của hệ thống 52
3.3. Chương trình sơ đồ định danh Schnorr 53
3.3.1. Thuật toán của chương trình 53
3.3.2. Giao diện chương trình của sơ đồ định danh Schnorr 54
3.3.2.1. Chức năng tạo mới 54

3.3.2.2. Chức năng tạo số 55
3.3.2.3. Chức năng trình ký 55
3.3.2.4. Chức năng gửi 57
3.3.2.5. Chức năng Verify 58
3.3.3. Thử nghiệm 60
3.4. Chương trình sơ đồ chữ ký Schnorr 61
3.4.1. Thuật toán của chương trình 61
iv

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



3.4.2. Giao diện chương trình của sơ đồ chữ ký Schnorr 62
3.4.2.1. Chức năng tạo mới 62
3.4.2.2. Chức năng trình ký 63
34.2.3. Chức năng gửi 63
3.4.2.4. Chức năng Sign 64
3.4.3. Thử nghiệm 65
3.5. Kết luận chương 3 65
TÀI LIỆU THAM KHẢO 67
PHỤ LỤC 68
v

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



DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

Các từ viết tắt
Nghĩa tiếng anh
Nghĩa tiếng việt

hash function
Hàm băm.
DSS
Digital Signature Standard

Chuẩn chữ ký số
RSA
Rivest, Shamir và Adleman

Tên ba tác giả của hệ mật
mã RSA
TA
Trusted Authority
Cơ quan ủy thác
E
Elgamal
Sơ đồ chữ ký Elgamal

vi

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


DANH MỤC HÌNH VẼ

Hình 1.1: Lược đồ ký 13
Hình 1.2 Lược đồ xác thực 15
Hình 2.1. Sơ đồ hàm băm 47
Hình 3.1. Giao diện tổng thể của hệ thống 52
Hình 3.2. Giao diện chương trình mô phỏng sơ đồ định danh Schnorr 54

Hình 3.3. Giao diện chương trình mô phỏng cơ quan ủy thác xác 56
Hình 3.4. Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy 57
Hình 3.5. Giao diện chương trình thực hiện xác nhận thông tin của Andy 58
Hình 3.6.Giao diện chương trình sơ đồ chữ ký Schnorr 62
Hình 3.7. Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ
ký Schnorr 64
1

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


LỜI MỞ ĐẦU

1. Lý do chọn đề tài
Ngày nay, cùng với sự phát triển không ngừng của ngành công nghệ
thông tin là sự bùng nổ số lượng ứng dụng quản lý thông tin, công việc của tổ
chức, doanh nghiệp, cá nhân, an toàn cho vấn đ xác nhận các thông báo.
Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cn có nhiu
thông tin với tốc đ nhanh để trợ giúp việc ra quyết định và ngày càng có
nhiu câu hỏi mang tính chất cn phải có giải pháp an toàn cho vấn đ xác
nhận các thông báo cùng với người gửi trên các mạng truyn tin công cng.
Trong thực tế cuc sống, việc xưng danh theo thói quen thường không
có tính an toàn chẳng hạn các số PIN, mật khẩu thường không có gì để đảm
bảo là được giữ kín, người ngoài không biết.
Trong giao thức thực hiện trên điện thoại, bất kỳ kẻ nghe trm nào

cũng có thể dùng thông tin định danh cho mục đích riêng của mình. Những
người này cũng có thể là người nhận thông tin. Các mưu đồ xấu trên thẻ tín
dụng đu hoạt đng theo cách này.
Như vậy với sự phát triển tin học trên mọi lĩnh vực như hiện nay, phn
lớn các giao dịch được thực hiện trên các mạng tin học đòi hỏi phải có giải
pháp v an toàn trong các khâu xưng danh và xác nhận danh tính cho các hoạt
đng đó.
Nhận thấy tính thiết thực của vấn đ này và được sự gợi ý của giảng viên
hướng dẫn, em đã chọn đ tài “Sơ đồ định danh mật và sơ đồ chữ ký số ứng
dụng trong thương mại điện tử” làm đ tài cho luận văn thạc sĩ của mình.
2. Mục tiêu nghiên cứu
- Tìm hiểu v lý thuyết mật mã học và hệ thống mật mã.

- Nghiên cứu chữ chữ ký số và quá trình xác thực chữ ký số.
-Chuẩn chữ ký số và hàm băm.
2

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


- Nghiên cứu các sơ đồ chữ ký số và các sơ đồ định danh mật.
- Nghiên cứu phương pháp chuyển sơ đồ định danh mật sang sơ đồ chữ
ký số.
3. Phƣơng pháp nghiên cứu
- Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các

website và các tài liệu liên quan.
- Phân tích, tổng hợp lý thuyết và giới thiệu các thuật toán của các sơ đồ
định danh mật và cách chuyển sơ đồ định danh schnorr sang sơ đồ chữ ký
schnorr.
- Sử dụng ngôn ngữ lập trình C# để triển khai xây dựng mt chương
trình ứng dụng v sơ đồ định danh schnorr và sơ đồ chữ ký schnorr ứng dụng
trong thương mại điện tử.
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.

Luận văn cấu trúc thành 3 chương:
Chƣơng 1: Tổng quan v mật mã và chữ ký số
Tìm hiểu lý thuyết mật mã, hệ thống mã khóa, chữ ký số, các sơ đồ chữ ký
số.
Chƣơng 2: Bài toán sơ đồ định danh mật và xác nhận thông tin
Trình bày bài toán định danh và sơ đồ xưng danh xác nhận danh tính.
Các sơ đồ xưng danh Schnorr, Okamoto đòi hỏi người được ủy quyn tín
nhiệm (TA) dựa trên bài toán tính logarit rời rạc, sơ đồ xưng danh Guillou
– Quisquater, sơ đồ định danh dựa trên tính đồng nhất. Chuẩn chữ ký số và
hàm băm.
3


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


Chƣơng 3: Chương trình sơ đồ định danh schnorr và sơ đồ chữ ký schnorr
Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C#, trên cơ sở
xây dựng ứng dụng sơ đồ định danh schnorr và sơ đồ chữ ký schnorr.
Kết luận: Tóm tắt các ni dung chính, các kết quả đạt được và hướng
nghiên cứu tiếp theo của luận văn.


4


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


CHƢƠNG 1
TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ
1.1. Giớ i thiệ u về mật mã và hệ thống mã khóa
1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin
1.1.1.1. Giới thiệu về mật mã học
Nhu cu sử dụng
mậ
t mã đã xuất hiện từ rất sớm, khi con người
biết trao đổi và truyn đưa thông tin cho nhau, đặc biệt khi các thông tin

đó đã được thể hiện dưới hình thức ngôn ngữ, thư từ. Lịch sử cho ta biết,
các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm
trước trong nn văn minh Ai cập cổ đại. Trải qua hàng nghìn năm lịch sử,
mật mã đã được sử dụng rng rãi trên khắp thế giới từ Đông sang Tây để
giữ bí mật cho việc giao lưu thông tin trong nhiu lĩnh vực hoạt đng giữa
con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị,
ngoại giao. Mật mã trước hết là mt loại hoạt đng thực tiễn, ni dung
chính của nó là để giữ bí mật thông tin (chẳng hạn dưới dạng mt văn bản)
từ mt người gửi A đến mt người nhận B, A phải tạo cho văn bản đó
mt bản mật mã t
ư
ơng ứng, và thay vì gửi văn bản rõ thì A chỉ gửi cho

B bản mật mã, B nhận được bản mã mật và sẽ có cách khôi phục lại văn
bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Vì bản gửi đi
thường được chuyển qua các con đường công khai nên người ngoài có thể
"lấy trm" được, nhưng đó là bản mật mã nên đọc không hiểu được, còn A
có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu
được là do giữa hai người đã có mt thỏa thuận v mt chìa khóa chung,
chỉ với chìa khóa chung này thì A mới tạo được bản mã mật từ bản rõ, và
B mới từ bản mã mật khôi phục lại được bản rõ. Sau này ta sẽ gọi đơn giản
chìa khóa chung đó là khóa mật mã. Tất nhiên để thực hiện được mt phép
mật mã, ta còn cn có mt thuật toán biến bản rõ, cùng với khóa mật mã
5


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


thành bản mã mật và mt thuật toán ngược lại, biến bản mã mật cùng với
khóa mật mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật
toán lập mật mã và thuật toán giải mật mã. Các thuật toán này thường không
nhất thiết phải giữ bí mật, mà cái cn được giữ tuyệt mật luôn luôn là khóa
mật mã. Trong thực tiễn, đã có hoạt đng bảo mật thì cũng có hoạt đng
ngược lại là khám phá bí mật từ các bản mã mật "lấy trm" được, ta
thường gọi hoạt đng này là mã thám, hoạt đng này quan trọng không
kém gì hoạt đng bảo mật! Vì các thuật toán lập mật mã và giải mật mã
không nhất thiết là bí mật, nên mã thám thường được tập trung vào việc

tìm khóa mật mã, do đó cũng có người gọi công việc đó là phá khóa.
Bước sang thế kỷ 20, với những tiến b liên tục của kỹ thuật tính
toán và truyn thông, ngành mật mã cũng đã có những tiến b to lớn. Vào
những thập niên đu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn,
truyn và xử lý tín hiệu đã có tác đng giúp cho các hoạt đng lập và giải
mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản,
các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay
được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy
bit, và các phép biến đổi trên các dãy ký tự được chuyển thành các phép
biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã,
giải mã trở thành việc thực hiện các hàm số số học.
Lý thuyết v đ phức tạp tính toán ra đời từ giữa những năm 1960 đã

cho ta mt cách thích hợp để yêu cu bí mật hoặc ngẫu nhiên v mt yêu cu
có thể định nghĩa được là yêu cu v đ phức tạp tính toán. Bây giờ ta có
thể nói: mt giải pháp mật mã là bảo đảm bí mật, nếu mọi thuật toán
thám mã đu phải
đ
ư
ợc thực hiện với đ phức tạp tính toán cực lớn. Cực
lớn là bao nhiêu? Là vượt quá giới hạn khả năng tính toán (bao gồm cả máy
tính) mà người thám mã có thể có. V lý thuyết, có thể xem đó là những
6

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



đ phức tạp tính toán với tốc đ tăng vượt quá hàm mũ, hoặc thuc loại NP-
khó. Tuy nhiên, lý thuyết đ phức tạp tính toán không chỉ cống hiến cho ta
mt khái niệm để giúp chính xác hóa tiêu chuẩn bí mật của các giải pháp
mật mã, mà còn mở ra mt giai đoạn mới của ngành mật mã, biến ngành mật
mã thành mt khoa học có ni dung lý luận phong phú và có những ứng
dụng thực tiễn quan trọng trong nhiu lĩnh vực của đời sống hiện đại. Bước
ngoặt có tính cách mạng trong lịch sử khoa học mật mã hiện đại xẩy ra vào
năm 1976 khi hai tác giả Diffie và Hellman đưa ra khái niệm v mật mã
khóa công khai và mt phương pháp trao đổi công khai để tạo ra mt
khóa bí mật chung mà tính an toàn được bảo đảm bởi đ khó của mt bài

toán toán học cụ thể (là bài toán tính "lôgarit rời rạc"). Hai năm sau, năm
1978, Rivest, Shamir và Adleman tìm ra mt hệ mật mã khóa công khai và
mt sơ đồ chữ ký điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính
bảo mật và an toàn của chúng
đ
ư
ợc bảo đảm bằng đ phức tạp của mt bài
toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số
nguyên tố. Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ
RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai
khác và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau
của an toàn thông tin đã được tiến hành rng rãi, lý thuyết mật mã và an toàn

thông tin trở thành mt lĩnh vực khoa học được phát triển nhanh trong
vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của mt số
b môn của toán học và tin học.
1.1.1.2. Các yêu cầu bảo mật thông tin
Hiệ n nay cá c biệ n phá p tấ n công ngà y cà ng tinh vi , đe dọ a tớ i độ an toà n
và bảo mật thông tin. Vì vậy chúng ta cn thiết lập các phương pháp đ phòng
cầ n thiế t. Mục đích cuối cùng của các an toàn bảo mật là bảo vệ các thông tin
và tài nguyên theo các tiêu chí sau:
7

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



- Tính bí mật :
Để đả m bả o dữ liệ u đượ c truyề n đi mộ t cá ch an toà n và không thể bị lộ thông
tin nế u như có ai đó cố tình muố n có đượ c nôi dung củ a dữ liệ u gố c ban đầ u.
Chỉ có người nhận đã xác thực mới có thể lấy ra được ni dung của thông tin
của dữ liệu đã được mã hóa.
- Tính xác thực:
Thông tin không thể bị truy cậ p trá i phé p bở i nhữ ng ngườ i không có thẩ m
quyề n, giúp cho người nhậ n dữ liệ u xá c đị nh đượ c chắ c chắ n dữ liệ u mà họ
nhậ n là dữ liệ u gố c ban đầ u củ a ngườ i gử i. Kẻ giả mạo không thể có khả năng
để giả dạng mt người khác hay nói cách khác không thể mạo danh để gửi dữ
liệ u. Ngườ i nhậ n có khả năng kiể m tra nguồ n gố c thông tin mà họ nhậ n đượ c.

- Tính toàn vn:
Thông tin không thể bị sử a đổ i , bị làm giả b ởi nhữ ng ngườ i không có thẩ m
quyề n giúp cho người nhận dữ liệu kiể m tra đượ c rằ ng dữ liệ u không thay đổ i
trong quá trì nh truyề n đi . Kẻ giả mạo không thể có khả năng thay thế dư liệu
ban đầ u bằ ng dữ liệ u giả mạ o.
- Tính không thể chối bỏ:
Thông tin đươc cam kế t về mặ t phá p luậ t củ a ngườ i cung cấ p . Ngườ i gử i hay
ngườ i nhậ n không thể chố i bỏ sau khi đã gử i hoặ c nhậ n thông tin.
- Đả m bả o tí nh sẵ n sà ng:
Thông tin luôn sẵ n sằ ng để đá p ứ ng sử dụ ng cho ngườ i có thẩ m quyề n. Ngườ i
gử i không bị từ chố i việ c gử i thông tin đi.
- Tính chống lặp lại:

Không cho phé p gử i thông tin nhiề u lầ n đế n ngườ i nhậ n mà ngườ i gử i không
hề hay biế t.
8

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


1.1.2. Các hệ thống mã hóa đối xứng và công khai
1.1.2.1. Sơ đồ hệ thống mật mã.
Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông
tin được truyn trên các kênh truyn thông công cng như các kênh bưu
chính, điện thoại, mạng truyn thông máy tính, mạng Internet, v.v Giả sử

mt người gửi A muốn gửi đến mt ng
ư
ời
nhận B mt văn bản (chẳng
hạn, mt bức thư) p, để bảo mật A lập cho p mt bản mật mã c, và thay cho
việc gửi p, A gửi cho B bản mật mã c, B nhận được c và "giải mã" c để lại
được văn bản p như A
gửi. Để A biến p thành c và B biến ngược lại c
thành p, A và B phải thỏa thuận trước với nhau các thuật toán lập mã và
giải mã, và đặc biệt mt khóa mật mã chung K để thực hiện các thuật toán
đó. Người ngoài, không biết các thông tin đó (đặc biệt, không biết khóa
K),

cho dù có lấy trm được c trên kênh truyn thông công cng, cũng
không thể tìm được văn bản p mà hai người A, B muốn gửi cho nhau. Sau
đây ta sẽ cho mt định nghĩa hình thức v sơ đồ mật mã và cách thức thực
hiện để lập mật mã và giải mật mã.
Định nghĩa1.1.2.1 : Mt sơ đồ hệ
thống
mật mã là mt b năm
S = (P
,
C , K , E , D ) (1)
thỏa
mãn

các
điu
kiện sau đây:
P là mt tập hữu hạn các ký tự bản rõ,
C là mt tập hữu hạn các ký tự bản mã,
K là mt tập hữu hạn các khóa,
E là mt ánh xạ từ KxP vào C, được gọi là phép lập mật mã; và D là mt
ánh xạ từ KxC vào P, được gọi là phép giải mã. Với mỗi
K





, ta
định nghĩa
e
K
: P →C , d
K
:C →P là hai
hàm
cho bởi :

x

P : e
K
(x) = E (K,x) ;

y C : d
K
(y) = D (K,y).

9

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



e
K
và d
K
được gọi ln lượt là hàm lập mã và hàm giải mã ứng với khóa
mật mã K. Các
hàm
đó phải thỏa
mãn
hệ thức:



x
P :
d
K
(e
K
(x))
=
x

V sau, để thuận tiện ta sẽ gọi mt danh sách (1) thoả mãn các tính

chất kể trên là mt sơ đồ hệ thống mật mã , còn khi đã chọn cố
định mt
khoá K, thì danh sách (P , C , e
K
, d
K
) là mt hệ mật mã
thuc sơ đồ đó.

Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa
cho từng ký tự bản rõ (bản mã). Trong thực tế, bản rõ của mt thông báo
thường là mt dãy ký tự bản rõ, tức là phn tử của tập P *, và bản mật mã

cũng là mt dãy các ký tự bản mã, tức là phn tử của tập C *, việc mở rng
các hàm e
K
và d
K
lên các min tương ứng P * và C *. Các tập ký tự bản
rõ và bản mã thường dùng là các tập ký tự của ngôn ngữ thông thường như
tiếng Việt, tiếng Anh (ta ký hiệu tập ký tự tiếng Anh là A tức A =
{a,b,c, ,x,y,z
} gồm 26 ký tự; tập ký tự nhị phân B chỉ gồm hai ký tự
0 và
1; tập các số nguyên không âm bé hơn mt số n nào đó (ta ký hiệu tập này

là Z
n
tức Z
n
= {0,1,2, , n- 1}). Chú ý rằng có thể xem B = Z
2
. Để thuận
tiện, ta cũng thường đồng nhất tập ký tự tiếng Anh A với tập gồm 26 số
nguyên không âm đu tiên Z
26
= {0,1,2, , 24,25} với sự tương ứng sau
đây:

a b c d e f g h i j k l m n o p q r s t u v w x y
z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25.
Đôi khi ta cũng dùng với tư cách tập ký tự bản rõ hay bản mã là các tập tích
của các tập nói trên, đặc biệt là các tập A
m
,
B

m
, Z

m
.
10

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


1.1.2.2. Hệ thống mật mã đối xứng và công khai.
Theo định nghĩa 1.1.2.1 v sơ đồ mật mã, mỗi ln truyn tin bảo mật,
cả người gửi A và người nhận B phải cùng thỏa thuận trước với nhau
mt khóa chung K, sau đó người gửi dùng e
K

để lập mật mã cho thông báo
gửi đi, và người nhận dùng d
K
để giải mã bản mật mã nhận được. Người
gửi và người nhận cùng có mt khóa
chung K, được giữ như bí mật riêng
của hai người, dùng cả cho lập
mật mã và giải mã, ta gọi những hệ mật mã
với cách sử dụng đó là mật mã khóa đối xứng, đôi khi cũng gọi là mật mã
truyn thống vì đó là cách đã được sử dụng từ hàng ngàn năm nay. Tuy
nhiên, v nguyên tắc hai hàm lập mã và giải mã là khác nhau không nhất
thiết phải phụ thuc cùng mt khóa. Nếu ta xác

định mỗi khóa K gồm có
hai phn K = (K' , K'' ), K' dành cho việc lập
mật mã (và ta có hàm lập mã
e
K'
), K'' dành cho việc giải mã (và có hàm giải mã d
K''
), các hàm lập mã
và giải mã thỏa mãn hệ thức
d
K''
(e

K'
(x)) = x với mọi x ∈P ,
thì ta được
mt hệ mật mã khóa phi đối xứng. Như vậy, trong mt
hệ mật mã khóa phi
đối xứng, các khóa lập mã và giải mã (K' và K'' ) là khác nhau, nhưng tất
nhiên có quan hệ với nhau. Trong hai khóa đó, khóa cn phải giữ bí mật là
khóa giải mã K'' , còn khóa lập mã K' có thể được công bố công khai, tuy
nhiên điu đó chỉ có ý nghĩa thực tiễn khi việc biết K' tìm K'' là cực kỳ khó
khăn đến mức hu nh
ư
không thể thực hiện được. Mt hệ mật mã khóa phi

đối xứng có tính chất nói trên, trong đó khóa lập mật mã K' của mỗi người
tham gia
đu được công bố công khai được gọi là hệ mật mã khóa công khai.
Khái niệm mật mã khóa công khai mới được ra đời vào giữa những năm
1970 và ngay sau đó đã trở thành mt khái niệm trung tâm của khoa học mật
mã hiện đại.
11

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


1.2. Chữ ký số

1.2.1. Giới thiệu về chữ ký số
Chữ ký số là mt b phận dữ liệu không thể giả mạo, để xác nhận mt
người đã viết ra hoặc đồng ý với mt tài liệu mà chữ ký đó được gắn vào.
Chữ ký số sử dụng công nghệ mã hoá trên nn tảng khoá công khai, để bảo
đảm tính đúng đắn tính toàn vn v ni dung của mt dữ liệu hoặc mt thông
điệp điện tử và những yêu cu khác đối với các mục đích của mt chữ ký.
Chữ ký số có các tính chất sau:
- Xác thực: người nhận kiểm tra được việc người gửi đã kí vào tài liệu.
- Không thể giả mạo được: chữ ký số xác nhận với người nhận tài liệu là
không ai khác ngoài người kí đã kí tài liệu đó.
- Không thể dùng lại được: chữ ký số có kèm theo ni dung và thời gian gắn
trên tài liệu, nên không thể chuyển chữ ký từ tài liệu này sang tài liệu khác.

- Đảm bảo sự toàn vẹn và đúng đắn của tài liệu: tài liệu đã được kí không thể
giả mạo, sửa đổi hoặc thêm bớt.
- Không thể chối bỏ: chữ ký và tài liệu là chứng cứ v mặt pháp lý và có khả
năng xác thực sự đồng nhất giữa người kí và tài liệu được kí. Do đó người gửi
không thể phủ nhận việc đã kí tài liệu đó.
1.2.2. Quá trình ký và xác thực chữ ký
1.2.2.1. Quá trình ký
Đoạn dữ liệu cn được bảo mật đưa qua hàm băm (hashing0), kết quả của
hàm băm là mt đoạn bit đảm bảo 2 tính chất sau:
- Tính duy nhất: mỗi mt đoạn dữ liệu khác nhau thì sẽ có mt đoạn bit khác
nhau, không trùng lặp, có đ dài không đổi.
- Tính mt chiu: từ đoạn bit đặc trưng này, không suy ngược lại được ni

dung đoạn văn bản.
12

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


Đoạn bit đặc trưng này được mã hóa bằng khóa bí mật của người gửi và đính
kèm vào “văn bản”, rồi gửi đến người nhận. Đoạn bit được mã hóa này chính
là chữ ký số (digital signature).
Lược đồ ký được mô tả bằng hình vẽ dưới đây:
13


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





















Hình 1.1 Lược đồ ký
1.2.2.2. Quá trình xác thực chữ ký số
Người nhận khi nhận được văn bản kèm chữ ký số, tiến trình kiểm tra sẽ được

thực hiện như sau:
B1: Lấy đoạn dữ liệu gốc, đưa qua hàm băm đã nói ở trên, thu được mt đoạn
bit là kết quả băm.
B2: Lấy đoạn bit được mã hóa (chữ ký số), giải mã bằng mã khóa công khai
của người gửi, thu được đoạn bit đặc trưng.
Gửi đi
Bản tin điện tử
Bản tóm lược
Hàm băm
Khóa bí mật
của người gửi
Chữ ký số (CKS)

Bản tin rõ đã ký
Gắn CKS vào
bản tin điện tử
Mã hóa
14

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


B3: So sánh đoạn bit vừa thu được với đoạn bit thu được trong bước 1, nếu 2
kết quả trùng nhau và tin rằng khóa công khai chắc chắn là do người gửi phát
hành thì kết luận:

- Dữ liệu nhận được có tính toàn vn (vì kết quả băm là duy nhất, mt chiu)
- Dữ liệu nhận được là do chính người gửi đi vì chỉ duy nhất người nhận
được xác thực mới có khóa bí mật phù hợp với khóa công khai đã được sử
dụng để giải được sử dụng để giải mã. Như vậy tính chống từ chối và tính
xác thực được kiểm tra và xác nhận. Lúc này người nhận tin rằng khóa
công khai đó đại diện hợp pháp cho người gửi.
Lược đồ xác thực chữ ký số được mô tả bằng hình vẽ dưới đây:
15

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


























Hình 1.2 Lƣợc đồ xác thực
Sau khi ký “văn bản”, nếu cn thiết cho vào “phong bì” nhằm bảo đảm tính bí

mật khi gửi đi, toàn b dữ liệu gốc và chữ ký có thể được đưa mt ln bởi
khóa công khai của người sẽ nhận “văn bản”. Khi nhận được khóa mã, tiếp
Bản tin đã ký
Khóa công khai
của người gửi
Bản tin điện tử
Tách bản tin và
CKS
CKS
Bản tóm lược 1
Hàm băm


Giải mã

Bản tóm lược 2
Giải mã
được?
Gống nhau

không
Đúng người gửi
Không Đúng người gửi
Bản tin là toàn vn
16


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


tục sử dụng khóa mã này sẽ giải mã được văn bản. Như vậy, tính bí mật của
giao dịch sẽ được đảm bảo từ người gửi, đến tận người nhận.
1.2.3. Một số lƣợc đồ chữ ký số
Để mt chữ ký số có các tính chất cn thiết phải có mt cơ chế hay
mt quy trình nhất định để tạo ra chữ ký số đó, được gọi là quy trình tạo ra
chữ ký số. Quy trình tạo chữ ký số dựa trên thuật toán sinh chữ ký số. Việc
xác minh chữ ký số trên mt tài liệu, dữ liệu được thực hiện dựa trên các thuật
toán xác minh chữ ký số.

Quá trình xác minh chữ ký số còn bao gồm cả các phương thức phục hồi dữ
liệu. Tất cả các thuật toán sử dụng trong việc tạo chữ ký số, xác minh chữ ký
số, xác thực chữ ký số và tài liệu tạo thành mt cơ chế sử dụng chữ ký số và
tập hợp thành mt lược đồ kí chữ ký số.
Một lược đồ chữ ký số gồm 2 thành phần: thuật toán khởi sinh chữ ký số và
thuật toán xác minh kết hợp với nó.
Tommy có thể kí thông báo x nhờ thuật toán kí (bí mật) Sig. Chữ ký
thu được sig(x), sau đó có thể được kiểm tra nhờ thuật toán kiểm tra công
cng Ver. Khi cho cặp (x,y) thuật toán kiểm tra sẽ trả lời “đúng” hoặc “sai”
phụ thuc vào việc chữ ký có đích thực không.
1.2.3.1. Định nghĩa sơ đồ chữ ký số
Mt sơ đồ chữ ký là b năm S= (P, A, K, S, V ) thoả mãn các điu kiện

sau [1]:
P-tập hữu hạn các thông báo
A-tập hữu hạn các chữ ký có thể
K-tập hữu hạn các khoá, mỗi khóa K
, gồm có hai phn
K = (K', K''), K' là khóa bí mật dành cho việc ký, còn K'' là khóa công khai
dành cho việc kiểm thử chữ ký.
17

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



Với mỗi K = (K', K'') trong S có mt thuật toán ký hiệu sig
K'
PA và trong
V có mt thuật toán kiểm thử ver
K''
: PxA  {đúng, sai} thỏa mãn điu kiện
sau đây với mọi thông báo x  P và mọi chữ ký yA:
ver
K''
(x,y) = đúng  y = sig
K'
(x).

Với sơ đồ trên, mỗi chủ thể sở hữu mt b khóa K = (K', K''), công bố
khóa K'' để mọi người có thể kiểm thử chữ ký của mình và giữ bí mật khóa K
'

để thực hiện chữ ký trên các thông báo gửi đi.
Các hàm ver
K''
và sig
K'
(x) (khi biết K
'
) phải tính được mt cách dễ dàng,

nhưng hàm sig
K'
(x) phải khó tính được, nếu không biết K'. Đây là điu kiện
bảo mật cho việc ký cũng như chống giả mạo chữ ký.
Mt sơ đồ chữ ký không thể an toàn vô điu kiện, vì kẻ thứ ba có thể
kiểm tra tất cả các chữ ký số đã có trên bức điện x, nhờ dùng thuật toán
ver
K''
(x,y) công khai, cho đến tìm thấy mt chữ ký đúng. Vì thế, nếu có đủ
thời gian kẻ thứ ba luôn có thể giả mạo chữ ký của người gửi. Do vậy, mục
đích của chữ ký số là tìm các lược đồ chữ ký, sao cho kẻ thứ ba không đủ thời
gian thực tế để thử (an toàn tính toán).

Ta sẽ xét hai sơ đồ chữ ký số là sơ đồ chữ ký số ElGamal và trọng tâm
là sơ đồ chữ ký số RSA
1.2.3.2. Sơ đồ chữ ký số Elgaman
Sơ đồ chữ ký Elgamal đ xuất năm 1985. Bản cải tiến của sơ đồ này
đã được Viện Tiêu chuẩn và Công Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm
chữ kí số [1]. Sơ đồ Elgamal (E) được thiết kế với mục đích dành riêng cho
chữ kí số, khác sơ đồ RSA dùng cho cả hệ thống mã khoá công khai lẫn chữ
kí số.
Sơ đồ E không giống như hệ thống mã khoá công khai Elgamal. Điu này có
nghĩa là có nhiu chữ kí hợp lệ trên bức điện cho trước bất kỳ. Thuật toán xác

×