ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ...

22
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TRỊNH ĐOÀN MỘT SỐ LOẠI CHỮ KÝ ĐIỆN TỬ VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN: TRỊNH NHẬT TIẾN NĂM 2007

Transcript of ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ...

Page 1: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN TRỊNH ĐOÀN

MỘT SỐ LOẠI CHỮ KÝ ĐIỆN TỬ VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: CÔNG NGHỆ

THÔNG TIN

NGƢỜI HƢỚNG DẪN: TRỊNH NHẬT TIẾN

NĂM 2007

Page 2: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

2

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ

Viết tắt Thuật ngữ tiếng Anh Nghĩa tiếng Việt

BDS Blind Digital Signature Chữ ký số mù

CA Certificate Authority Nhà cung cấp chứng chỉ số

CTF Central Tabulating Facility Phƣơng tiện lập bảng trung tâm

DEA Data Encryption Algorithm Thuật toán mật mã dữ liệu

DES Data Encryption Standard Chuẩn mã hóa dữ liệu

DSS Digital Signature Standard Chuẩn chữ ký số

GDS Group Digital Signature Chữ ký số nhóm

GBDS Group Blind Digital Signature Chữ ký số mù nhóm

IDEA International Data Encryption

Algorithm

Thuật toán mật mã dữ liệu

Quốc tế

LRF Local Registration Facility Phƣơng tiện đăng ký địa phƣơng

MAC Message Authentication Code Mã xác thực thông điệp

MD5 Message Digest algorithm 5 Thuật toán hàm băm MD5

PKI Public Key Infrastructure Cơ sở hạ tầng khoá công khai

SHA-1 Secure Hash Algorithm Thuật toán hàm băm SHA-1

SK Signature of Knowledge Chữ ký dựa trên tri thức

VSF Vote Submission Facility. Phƣơng tiện đệ trình phiếu

Page 3: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

3

DANH MỤC CÁC HÌNH VẼ VÀ KÝ HIỆU

CÁC HÌNH VẼ

Hình 1: Minh họa mã hóa và giải mã ............... Error! Bookmark not defined.

Hình 2: Minh họa sinh và thẩm tra chữ ký ...... Error! Bookmark not defined.

Hình 3: Minh họa hàm băm và đại diện thông điệp ........Error! Bookmark not

defined.

Hình 4: Minh họa chữ ký số sử dụng hàm băm ..............Error! Bookmark not

defined.

Hình 5: Mô hình ngân hàng điện tử phân tán .. Error! Bookmark not defined.

CÁC KÝ HIỆU

a R A Phần tử a đƣợc chọn ngẫu nhiên trong tập A.

Zn Tập các số nguyên {0, 1,…, n-1}

Zn* Tập các số nguyên trong Zn mà nguyên tố với n

Định nghĩa 3.5.2 Định nghĩa thứ 2 trong mục 3.5.

[2, 3, 5, 7, 33] Tài liệu tham khảo [2], [3], [5], [7], [33]

Page 4: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

4

MỞ ĐẦU

1. Lý do chọn đề tài

Trong cuộc sống và trong các hoạt động của con ngƣời, việc trao đổi

thông tin là một nhu cầu thiết yếu, con ngƣời trao đổi thông tin để tồn tại và

phát triển trong quy luật vận động của tự nhiên và xã hội. Thông tin thì đa

dạng, phong phú đƣợc thể hiện dƣới nhiều dạng thức khác nhau nhƣ văn bản,

hình ảnh, âm thanh, số liệu,…Mặt khác việc trao đổi thông tin cũng diễn ra

dƣới nhiều hình thức và bằng các phƣơng pháp khác nhau.

Cùng với sự phát triển của công nghệ thông tin, các phƣơng tiện và

công nghệ truyền thông tiên tiến ra đời, trong đó mạng máy tính và đặc biệt là

mạng Intenet đã giúp con ngƣời trao đổi thông tin hết sức thuận tiện, nhanh

chóng. Một vấn đề vô cùng quan trọng đƣợc đặt ra là sự bảo mật và an toàn

trong việc trao đổi thông tin. Các thông tin truyền đi phải đảm bảo tính chính

xác, không bị sửa đổi và trong rất nhiều trƣờng hợp cần đƣợc bảo đảm tính bí

mật thông tin và cần xác thực đúng ngƣời gửi và ngƣời nhận. Xuất phát từ

thực tế này có nhiều biện pháp về an toàn thông tin ra đời.

Một giải pháp hữu hiệu cho cho việc đảm bảo tính bí mật của thông tin

là mã hóa thông tin. Mã hóa thông tin là sự biến đổi thông tin thành một dạng

khác với mục đích “che giấu” nội dung thông tin, chỉ những đối tƣợng có

thẩm quyền mới có thể giải mã thông tin đã mã hóa (hủy bỏ sự “che giấu”) để

lấy lại thông tin ban đầu.

Để xác thực thông tin, gắn trách nhiệm của một thực thể nào đó với một

thông tin, cũng nhƣ đảm bảo tính toàn vẹn, thông tin truyền đi không bị sửa

đổi ngoài ý muốn, con ngƣời đã sáng tạo ra chữ ký số.

Vấn đề xƣng danh và xác nhận danh tính của các thực thể cũng là các

vấn đề rất cần thiết trong giao dịch điện tử.

Page 5: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

5

Các yêu cầu về an toàn và bảo mật truyền thông gồm:

1) Đảm bảo tin cậy: Thông tin đƣợc bí mật, không sao chép trái phép.

2) Tính toàn vẹn: Nội dung thông tin không bị thay đổi.

3) Tính xác thực: Thông tin đƣợc gửi và nhận hợp pháp, đúng các chủ

thể giao dịch, không mạo danh.

4) Không thể chối bỏ trách nhiệm: Ngƣời gửi tin không thể chối bỏ

trách nhiệm về những thông tin đã gửi.

Bằng các công nghệ mã hóa và chữ ký số chúng ta có thể thực hiện

đƣợc các yêu cầu trên, sử dụng chữ ký số đảm bảo tốt ba yêu cầu sau cùng.

Hiện nay ngƣời ta đã sử dụng chữ ký số trong các công việc: giao dịch

các tài liệu điện tử, trao đổi thƣ tín, tiền điện tử, giao dịch ngân hàng,…, và

ứng dụng trong nhiều lĩnh vực khác nhau nhƣ: quản lý hành chính, giáo dục,

kinh tế, thƣơng mại điện tử… Ở Việt Nam, luật giao dịch điện tử đã đƣợc

Quốc hội khóa XI thông qua vào tháng 11 năm 2005 tại kỳ họp thứ 8 và có

hiệu lực từ 01/03/2006, do đó đã tạo hành lang pháp lý thuận lợi cho giao dịch

điện tử. Trong tƣơng lai không xa việc ứng dụng chữ ký điện tử sẽ trở thành

phổ biến và đóng một vai trò quan trọng thúc đẩy sự phát triển kinh tế xã hội

của đất nƣớc.

Xuất phát từ thực tế nêu trên, việc nghiên cứu các phƣơng pháp an toàn

thông tin nói chung, chữ ký số nói riêng là thiết thực và có ý nghĩa to lớn.

Luận văn “MỘT SỐ LOẠI CHỮ KÝ ĐIỆN TỬ VÀ ỨNG DỤNG”

đƣợc nghiên cứu dựa trên các vấn đề thực tiễn cuộc sống đòi hỏi nhƣ việc trao

đổi thông tin hàng ngày giữa các tổ chức, cá nhân mà yêu cầu bảo mật và an

toàn thông tin đƣợc đề ra.

Page 6: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

6

2. Nội dung nghiên cứu của luận văn

Luận văn tập trung nghiên cứu một số vấn đề chính sau đây:

1) Một số kiến thức toán học sử dụng trong khoa học mật mã

2) Tổng quan về mã hóa và chữ ký số (chữ ký điện tử).

3) Sơ đồ chữ ký RSA.

4) Các sơ đồ chữ ký số mù, chữ ký số nhóm, chữ ký số mù nhóm.

5) Ứng dụng của các sơ đồ chữ ký nói trên.

Sơ đồ chữ ký RSA là một sơ đồ chữ ký thông dụng hiện nay vì sự cài

đặt đơn giản và tính an toàn cao, làm cơ sở xây dựng nhiều loại chữ ký khác.

Các sơ đồ chữ ký số mù, chữ ký số nhóm và chữ ký số mù nhóm là các

sơ đồ chữ ký đặc biệt có nhiều ứng dụng trong các lĩnh vực: Tiền điện tử, giao

dịch ngân hàng, thƣơng mại điện tử, bỏ phiếu trực tuyến,…Các loại chữ ký

này đƣợc thiết kế để giải quyết các vấn đề: ẩn danh, làm việc theo nhóm và ký

đại diện cho nhóm trong giao dịch điện tử.

3. Phương pháp nghiên cứu

Luận văn đƣợc nghiên cứu dựa trên:

1) Học hỏi, xin ý kiến của thầy hƣớng dẫn và các đồng nghiệp.

2) Nghiên cứu các tài liệu chuyên môn liên quan bằng tiếng Việt,

tiếng Anh, tìm kiếm thông tin trên Internet.

3) Tìm hiểu và quan sát thực tiễn.

4) Thử nghiệm một số chƣơng trình đơn giản.

Page 7: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

7

4. Tổ chức luận văn

Luận văn gồm 6 chƣơng nhƣ sau:

Chƣơng 1: Các kiến thức cơ sở.

Chƣơng 2: Tổng quan về mã hóa và chữ ký số.

Chƣơng 3: Chữ ký mù.

Chƣơng 4: Chữ ký nhóm.

Chƣơng 5: Chữ ký mù nhóm.

Chƣơng 6: Thử nghiệm chƣơng trình.

Vì thời gian có hạn, trong khi đề tài lại rất sâu rộng, mặt khác kiến thức

và kinh nghiệm của bản thân về lĩnh vực này còn hạn chế, bản luận văn không

thể tránh khỏi các khiếm khuyết. Rất mong nhận đƣợc sự góp ý và bổ xung

của các thầy cô, bạn bè đồng nghiệp. Hy vọng rằng đề tài này sẽ đƣợc tiếp tục

nghiên cứu và phát triển để hoàn thiện hơn.

Page 8: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

8

Chương 1. CÁC KIẾN THỨC CƠ SỞ

Lý thuyết mật mã là một ngành khoa học đƣợc xây dựng dựa trên cơ sở

toán học, đặc biệt là lý thuyết số học. Chƣơng này tổng hợp một số kiến thức

toán học liên quan đƣợc sử dụng trong lý thuyết mật mã cũng nhƣ trong lĩnh

vực chữ ký số [2, 3, 5, 7, 33].

1.1. LÝ THUYẾT SỐ HỌC

1.1.1. Phép chia hết và chia có dư

1.1.1.1. Định nghĩa 1.1.1

1) Cho hai số nguyên a và b (b ≠ 0). Nếu có một số nguyên q sao cho a = b.q

thì ta nói rằng a chia hết cho b, kí hiệu b\a. Khi đó ta nói b là ƣớc của a hay

a là bội của b.

Ví dụ: a = 8, b = 2; ta có 8 = 2.4 do đó 2 là ƣớc của 8 và ký hiệu 2\8.

2) Cho các số nguyên a, b (b ≠ 0), tồn tại cặp số nguyên (q, r) duy nhất sao

cho a = b.q + r, 0 r < b , khi đó q gọi là thƣơng nguyên, r gọi là số dƣ của

phép chia a cho b. Nếu r = 0 thì ta có phép chia hết.

Ví dụ: a = 13, b = 5; 13 = 5.2 + 3 → q = 2, r = 3.

1.1.1.2. Một số tính chất

Với a, b, c là các số nguyên ta có:

1) ±1\a, với mọi a; a\0, a\a, với mọi a ≠ 0.

2) Nếu a\b và b\c thì a\c, với mọi a ≠ 0, b ≠ 0.

3) Nếu a\b thì a\b.c, với mọi a ≠ 0.

4) Nếu a\b và a\c thì a\(b+c) và a\(b-c), với mọi a ≠ 0.

5) Nếu a\b và c\d thì a.c\b.d, với mọi a ≠ 0, c ≠ 0.

Page 9: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

9

1.1.2. Ước chung lớn nhất, bội chung nhỏ nhất

1.1.2.1. Định nghĩa 1.1.2

1) Một số nguyên d đƣợc gọi là ƣớc chung của các số nguyên a1, a2, …, an nếu

nó là ƣớc của tất cả các số đó.

2) Một số nguyên m đƣợc gọi là bội chung của các số nguyên a1, a2, …, an

nếu nó là bội của tất cả các số đó.

3) Một ƣớc chung d>0 của các số nguyên a1, a2, …, an sao cho mọi ƣớc chung

của a1, a2, …, an đều là ƣớc của d, thì d đƣợc goi là ƣớc chung lớn nhất của

a1, a2, …, an và ký hiệu là d = gcd(a1, a2, …, an). Để cho gọn trong trình

bày ta có thể ký hiệu là d = (a1, a2, …, an).

4) Nếu gcd(a1, a2, …, an) = 1 thì các số a1, a2, …, an đƣợc gọi là nguyên tố

cùng nhau.

5) Một bội chung m>0 của các số nguyên a1, a2, …, an sao cho mọi bội chung

của a1, a2, …, an đều là bội của m, thì m đƣợc goi là bội chung nhỏ nhất của

a1, a2, …, an và ký hiệu là m = lcm(a1, a2, …, an).

Ví dụ: gcd(12,18) = 6; lcm(12,18) = 36;

gcd(8,9) = 1 do đó 8 và 9 là hai số nguyên tố cùng nhau.

1.1.2.2. Tính chất

1) d = gcd(a1, a2, …, an) khi và chỉ khi tồn tại các số x1, x2,…, xn sao cho:

d = a1x1+a2x2+…+an .

2) m = lcm(a1, a2, …, an) khi và chỉ khi (m/a1, m/a2,…, m/an) =1.

3) Nếu d là một ƣớc chung của a1, a2, …, an thì:

d = gcd(a1, a2, …, an) khi và chỉ khi gcd(a1/d, a2/d,…, an/d) =1.

4) Nếu gcd(a,b) = 1 và b\ac thì b\c.

Page 10: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

10

5) Nếu gcd(a,b) = 1 thì gcd(ac,b) = gcd(c,b).

6) Nếu gcd(a, b) =1 thì lcm(a, b) = ab.

7) Nếu b > 0, a = bq+r thì gcd(a,b) = gcd(b,r).

8) gcd(ma1, ma2, …, man) = m.gcd(a1, a2, …, an) (với m≠0).

9) lcm(a, b) = ab/gcd(a, b).

1.1.2.3. Thuật toán Euclide tìm ước chung lớn nhất

1) Bài toán

Dữ liệu vào: Cho hai số nguyên không âm a, b, a ≥ b.

Kết quả: gcd(a,b).

2) Thuật toán (mô phỏng bằng ngôn ngữ Pascal)

Readln(a, b);

While b > 0 do

Begin

r := a mod b; a := b; b := r;

End;

Writeln(a);

3) Ví dụ

Cho: a = 30, b = 18;

Ta có: gcd(30,18) = gcd(18,12) = gcd(12,6) = gcd(6,0) = 6.

a b r a = b.q + r

30 18 12 30 = 18.1 + 12

18 12 6 18 = 12.1 + 6

12 6 0 12 = 6.2 + 0

Page 11: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

11

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Đoàn Văn Ban, Võ Minh Đức, Chữ ký số RSA và ứng dụng xác thực đề

thi, cấp chứng chỉ số trong e-learning, Kỷ yếu hội thảo khoa học Quốc

gia về công nghệ phần mềm và phần mềm nhóm, Công nghệ tri thức và

giải pháp mã nguồn mở cho hệ thống e-learning, 2006.

[2] Phan Đình Diệu, Giáo trình lý thuyết mật mã và an toàn thông tin, Nhà

xuất bản Đại học Quốc gia Hà Nội, 1999.

[3] Phạm Huy Điển, Hà Huy Khoái, Mã hoá thông tin cơ sở toán học & ứng

dụng, Viện toán học, 2004.

[4] Ngô Hoàng Huy, Nguyễn Thành Quang, Lập trình Windows với C++,

Nhà xuất bản giao thông vận tải, 2006.

[5] Nguyễn Thành Nhân, RSA - tấn công và phòng chống, Nhà xuất bản

thanh niên, 2007.

[6] Trịnh Nhật Tiến, Trƣơng Thị Thu Hiền, Nguyễn Đình Nam, Một số kỹ

thuật bỏ phiếu từ xa, Kỷ yếu hội thảo khoa học Quốc gia về Công nghệ

thông tin, Nhà xuất bản Khoa học kỹ thuật, 2005.

[7] Trịnh Nhật Tiến, Giáo trình an toàn dữ liệu và mã hóa, Đại học Công

nghệ-Đại học Quốc Gia Hà Nội, 2006.

Tiếng Anh

[8] G. Ateniese and G. Tsudik. A coalition-resistant group signature

scheme. Technical Report, In Submission, October 1998.

[9] G. Ateniese and G. Tsudik. Some open issues and new directions in

group signature. Proceedings of the International Conference on

Financial Cryptography '99 (To Appear), November 1998.

Page 12: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

12

[10] G. Ateniese and G. Tsudik. Group signatures a' la carte. In ACM

Symposium on Discrete Algorithms, January 1999.

[11] Mihir Bellare and Phillip Rogaway. Random oracles are practical: A

paradigmfor designing efficient protocols. In First ACM Conference on

Computer and Communications Security, pages 62-73, Fairfax, 1993.

ACM.

[12] Jan Camenisch. Efficient and generalized group signatures. In Proc.

EUROCRYPT97, pages 465-479. Springer-Verlag, 1997. Lecture Notes

in Computer Science No. 1233.

[13] Jan Camenisch, Ueli Maurer, and Markus Stadler. Digital payment

systems with passive anonymity-revoking trustees. Journal of Computer

Security, 5(1), 1997.82

[14] Jan Camenisch and Markus Stadler. Efficient group signatures for large

groups. In Proc. CRYPTO 97, pages 410-424. Springer-Verlag, 1997.

Lecture Notes in Computer Science No. 1294.

[15] D. Chaum, A. Fiat, and M. Naor. Untraceable electronic cash. In S.

Goldwasser, editor, Proc. CRYPTO 88, pages 319-327. Springer-

Verlag, 1988. Lecture Notes in Computer Science No. 403.

[16] David Chaum. Blind signatures for untraceable payments. In R. L.

Rivest, A. Sherman, and D. Chaum, editors, Proc. CRYPTO 82, pages

199-203, New York, 1983. Plenum Press.

[17] David Chaum and Eugene van Heyst. Group signatures. In Proc.

EUROCRYPT91, pages 257-265. Springer-Verlag, 1991. Lecture Notes

in Computer Science No. 547.

[18] L. Chen and T. P. Pedersen. New group signature schemes (extended

abstract). In Proc. EUROCRYPT 94, pages 171-181. Springer-Verlag,

1994. Lecture Notes in Computer Science No. 547.

[19] A. Juels, M. Luby, and R. Ostrovsky. Security of blind digital

signatures. In Proc. CRYPTO 97, Lecture Notes in Computer Science,

Page 13: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

13

pages 150-164. Springer-Verlag, 1997. Lecture Notes in Computer

Science No. 1294.

[20] A. Lysyanskaya and Z. Ramzan. Group blind digital signatures: A

scalable solution to electronic cash. In Proceedings of the International

Conference on Financial Cryptography, 1998.

[21] A. Menezes, P. Van Oorschot, and S. Vanstone, Handbook of Applied

Cryptography, CRC Press, 1996.

[22] T. Okamoto. Provable secure and practical identification schemes and

corresponding signature signature schemes. In CRYPTO92, pages 31-

53. SPVER, 1992. Lecture Notes in Computer Science No. 740.

[23] PKCS #1 v2.1: RSA Cryptography Standard (RSA LaboratoriesJune

14,2002) Copyright © 2002 RSA Security Inc.

[24] David Pointcheval and Jacques Stern. Provably secure blind signature

schemes. In M.Y. Rhee and K. Kim, editors, Advances in Cryptology-

ASIACRYPT '96, pages 252-265. Springer-Verlag, 1996. Lecture Notes

in Computer Science No.1163.

[25] O’Reilly & Associates, Inc, Java Security 2nd

, 1995 See

http://www.oreilly.com/catalog/javasec2/

[26] R. Rivest, A. Shamir, L. Adleman. A Method for Obtaining Digital

Signatures and Public-Key Cryptosystems. Communications of the

ACM, Vol. 21 (2), pp.120–126. 1978. Previously released as an MIT

"Technical Memo" in April 1977. Initial publication of the RSA scheme.

[27] B. Schneier. Applied Cryptography: Protocols, Algorithms, and Source

Code in C. John Wiley & Sons, New York, 1993.

[28] Douglas R. Stinson, Cryptography theory and practice- Second Edition,

It was published in March, 1995, by CRC Press, Inc

[29] C. P. Schnorr. Efficient identification and signatures for smart cards. In

G. Brassard, editor, Proc. CRYPTO 89, pages 239-252. Springer-

Verlag, 1990. Lecture Notes in Computer Science No. 435.

Page 14: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

14

[30] Jacque Traore. Weaknesses of the "coalition resistant" group signature

scheme. Unpublished Manuscript, November 1998.

Địa chỉ trên mạng INTERNET

[31] http://codeproject.com

[32] http://www.cryptography.com

[33] http://www.math.niu.edu/~beachy/abstract_algebra

[34] http:/www.plannetsourcecode.com

[35] http://www.ssh.com/support/cryptography/algorithms/asymmetric.html

Page 15: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

15

Page 16: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

16

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ .................................... 1

DANH MỤC CÁC HÌNH VẼ VÀ KÝ HIỆU ................................................... 3

MỞ ĐẦU ............................................................................................................ 4

Chương 1. CÁC KIẾN THỨC CƠ SỞ ........................................................... 8

1.1. LÝ THUYẾT SỐ HỌC ........................................................................ 8

1.1.1. Phép chia hết và chia có dƣ ........................................................... 8

1.1.1.1. Định nghĩa .............................................................................. 8

1.1.1.2. Một số tính chất ...................................................................... 8

1.1.2. Ƣớc chung lớn nhất, bội chung nhỏ nhất ...................................... 9

1.1.2.1. Định nghĩa .............................................................................. 9

1.1.2.2. Tính chất ................................................................................. 9

1.1.2.3. Thuật toán Euclide tìm ƣớc chung lớn nhất ......................... 10

1.1.2.4. Thuật toán Euclide mở rộng . Error! Bookmark not defined.

1.1.3. Số nguyên tố ................................ Error! Bookmark not defined.

1.1.3.1. Định nghĩa ............................ Error! Bookmark not defined.

1.1.3.2. Một số định lý ....................... Error! Bookmark not defined.

1.1.4. Đồng dƣ thức ............................... Error! Bookmark not defined.

1.1.4.1. Định nghĩa ............................ Error! Bookmark not defined.

1.1.4.2. Các tính chất ......................... Error! Bookmark not defined.

1.1.4.3. Các lớp thặng dƣ ................... Error! Bookmark not defined.

1.1.4.4. Các định lý ............................ Error! Bookmark not defined.

1.1.4.5. Tính toán đồng dƣ của các lũy thừa bậc lớn ................. Error!

Bookmark not defined.

1.1.5. Cấu trúc nhóm ............................. Error! Bookmark not defined.

1.1.5.1. Phép toán hai ngôi ................ Error! Bookmark not defined.

1.1.5.2. Nhóm .................................... Error! Bookmark not defined.

1.1.5.3. Nhóm con .............................. Error! Bookmark not defined.

1.1.5.4. Nhóm Cyclic ......................... Error! Bookmark not defined.

1.1.5.5. Nhóm cộng Zn và nhóm nhân Zn* .......Error! Bookmark not

defined.

1.2. LÝ THUYẾT ĐỘ PHỨC TẠP TÍNH TOÁN ...Error! Bookmark not

defined.

1.2.1. Thuật toán của một bài toán ........ Error! Bookmark not defined.

1.2.1.1. Bài toán ................................. Error! Bookmark not defined.

1.2.1.2. Định nghĩa thuật toán ........... Error! Bookmark not defined.

1.2.1.3. Hai mô hình tính toán ........... Error! Bookmark not defined.

1.2.2. Độ phức tạp thuật toán................. Error! Bookmark not defined.

1.2.3. Phân lớp bài toán theo độ phức tạp ............Error! Bookmark not

defined.

Page 17: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

17

1.2.3.1. Lớp bài toán P, NP ................ Error! Bookmark not defined.

1.2.3.2. Lớp bài toán NP-Hard, NP-Complete .Error! Bookmark not

defined.

1.2.4. Hàm một phía và hàm một phía có cửa sậpError! Bookmark not

defined.

1.2.5. Một số bài toán khó đƣợc sử dụng trong lý thuyết mật mã . Error!

Bookmark not defined.

Chương 2. TỔNG QUAN VỀ MÃ HÓA VÀ CHỮ KÝ SỐ .................Error!

Bookmark not defined.

2.1. CÁC KHÁI NIỆM CƠ BẢN ............. Error! Bookmark not defined.

2.1.1. Lý thuyết mật mã và an toàn thông tin .......Error! Bookmark not

defined.

2.1.2. Hệ mã hóa .................................... Error! Bookmark not defined.

2.1.2.1. Định nghĩa ............................ Error! Bookmark not defined.

2.1.2.2. Các yêu cầu của một hệ mã hóa ..........Error! Bookmark not

defined.

2.1.2.3. Hệ mã hóa khóa đối xứng ..... Error! Bookmark not defined.

2.1.2.4. Hệ mã hóa khóa công khai ... Error! Bookmark not defined.

2.2. MỘT SỐ HỆ MÃ HÓA KHÓA CÔNG KHAI Error! Bookmark not

defined.

2.2.1. Hệ mã hóa RSA ........................... Error! Bookmark not defined.

2.2.1.1. Giới thiệu .............................. Error! Bookmark not defined.

2.2.1.2. Sơ đồ hệ mã hóa RSA ........... Error! Bookmark not defined.

2.2.1.3. Ví dụ ..................................... Error! Bookmark not defined.

2.2.2. Hệ mã hoá Elgamal ..................... Error! Bookmark not defined.

2.2.2.1. Sơ đồ hệ mã hóa Elgamal ..... Error! Bookmark not defined.

2.2.2.2. Đặc điểm của Hệ mã hoá Elgamal ......Error! Bookmark not

defined.

2.2.2.3. Ví dụ ..................................... Error! Bookmark not defined.

2.2.3. Tính hiệu quả và độ an toàn của hệ mã hóa ..... Error! Bookmark

not defined.

2.2.3.1. Hệ mã hóa khóa đối xứng ..... Error! Bookmark not defined.

2.2.3.2. Hệ mã hóa khóa công khai RSA ..........Error! Bookmark not

defined.

2.2.3.3. Cơ sở hạ tầng khóa công khai KPI ......Error! Bookmark not

defined.

2.3. CHỮ KÝ SỐ....................................... Error! Bookmark not defined.

2.3.1. Khái niệm chữ ký ........................ Error! Bookmark not defined.

2.3.1.1. Chữ ký viết tay ...................... Error! Bookmark not defined.

2.3.1.2. Chữ ký số .............................. Error! Bookmark not defined.

2.3.2. Sơ đồ chữ ký số ........................... Error! Bookmark not defined.

2.3.3. Phân loại các sơ đồ chữ ký số ...... Error! Bookmark not defined.

Page 18: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

18

2.3.3.1. Sơ đồ chữ ký số kèm theo thông điệp gốc . Error! Bookmark

not defined.

2.3.3.2. Sơ đồ chữ ký số có thể khôi phục thông điệp gốc ........ Error!

Bookmark not defined.

2.4. SƠ ĐỒ CHỮ KÝ RSA ....................... Error! Bookmark not defined.

2.4.1. Cơ sở toán học ............................. Error! Bookmark not defined.

2.4.2. Thuật toán sinh khoá ................... Error! Bookmark not defined.

2.4.3. Thuật toán sinh và xác thực chữ ký RSA ...Error! Bookmark not

defined.

2.4.3.1. Sinh chữ ký ........................... Error! Bookmark not defined.

2.4.3.2. Xác thực chữ ký .................... Error! Bookmark not defined.

2.4.4. Ví dụ ............................................ Error! Bookmark not defined.

2.4.5. Tính hiệu quả và bảo mật ............ Error! Bookmark not defined.

2.4.5.1. Tính hiệu quả ........................ Error! Bookmark not defined.

2.4.5.2. Tính bảo mật ......................... Error! Bookmark not defined.

2.5. HÀM BĂM VÀ ĐẠI DIỆN THÔNG ĐIỆP .....Error! Bookmark not

defined.

2.5.1. Đặt vấn đề .................................... Error! Bookmark not defined.

2.5.2. Đại diện thông điệp ..................... Error! Bookmark not defined.

2.5.3. Hàm băm mật mã ......................... Error! Bookmark not defined.

2.5.3.1. Định nghĩa ............................ Error! Bookmark not defined.

2.5.3.2. Các tính chất của hàm băm ... Error! Bookmark not defined.

2.5.3.3. Phân loại hàm băm ............... Error! Bookmark not defined.

2.5.3.4. Ý nghĩa của việc dùng hàm băm .........Error! Bookmark not

defined.

2.5.3.5. Một số thuật toán hàm băm mật mã thông dụng .......... Error!

Bookmark not defined.

2.6. PHƢƠNG PHÁP XÁC THỰC THÔNG ĐIỆP Error! Bookmark not

defined.

2.6.1. Xác thực thông điệp là gì? ........... Error! Bookmark not defined.

2.6.2. Một số phƣơng pháp xác thực thông điệp ..Error! Bookmark not

defined.

2.6.2.1. Mã hoá thông điệp bằng khóa riêng ....Error! Bookmark not

defined.

2.6.2.2. Dùng khoá bí mật chung ....... Error! Bookmark not defined.

2.6.2.3. Dùng hàm băm ...................... Error! Bookmark not defined.

2.7. CHỨNG MINH SỰ AN TOÀN CỦA SƠ ĐỒ CHỮ KÝ .......... Error!

Bookmark not defined.

2.7.1. Chứng minh dựa trên độ phức tạp tính toán ..... Error! Bookmark

not defined.

2.7.2. Chứng minh dựa trên mô hình Oracle ngẫu nhiên .............. Error!

Bookmark not defined.

Chương 3. CHỮ KÝ MÙ .............................. Error! Bookmark not defined.

Page 19: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

19

3.1. GIỚI THIỆU ....................................... Error! Bookmark not defined.

3.2. CHỮ KÝ MÙ DỰA TRÊN CHỮ KÝ RSA .....Error! Bookmark not

defined.

3.2.1. Sơ đồ chữ ký RSA ....................... Error! Bookmark not defined.

3.2.2. Sơ đồ chữ ký mù Chaum ............. Error! Bookmark not defined.

3.3. CHỮ KÝ MÙ DỰA TRÊN CHỮ KÝ SCHNORR Error! Bookmark

not defined.

3.3.1. Sơ đồ chữ ký Schnorr .................. Error! Bookmark not defined.

3.3.2. Sơ đồ chữ ký mù Schnorr ............ Error! Bookmark not defined.

3.4. CÁC ỨNG DỤNG ............................. Error! Bookmark not defined.

3.4.1. Ứng dụng với tiền điện tử ............ Error! Bookmark not defined.

3.4.1.1. Giới thiệu về tiền điện tử ...... Error! Bookmark not defined.

3.4.1.2. Giao thức giao dịch tiền điện tử cơ bản ..... Error! Bookmark

not defined.

3.4.1.3. Một số vấn đề an toàn với tiền điện tử ẩn danh ............ Error!

Bookmark not defined.

3.4.2. Ứng dụng với bỏ phiếu điện tử .... Error! Bookmark not defined.

3.4.2.1. Các yêu cầu với một cuộc bỏ phiếu .....Error! Bookmark not

defined.

3.4.2.2. Giao thức bỏ phiếu điện tử ... Error! Bookmark not defined.

3.5. CHỮ KÝ DỰA TRÊN TRI THỨC .... Error! Bookmark not defined.

3.5.1. Một số khái niệm toán học liên quan .........Error! Bookmark not

defined.

3.5.2. Chữ ký dựa trên tri thức .............. Error! Bookmark not defined.

3.6. CHỮ KÝ MÙ DỰA TRÊN TRI THỨC ...........Error! Bookmark not

defined.

3.6.1. Chữ ký mù dựa trên tri thức về Logarit rời rạc Error! Bookmark

not defined.

3.6.1.1. Giao thức chữ ký .................. Error! Bookmark not defined.

3.6.1.2. Phân tích chữ ký ................... Error! Bookmark not defined.

3.6.2. Chữ ký mù dựa trên tri thức về Logarit rời rạc kép ............ Error!

Bookmark not defined.

3.6.2.1. Giao thức chữ ký .................. Error! Bookmark not defined.

3.6.2.2. Phân tích chữ ký ................... Error! Bookmark not defined.

3.6.3. Chữ ký mù dựa trên tri thức về gốc của Logarit rời rạc ...... Error!

Bookmark not defined.

3.6.3.1. Giao thức chữ ký .................. Error! Bookmark not defined.

3.6.3.2. Phân tích chữ ký. .................. Error! Bookmark not defined.

Chương 4. CHỮ KÝ NHÓM ........................ Error! Bookmark not defined.

4.1. GIỚI THIỆU ....................................... Error! Bookmark not defined.

4.1.1. Các thủ tục của chữ ký nhóm ...... Error! Bookmark not defined.

4.1.2. Các yêu cầu với chữ ký nhóm ..... Error! Bookmark not defined.

Page 20: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

20

4.1.3. Giới thiệu lịch sử nghiên cứu chữ ký nhóm ..... Error! Bookmark

not defined.

4.2. CHỮ KÝ NHÓM CHAUM VÀ HEYST ..........Error! Bookmark not

defined.

4.2.1. Sơ đồ chữ ký nhóm dạng 1 .......... Error! Bookmark not defined.

4.2.2. Sơ đồ chữ ký nhóm dạng 2 .......... Error! Bookmark not defined.

4.3. CHỮ KÝ NHÓM CAMENISCH VÀ STADLER (CS97) ........ Error!

Bookmark not defined.

4.4. MỘT BIẾN THỂ AN TOÀN HƠN CỦA CS97 ..... Error! Bookmark

not defined.

4.4.1. Sự liên minh tấn công chống lại CS97 .......Error! Bookmark not

defined.

4.4.2. Sửa đổi giao thức Join để ngăn chặn liên minh tấn công .... Error!

Bookmark not defined.

Chương 5. CHỮ KÝ MÙ NHÓM ................. Error! Bookmark not defined.

5.1. GIỚI THIỆU ....................................... Error! Bookmark not defined.

5.2. CÁC YÊU CẦU BẢO MẬT CỦA CHỮ KÝ MÙ NHÓM ....... Error!

Bookmark not defined.

5.3. CÁC THỦ TỤC CỦA CHỮ KÝ MÙ NHÓM ..Error! Bookmark not

defined.

5.4. CHỮ KÝ MÙ NHÓM LYSYANSKAYA VÀ RAMZAN ....... Error!

Bookmark not defined.

5.4.1. Giao thức chữ ký ......................... Error! Bookmark not defined.

5.4.2. Phân tích chữ ký .......................... Error! Bookmark not defined.

5.5. ỨNG DỤNG CỦA CHỮ KÝ MÙ NHÓM .......Error! Bookmark not

defined.

5.5.1. Ứng dụng với ngân hàng điện tử phân tán .Error! Bookmark not

defined.

5.5.1.1. Sơ đồ ngân hàng điện tử phân tán .......Error! Bookmark not

defined.

5.5.1.2. Thiết đặt và các giao thức ..... Error! Bookmark not defined.

5.5.2. Ứng dụng với tiền mặt điện tử ngoại tuyến Error! Bookmark not

defined.

5.5.2.1. Các yêu cầu ........................... Error! Bookmark not defined.

5.5.2.2. Thiết đặt và các giao thức ..... Error! Bookmark not defined.

5.5.3. Ứng dụng với bỏ phiếu trực tuyến..............Error! Bookmark not

defined.

5.5.3.1. Sơ đồ bỏ phiếu ...................... Error! Bookmark not defined.

5.5.3.2. Giao thức bỏ phiếu trực tuyến .............Error! Bookmark not

defined.

Chương 6. THỬ NGHIỆM CHƢƠNG TRÌNH ........... Error! Bookmark not

defined.

Page 21: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

21

6.1. MỤC ĐÍCH ........................................ Error! Bookmark not defined.

6.2. GIỚI THIỆU MỘT SỐ CHƢƠNG TRÌNH ......Error! Bookmark not

defined.

6.2.1. Sinh số nguyên tố lớn, phép toán số lớn ....Error! Bookmark not

defined.

6.2.2. Sinh khóa RSA ............................ Error! Bookmark not defined.

6.2.3. Mã hóa, giải mã RSA .................. Error! Bookmark not defined.

6.2.4. Sử dụng hàm băm ........................ Error! Bookmark not defined.

6.2.5. Sinh và thẩm tra chữ ký, chữ ký mù ...........Error! Bookmark not

defined.

KẾT LUẬN ...................................................... Error! Bookmark not defined.

TÀI LIỆU THAM KHẢO ................................................................................ 11

LỜI CẢM ƠN

Trước tiên tôi xin được bày tỏ lòng biết ơn chân thành, sâu sắc đến

PGS. TS. Trịnh Nhật Tiến, thầy đã định hướng, tận tâm hướng dẫn, cung cấp

tài liệu và những kiến thức quý báu, nhiệt tình giúp đỡ tôi trong quá trình học

tập và hoàn thành luận văn này. Tôi rất phấn khởi và vinh hạnh được làm việc

dưới sự hướng dẫn của thầy.

Tôi xin gửi lời cảm ơn đến Quý thầy cô công tác và giảng dạy tại

trường Đại học công nghệ, Đại học Quốc gia Hà Nội đã tận tình truyền đạt

cho tôi nhiều tri thức bổ ích, giúp tôi hoàn thành tốt nhiệm vụ khóa học.

Tôi xin gửi lời cảm ơn đến Qúy lãnh đạo Sở Giáo dục và Đào tạo tỉnh

Bắc Giang, trường THPT Chuyên Bắc Giang đã tạo điều kiện thuận lợi cho

tôi đi học cao học tại Đại học Quốc gia Hà Nội.

Cuối cùng, tôi không quên gửi lời cảm ơn gia đình, các đồng nghiệp và

bạn bè đã động viên, cổ vũ, tạo điều kiện giúp đỡ tôi về nhiều mặt trong cuộc

sống, học tập và công tác.

Page 22: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ …repository.vnu.edu.vn/bitstream/VNU_123/14553/1/V_L0_01422.pdf · Lý thuyết mật mã là một ngành

22

Hà Nội, ngày 01 tháng 12 năm 2007

Tác giả

Nguyễn Trịnh Đoàn

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Giải mã

Đại diện Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y

Đại diện

Y