Khoảng trống về học thuật là chưa xây dựng cơ sở toán học và hệ tiêu chuẩn cho tham số; đa số các lược đồ chữ ký chưa được khuyến cáo cho người sử dụng nên sử dụng hệ tiêu chuẩn tham s
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận án tiến sĩ là công trình khoa học của riêng tôi Kết quả nghiên cứu là trung thực, khách quan và chưa từng được công bố trong bất kỳ công trình khoa học nào của người khác
Tôi xin cam đoan rằng mọi thông tin, luận cứ, luận chứng mà luận án đã trích dẫn đều được chỉ rõ địa chỉ nguồn gốc
Hà Nội, ngày 10 tháng 10 năm 2019
Tác giả
Lê Văn Tuấn
Trang 2
LỜI CẢM ƠN
Trong quá trình thực hiện luận án “Phát triển và xây dựng tham số an
toàn cho hệ chữ ký số trên bài toán logarit rời rạc theo modul hợp số” tôi đã
nhận được sự giúp đỡ của Đảng ủy, ban Giám đốc Học viện Kỹ thuật Quân sự; sự quan tâm, giúp đỡ của Đảng ủy, ban Giám đốc Học viện Khoa học Quân sự; sự giúp đỡ của tập thể cùng ban lãnh đạo Phòng Sau Đại học Học viện Kỹ thuật Quân sự; sự giúp đỡ của tập thể giảng viên Khoa CNTT Học viện Kỹ thuật Quân sự, nơi tôi sinh hoạt học thuật Tôi xin chân thành cảm ơn
sự giúp đỡ quý báu đó
Tôi xin chân thành cảm ơn TS Lều Đức Tân và TS Bùi Thế Truyền, đã hướng dẫn tôi về chuyên môn và phương pháp nghiên cứu trong suốt quá trình thực hiện đề tài luận án
Tôi xin chân thành cảm ơn sự giúp đỡ của các bạn bè, đồng nghiệp đang học tập và công tác tại Học viện Khoa học Quân sự và Học viện Kỹ thuật Quân sự; đặc biệt là sự động viên, giúp đỡ của gia đình, người thân để tôi hoàn thành luận án này
Tác giả
Trang 3
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU v
BẢNG CHỮ VIẾT TẮT vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ viii
MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU VÀ CƠ SỞ LÝ THUYẾT CỦA LUẬN ÁN 18
1.1 Tổng quan và vấn đề nghiên cứu của luận án 18
1.1.1 Tổng quan 18
1.1.2 Một số lược đồ chữ ký số trên trường ℤp 19
1.1.3 Một số lược đồ chữ ký số trên vành ℤn 20
1.1.4 Vấn đề nghiên cứu của luận án 22
1.2 Cơ sở lý thuyết liên quan đến luận án 24
1.2.1 Một số định nghĩa và định lý quan trọng 24
1.2.2 Thuật toán và độ phức tạp của thuật toán 26
1.2.3 Lược đồ chữ ký số khóa công khai 32
1.2.4 Lược đồ chữ ký số trên trường ℤp 36
1.2.5 Lược đồ chữ ký số trên vành ℤn 43
1.2.6 Ngưỡng an toàn và chuẩn tham số an toàn 47
1.3 Kết luận 50
CHƯƠNG 2 PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ SỐ TRÊN VÀNH 51
2.1 Mở đầu 51
2.2 Một số kiến thức bổ trợ 51
2.3 Xây dựng lược đồ chữ ký số cơ sở 55
2.3.1 Đặt vấn đề 55
2.3.2 Xây dựng công thức tổng quát 56
2.4 Đề xuất lược đồ chữ ký số trên vành ℤn 65
2.4.1 Lược đồ chữ ký số dạng 1 65
2.4.2 Lược đồ chữ ký số dạng 2 68
2.4.3 Phân tích các lược đồ chữ ký đề xuất 70
2.4.4 Một số so sánh và điều kiện an toàn cho lược đồ đề xuất 75
2.5 Xây dựng hệ tham số cho lược đồ 79
2.5.1 Số Modulo 80
2.5.2 Xác định phần tử sinh 80
2.5.3 Xác định thành phần bí mật và công khai 85
2.5.4 Hệ tham số của lược đồ 85
Trang 42.6 Thử nghiệm và đánh giá kết quả 85
2.6.1 Chuẩn bị thử nghiệm 85
2.6.2 Tiến hành thử nghiệm 87
2.6.3 Đánh giá kết quả 91
2.7 Kết luận 93
CHƯƠNG 3 XÂY DỰNG THAM SỐ AN TOÀN CHO CÁC LƯỢC ĐỒ CHỮ KÝ SỐ ĐỀ XUẤT 94
3.1 Mở đầu 94
3.2 Ngưỡng an toàn 95
3.2.1 Ngưỡng an toàn của Lenstra và Verheul 95
3.2.2 Ngưỡng an toàn của lược đồ chữ ký số đề xuất 97
3.3 Xây dựng hệ tiêu chuẩn tham số an toàn 102
3.3.1 Ý tưởng 102
3.3.2 Xây dựng hệ tiêu chuẩn cho tham số 103
3.4 Sinh tham số cho các lược đồ chữ ký số đề xuất 108
3.4.1 Thuật toán 108
3.4.2 Chương trình 122
3.5 Thử nghiệm và đánh giá kết quả 123
3.5.1 Thử nghiệm 123
3.5.2 Đánh giá kết quả 134
3.6 Kết luận 136
KẾT LUẬN VÀ ĐỀ XUẤT 137
I KẾT LUẬN 137
1 Về lý thuyết 137
2 Về thực nghiệm 138
II ĐỀ XUẤT VÀ HƯỚNG NGHIÊN CỨU 138
1 Đề xuất: 138
2 Hướng nghiên cứu: 139
DANH MỤC CÁC CÔNG TRÌNH CỦA TÁC GIẢ 140
TÀI LIỆU THAM KHẢO 141
PHỤ LỤC 146
Trang 5DANH MỤC CÁC KÝ HIỆU Các tập hợp số:
ℕ tập số tự nhiên
ℤ Tập số nguyên
R Tập số thực
P Tập các số nguyên tố
Ký hiệu lấy phần nguyên: Cho số thực 𝑥:
⌈x⌉: số nguyên m nhỏ nhất sao cho m ≥ x
⌊x⌋: số nguyên m lớn nhất sao cho m ≤ x
Ký hiệu liên quan đến lý thuyết chia hết:
a.b: số a nhân với số b
a|b: a là ước của b, ngược lại b là bội của a
GCD(a, b): ước số chung lớn nhất của a và b
LMC(a, b): bội số chung nhỏ nhất của a và b
Số nguyên tố bổ trợ: Cho 𝑝, 𝑞 là số nguyên tố
p1: ước nguyên tố lớn nhất của p – 1
p2: ước nguyên tố lớn nhất của p + 1
q1: ước nguyên tố lớn nhất của q − 1
q2: ước nguyên tố lớn nhất của q + 1
Một số ký hiệu khác:
DLPp: Bài toán logarit rời rạc trên trường ℤp
DLPn: Bài toán logarit rời rạc trên vành ℤn
k∈R X: Lẫy ngẫu nhiên phần tử k thuộc tập X
x || y: Ký kiệu nối chuỗi x với chuỗi y
Secure_strength: Ký hiệu ngưỡng an toàn cho một hệ mật L(a): Kích thước của số nguyên a tính theo đơn vị bít Ordn(g): Cấp của g trong vành ℤn
TLKTTB: Thực lực kinh tế của tổ chức tình báo
TLTTSMT: Thực lực tính toán của siêu máy tính
Trang 6BẢNG CHỮ VIẾT TẮT Các chữ viết tắt Ý nghĩa
AN-QP Quốc phòng - An ninh
CPLT Chi phí lý thuyết
DLP Dicrete Logarithms Problem
DSA Digital Signature Algorithm
ECM Elliptic Curve Method
FIPS Federal Information Processing Standards
IMY Infeasible number of Mips Years
NIST National Institute of Standards and Technology RSA Ron Rivest, Adi Shamir và Len Adleman
Trang 7DANH MỤC CÁC BẢNG
Bảng 1.1 Thống kê độ phức tạp một số phép toán 28
Bảng 1.2 Kết quả chi phí tính toán 43
Bảng 1.3 Độ dài số modulo n và thời gian sống 49
Bảng 1.4 Một số tiêu chuẩn tham số an toàn trong FIPS 49
Bảng 1.5 Tiêu chuẩn tham số lược đồ TCVN 7635-2007 50
Bảng 2.1 Bảng thống kê kết quả phân tích lược đồ đề xuất 73
Bảng 2.2 Thời gian sinh chữ ký và xác nhận chữ ký 91
Bảng 3.1 Ngân quỹ dành cho một số tổ chức tình báo của Mỹ 98
Bảng 3.2 Một số tiêu chuẩn cập nhật năm 2019 107
Bảng 3.3 Ngưỡng an toàn tính theo Lenstra và Verheul 125
Bảng 3.4 Ngưỡng an toàn trong môi trường KT-XH 126
Bảng 3.5 Ngưỡng an toàn trong lĩnh vưc AN-QP 127
Bảng 3.6 Thời gian sinh tham số 134
Trang 8DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Biểu đồ kết quả thử nghiệm sinh chữ ký 92
Hình 2.2 Biểu đồ kết quả thử nghiệm xác nhận chữ ký 92
Hình 3.1 Đồ thị so sánh ngưỡng an toàn 128
Hình 3.2 Biểu đồ ngưỡng an toàn 128
Trang 9đó là vụ tấn công mạng bởi mã độc NotPetya vào sáng 27/6/2017[54] và nhiều cuộc tấn công khác vào các webside hàng loạt các tập đoàn kinh tế hàng đầu của Mỹ trong năm 2018 đã gây thiệt hại hàng tỷ USD Ở Việt nam, những vụ mất an toàn thông tin nghiêm trọng đã xảy ra trong thời gian qua, tiêu biểu là
vụ tấn công mạng của hãng Hàng không Quốc gia Việt nam vào ngày 29/7/2016[55] và nhiều cuộc tấn công mạng khác [55], [56], [58] Theo thông tin từ [56], tính riêng năm 2018, thiệt hại do virus máy tính gây ra đối với người dùng Việt Nam đã lên mức kỷ lục 14.900 tỷ đồng, tương đương 642 triệu USD, nhiều hơn 21% so với mức thiệt hại của năm 2017 Vậy an toàn thông tin cho các dịch vụ điện tử không còn là vấn đề riêng của mỗi tổ chức, quốc gia mà đã trở thành vấn đề chung của toàn thế giới
Trước bối cảnh đó, đã có nhiều giải pháp là kết quả nghiên cứu của các nhà khoa học được ứng dụng trong lĩnh vững an toàn và bảo mật thông tin, tiêu biểu là sự phát minh ra mật mã khóa công khai của hai tác giả W Diffie và M Hellman đã tạo bước ngoặt lớn trong ngành mật mã nói chung và trong lĩnh
Trang 10vực an toàn và bảo mật thông tin nói riêng Nhờ sự phát minh vĩ đại này của W Diffie và M Hellman, hàng loạt các dịch vụ an toàn, bảo mật thông tin được ra đời, tiêu biểu là các dịch vụ xác thực sử dụng chữ ký số Chữ ký số là một dạng chữ ký điện tử, có chức năng xác thực, đảm bảo tính toàn vẹn và tính không thể chối bỏ của các bên gửi, nhận tin Sự ra đời của chữ ký số góp phần xây dựng thành công Chính phủ Điện tử, Thương mại Điện tử và là cơ sở cho sự ra đời của hàng loạt dịch vụ an toàn thông tin khác trên mạng Internet Những lược đồ chữ ký số tiêu biểu được kể đến, đó là lược đồ chữ ký số RSA[20] có độ an toàn dựa trên tính khó giải của bài toán phân tích số, được ứng dụng rộng rãi trên thế giới trong đó có Việt Nam; lược đồ chữ ký số ElGamal cùng các biến thể có
độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường hữu hạn ℤp được đề cập trong các kết quả nghiên cứu [13], [17], [18], [27-29], [32],[33], [38], [44], [46-52] Điểm tồn tại chung của lược đồ chữ ký số trên trường hữu hạn ℤp (lược đồ Elgamal và các biến thể của nó) đều công khai cấp của phần tử sinh (chính xác hơn là không thể che giấu cấp phần tử sinh), chính đặc điểm này khiến cho các lược đồ chữ ký này phải đối mặt với hai nguy cơ: nguy cơ thứ nhất là mất an toàn trong tình huống trùng khóa phiên hoặc lộ khóa phiên; nguy cơ thứ hai có khả năng bị tấn công bởi các thuật toán giải bài toán logarit rời rạc dựa vào cấp của phần tử sinh 𝑔 khi tham số của lược đồ chữ
ký không đạt tiêu chuẩn an toàn, chẳng hạn tấn công sử dụng thuật toán Rho của Pollard, thuật toán Pohlig Hellman và thuật toán Index calculate Hơn nữa, tốc độ sinh chữ ký của lược đồ chữ ký trên trường ℤp chậm hơn nhiều tốc độ sinh chữ ký của các lược đồ chữ ký cùng loại trên vành ℤn, do các phép toán có chi phí lớn trong các lược đồ chữ ký là phép lũy thừa, phép tính phần tử nghịch đảo trên vành ℤn sẽ có chi phí nhỏ hơn nhiều trên trường ℤp nhờ áp dụng định lý CRT (được chứng minh trong bổ đề 2.3 của luận án, n = p q và L(p) =L(q), điều này còn được đề cập trong [10] khi áp dụng định lý CRT cho
Trang 11lược đồ chữ ký RSA) Hơn nữa, các lược đồ chữ ký cùng loại được xây dựng trên cấu trúc vành ℤn tránh được hai nguy cơ tấn công nêu trên nhờ tính chất che giấu cấp phần tử sinh
Trước sự phát triển như vũ bão cuộc cách mạng công nghiệp lần thứ tư, đặc biệt là sự ra đời của các máy tính lượng tử có khả năng tính toán nhanh gấp nhiều lần so với các loại máy tính truyền thống trong tương lai, việc nghiên cứu phát triển các lược đồ chữ ký số trên cấu trúc vành ℤn an toàn và hiệu quả hơn
có ý nghĩa khoa học và thực tiễn và nhiều lược đồ chữ ký số được xây dựng trên cấu trúc vành ℤn, được đề xuất bởi các nhà khoa học trong nước và trên thế giới [1], [3], [21], [39], [41] Kết quả khảo sát một số lược đồ chữ ký số trên vành ℤn đã công bố cho thấy các nhà khoa học mới dừng lại ở việc đề xuất lược đồ chữ ký số mới, chứng minh tính đúng đắn và kết luận tính an toàn của lược đồ dựa trên một hoặc hai bài toán khó nào đó Khoảng trống về học thuật là chưa xây dựng cơ sở toán học và hệ tiêu chuẩn cho tham số; đa số các lược đồ chữ ký chưa được khuyến cáo cho người sử dụng nên sử dụng hệ tiêu chuẩn tham số đã có của thế giới; một số lược đồ chữ ký định lượng độ lớn cấp của phần tử sinh là số 256 bit mà không đưa ra lý giải tại sao, hơn nữa với độ lớn của cấp 256 bit, các lược đồ chữ ký này không thể sử dụng được hàm băm SHA 512, dẫn đến độ an toàn của nó bị hạn chế; cấp của phần tử sinh trong một số lược đồ chữ ký được định lượng về độ lớn xấp xỉ với độ lớn của số modulo [39] dẫn đến chi phí tính toán cao Hơn nữa, lược đồ chữ ký trong [39] chọn số modulo 𝑛 được cấu tạo bởi số nguyên tố 𝑝, 𝑞 siêu mạnh (n = p q), điều này sẽ không thực
tế với các lược đồ chữ ký số trên vành ℤn đều đòi hỏi tham số phân biệt với từng người sử dụng(chống tấn công sử dụng số modulo chung), trên thực tế mật độ số nguyên tố siêu mạnh rất thưa Có thể nói rằng những tồn tại nêu trên các lược đồ
đã công bố là khoảng trống về học thuật cần giải quyết trong luận án này Chính
vì thế, NCS đã chọn đề tài “Phát triển và xây dựng tham số an toàn cho hệ chữ ký số trên bài toán logarit rời rạc theo modul hợp số” làm luận án tiến sĩ của
Trang 12mình với mong muốn đóng góp một phần nhỏ vào sự phát triển Khoa học - Công nghệ trong lĩnh vực an toàn và bảo mật thông tin nói chung và trong phát triển các lược đồ chữ ký số nói riêng Kết quả nghiên cứu đã đề xuất được bốn lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn, đồng thời luận án đã định lượng được các tham số của lược đồ thông qua hệ tiêu chuẩn tham số và đề xuất hai môi trường ứng dụng là môi trường TK-XH và lĩnh vực AN-QP làm cơ sở tham khảo cho các
tổ chức hoặc cá nhân khi đánh giá độ an toàn hoặc có ý định ứng dụng các lược
đồ chữ ký số này vào thực tiễn
2 Mục tiêu nghiên cứu
- Nghiên cứu, phát triển lược đồ chữ ký số mới có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn an toàn và hiệu quả hơn một số lược đồ chữ ký số cùng loại được công bố trước đó
- Nghiên cứu xây dựng công thức tính ngưỡng an toàn, hệ tiêu chuẩn tham
số an toàn và đề xuất môi trường ứng dụng cho các lược đồ chữ ký đề xuất;
- Xây dựng công cụ thử nghiệm sinh tham số, sinh chữ ký và xác nhận chữ ký cho các lược đồ đề xuất thỏa mãn hệ tiêu chuẩn đã đưa ra
3 Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận án gồm:
- Lược đồ chữ ký số
- Tham số của lược đồ chữ ký số
- Ngưỡng an toàn và hệ tiêu chuẩn tham số an toàn cho lược đồ chữ ký số
4 Phạm vi nghiên cứu
4.1 Về lý thuyết
- Nghiên cứu lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường hữu hạn ℤp, trong đó tập trung vào nghiên
Trang 13cứu kỹ thuật thiết kế lược đồ chữ ký số mà các lược đồ Elgamal và lược đồ DSA đã sử dụng; phân tích, chỉ ra một số điểm tồn tại trên các lược đồ chữ ký
số này
- Nghiên cứu lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn với 𝑛 là tích của hai số nguyên tố phân biệt, trong đó tập trung vào nghiên cứu kỹ thuật thiết kế mà các lược đồ chữ ký đã sử dụng; phân tích, chỉ ra những điểm tồn tại trên các lược đồ chữ ký
số này
- Nghiên cứu xây dựng lược đồ cơ sở và các lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn che giấu cấp của phần tử sinh
- Nghiên cứu ngưỡng an toàn và hệ tiêu chuẩn tham số an toàn cho lược
đồ chữ ký số đề xuất và đề xuất môi trường sử dụng cho nó
- Nghiên cứu, xây dựng thuật toán và chương trình sinh tham số theo hệ tiêu chuẩn cho các lược đồ đề xuất
4.2 Về thực nghiệm
- Kiểm chứng tính đúng đắn, tính đầy đủ, tính hiệu quả của các lược đồ chữ ký số đề xuất; so sánh chi phí tính toán của lược đồ chữ ký đề xuất với lược đồ chữ ký số Elgama và lược đồ DSA
- Kiểm tra tính đúng đắn kết quả tính ngưỡng an toàn theo công thức đã xây dựng
- Kiểm tra tham số được sinh ra theo từng tiêu chuẩn trong hệ tiêu chuẩn
5 Nội dung nghiên cứu
Nội dung nghiên cứu của luận án gồm:
- Nghiên cứu kỹ thuật thiết kế lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường hữu hạn ℤ𝑝của các nhà khoa học trong nước và trên thế giới liên quan đến luận án
Trang 14- Nghiên cứu kỹ thuật thiết kế lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤ𝑛của các nhà khoa học trong nước và trên thế giới liên quan đến luận án
- Chỉ ra những điểm tồn tại trên các lược đồ chữ ký số đã khảo sát và xác định những khoảng trống về học thuật và xác định vấn đề nghiên cứu của luận án; trình bày cơ sở lý thuyết liên quan đến vấn đề nghiên cứu của luận án
- Nghiên cứu xây dựng lược đồ chữ ký số cơ sở có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn, dựa trên các lược đồ cơ sở này nghiên cứu sinh đã phát triển bốn lược đồ chữ ký số trên vành hữu hạn ℤ𝑛
- Khảo sát phương pháp tính ngưỡng an toàn của thế giới[12] và của một
số nhà khoa học Việt Nam[8], [9], từ đó nghiên cứu, xây dựng công thức tính ngưỡng an toàn cho các lược đồ chữ ký số đề xuất
- Khảo sát một số chuẩn tham số của thế giới và của Việt Nam liên quan đến tham số lược đồ chữ ký số trên bài toán phân tích số, bài toán logarit rời rạc; xây dựng hệ tiêu chuẩn tham số cho lược đồ chữ ký số đề xuất có kế thừa một số chuẩn đã có của Việt Nam và phát triển thêm một số tiêu chuẩn riêng cho lược đồ chữ ký số đề xuất
- Nghiên cứu, xây dựng thuật toán sinh tham số theo hệ tiêu chuẩn đã chỉ
ra cho các lược đồ chữ ký số đề xuất
- Nghiên cứu, xây dựng chương trình để thử nghiệm việc xác định ngưỡng
an toàn, sinh chữ ký, xác nhận chữ ký và sinh tham số cho lược đồ chữ ký số đề xuất theo hệ tiêu chuẩn đã đưa ra
- Thử nghiệm và đánh giá kết quả nghiên cứu
6 Phương pháp nghiên cứu
Các phương pháp nghiên cứu sau đã được kết hợp sử dụng trong quá trình thực hiện đề tài luận án:
Trang 15- Phương pháp lý thuyết: Tiến hành khảo sát, phân tích, tổng hợp và phát triển các kết quả nghiên cứu trong nước và trên thế giới về thiết kế lược đồ chữ
ký số hình thành nên lược đồ chữ ký số cơ sở[CT9]; Nghiên cứu cách tiếp cận tính ngưỡng an toàn [8], [9], [12] và hệ tiêu chuẩn tham số an toàn để xây dựng
hệ tiêu chuẩn tham số an toàn cho lược đồ chữ ký số đề xuất
- Phương pháp chuyên gia: Xin ý kiến chuyên gia đầu ngành trong lĩnh vực toán học và trong lĩnh vực an toàn thông tin trong thiết kế và xây dựng tiêu chuẩn tham số an toàn cho lược đồ chữ ký số
- Phương pháp thực nghiệm: NCS đã xây dựng công cụ thử nghiệm là phần mềm tin học, sử dụng công cụ đó để kiểm nghiệm các kết quả nghiên cứu
lý thuyết; xác định đối tượng, phạm vi, điều kiện và quy trình thử nghiệm Sau mỗi nội dung thử nghiệm đều tiến hành đánh giá kết quả thử nghiệm, đối chiếu kết quả thử nghiệm với kết quả nghiên cứu lý thuyết
7 Tính mới trong khoa học của luận án
Những đóng góp mới của luận án gồm:
- Phát triển được bốn lược đồ chữ ký số mới có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤn
- Đề xuất hệ tiêu chuẩn tham số an toàn cho các lược đồ đề xuất; sinh thành công các tham số thỏa mãn hệ tiêu chuẩn; đề xuất hai môi trường KT-XH
và AN-QP làm môi trường ứng dụng lược đồ chữ ký số đề xuất
8 Ý nghĩa khoa học và thực tiễn
8.1 Ý nghĩa khoa học
Xây dựng thành công hai lược đồ chữ ký số cơ sở và đề xuất bốn lược đồ chữ ký số mới trên lược đồ cơ sở có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành hữu hạn ℤnlà một đóng góp mới có ý nghĩa về khoa học, cụ thể là:
Trang 16- Kết quả nghiên cứu đã khẳng định việc phát triển các lược đồ chữ ký số trên vành hữu hạn ℤn là có cơ sở khoa học, đảm bảo tính đúng đắn, tính đầy đủ, tính hiệu quả và an toàn hơn các lược đồ chữ ký số cùng loại trên trường ℤp
- Kết quả nghiên cứu sẽ góp phần bổ sung làm giàu thêm cơ sở khoa học
để phát triển lược đồ chữ ký số, đồng thời bổ sung thêm giải pháp nâng cao độ
an toàn cho các lược đồ chữ ký số trên vành ℤn
8.2 Ý nghĩa thực tiễn
Kết quả nghiên cứu của luận án có ý nghĩa thực tiễn, vì:
- Thứ nhất, vấn đề nghiên cứu được xuất phát việc giải quyết khoảng
trống về học thuật trên thực tế, cụ thể là: giải quyết nguy cơ mất an toàn xảy ra trong tình huống trùng khóa phiên hoặc lộ khóa phiên; giải quyết vấn đề nâng cao hiệu quả cho các lược đồ chữ ký
- Thứ hai, bốn lược đồ chữ ký số đề xuất đã cài đặt thành công trên ngôn
ngữ cấp cao, chạy trên các máy tính có cấu hình vừa phải được cài hệ điều hành Window, kích thước tham số sát với thực tế
- Thứ ba, luận án đã định lượng được tham số mà tiền đề là ngưỡng an
toàn và sau đó là hệ tiêu chuẩn tham số an toàn
- Thứ tư, đề xuất hai môi trường ứng dụng các lược đồ chữ ký số đề xuất
đó là môi trường KT-XH và lĩnh vực AN-QP, làm cơ sở cho các tổ chức hoặc
cá nhân tham khảo, đánh giá độ an toàn khi có ý định ứng dụng các lược đồ chữ ký số này vào thực tế, đây là điểm khác biệt so với các luận án tiến sĩ cùng hướng nghiên cứu trong thời gian qua
- Thứ năm, đã sinh thành công các tham số, mỗi bộ tham số sinh ra được
kiểm tra từng tiêu chuẩn và đều thỏa mãn
- Thứ sáu, hàm băm SHA 512 [26] đã được sử dụng trong các lược đồ
chữ ký đề xuất, đây là hàm băm đang được ứng dụng rộng rãi trên thế giới
Trang 17Chương 2 Phát triển lược đồ chữ ký số trên vành
Nội dung nghiên cứu, xây dựng hai lược đồ chữ ký số cơ sở và bốn lược
đồ chữ ký số cụ thể trên vành hữu hạn ℤn, đánh giá mức độ an toàn trên phương diện lý thuyết, đánh giá tính đầy đủ, tính đúng đắn và tính hiệu quả của lược đồ chữ ký số đề xuất trên cả phương diện lý thuyết và thực nghiệm
Chương 3 Xây dựng tham số an toàn cho các lược đồ chữ ký số đề xuất Nội dung nghiên cứu, xây dựng công thức tính ngưỡng an toàn cho của lược đồ chữ ký đề xuất; dựa trên một số hệ tiêu chuẩn của thế giới và Việt Nam, kế thừa và xây dựng thêm một số tiêu chuẩn tham số an toàn cho lược đồ chữ ký đề xuất; sinh thành công tham số theo hệ tiêu chuẩn đã đề xuất áp dụng cho năm 2018 và các năm tiếp theo
Trang 18CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU VÀ CƠ SỞ LÝ
THUYẾT CỦA LUẬN ÁN
Nhiệm vụ của chương là tiến hành khảo sát một số lược đồ chữ ký số trên trường hữu hạn ℤpvà trên vành hữu hạn ℤn, chỉ ra một số điểm tồn tại trên các lược đồ đã khảo sát như là khoảng trống về học thuật, đồng thời xác định vấn đề nghiên cứu giải quyết những khoảng trống đã chỉ ra Nội dung phần còn lại của chương trình bày một số cơ sở lý thuyết liên quan đến vấn đề nghiên cứu được đặt ra trong luận án và được sử dụng trong nội dung nghiên cứu các chương sau của luận án
1.1 Tổng quan và vấn đề nghiên cứu của luận án
độ an toàn dựa trên tính khó giải của bài toán đó”, chẳng hạn lược đồ chữ ký số RSA có độ an toàn dựa trên tính khó giải của bài toán phân tích số 𝑛 và lược đồ DSA có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường
ℤp Luận án chủ yếu đề cập đến lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường hữu hạn ℤp, được đề cập trong các tài liệu tham khảo [13], [17], [18], [27-29], [32], [33], [38], [44], [46-52] và lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc
Trang 19trên vành ℤn đã được công bố trong các tài liệu tham khảo [1-6], [11], [14-16], [21], [36], [39], [40-42], [45]
1.1.2 Một số lược đồ chữ ký số trên trường ℤp
Nội dung phần này NCS sẽ khảo sát một số lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường ℤ𝐩, chỉ ra một
số điểm còn tồn tại trên các lược đồ chữ ký này Khảo sát đầu tiên được thực hiện với lược đồ ElGamal và một số biến thể của nó trên trường hữu hạn ℤp Vào năm 1985, tác giả ElGamal đã đề xuất lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toàn logarít rời rạc trên trường ℤp (còn gọi là lược đồ chữ ký số ElGamal) Kể từ khi lược đồ chữ ký số ElGamal ra đời, nhiều lược đồ chữ ký số được phát triển dựa trên lược đồ này (gọi là các biến thể của lược đồ ElGamal), tiêu biểu là lược đồ chữ ký số Schnorr năm 1990 [17], [46]; lược đồ chữ ký số DSA năm 1994 [13], [29], [49], [50], [52]; lược đồ chữ ký số GOST R34.10-94 [27] của Liên bang Nga Điểm tồn tại chung cho lược đồ chữ ký số ElGamal cùng các biến thể có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên trường ℤ𝑝 có chi phí tính toán để sinh chữ ký cao hơn các lược đồ cùng loại trên vành ℤ𝑛, điều này được chứng minh trong bổ đề 2.3 (khi L(p) = L(q) và phép lũy thừa và phép nghịch đảo trên vành ℤ𝒏 với n=p.q có chi phí chỉ bằng 1/3 chi phí trên trường ℤ𝑝 với L(p)=L(n)); điểm tồn tại thứ hai là lược đồ chữ ký số ElGamal cùng các biến thể của nó được xây dựng trên trường
ℤp phải đối mặt với nguy cơ tấn công bằng các thuật toán giải bài toán logarit rời rạc dựa vào cấp của phần tử sinh [20] khi mà hệ tham số của các lược đồ này không đạt tiêu chuẩn an toàn, chẳng hạn thuật toán Pohlig Hellman, thuật toán Rho của Pollard và thuật toán Index calculate; điểm thức ba là cấu trúc trường hữu hạn ℤp không che giấu được cấp của phần tử sinh, điều này dẫn đến nguy cơ mất an toàn trong những tính huống lộ khóa phiên hoặc trùng khóa phiên, khẳng định này được tham khảo trên các kết quả nghiên cứu liên quan được đề cập
Trang 20trong tài liệu tham khảo[21], [33], [48-52] Để khắc phục những điểm tồn tại đã chỉ ra, các nhà khoa học đã nghiên cứu, cải tiến các lược đồ chữ ký số ElGamal cùng các biến thể của nó với nhiều mục đích khác nhau, cụ thể là mục đích nâng cao độ an toàn được thể hiện trong các kết quả nghiên cứu [48-52]; nâng cao tốc
độ sinh chữ ký và xác nhận chữ ký trong một số kết quả nghiên cứu trong [18], [29] Năm 2013, nhóm tác giả H Zhang, R Li, L Li và Y Dong đã đề xuất một giải pháp cải tiến tốc độ cho lược đồ DSA [29] Một kết quả nghiên cứu khác được công bố năm 2015, các tác giả H Morita, J C Schuldt, T Matsuda, G Hamaoka, T Iwata đã cải tiến lược đồ DSA và lược đồ Schnorr chống lại sự mất
an toàn trong tình huống dùng trùng khóa phiên [28]; năm 2010 nhóm tác giả Li Xiao-fei, Shen Xuan-jing và Chen Hai-peng đã đề xuất một lược đồ sửa đổi lược
đồ nguyên thủy ElGamal bằng cách thêm vào thành phần ngẫu nhiên trong mỗi phiên truyền nhằm tăng thêm tính bảo mật cho lược đồ; trong kết quả nghiên cứu của mình tác giả bài báo [13], B Yang đã đề xuất phương pháp chống tấn công
"IP Prefix Hijacking" liên quan đến lộ hoặc trùng khóa phiên; hoặc trong kết quả nghiên cứu của ba tác giả Z Ping, K Yingzhan và J Keke công bố năm
2012 [49] và kết quả nghiên cứu của nhóm tác giả Z Ping, W Tao và C Hao công bố năm 2015 [50], chỉ ra lược đồ chữ ký DSA không an toàn với phương pháp tấn công "L3 cache time attack" là một kiểu tấn công kênh kề (Side chanel attack) được đề cập trong [5] Cho đến nay, đã có nhiều công trình khoa học trong nước và trên thế giới được công bố nhằm cải tiến lược đồ ElGamal cùng các biến thể của nó, tuy nhiên cho đến nay chưa có kết quả nghiên cứu nào có thể thể khắc phục được triệt để những tồn tại trên các lược đồ chữ ký số này, đặc biệt là khắc phục vấn đề không thể che giấu cấp của phần tử sinh trên cấu trúc trường ℤp
1.1.3 Một số lược đồ chữ ký số trên vành ℤn
Vấn đề nghiên cứu đã đặt ra cho các nhà khoa học trong thiết kế lược đồ chữ ký là phải chọn một cấu trúc đại số phù hợp hơn cấu trúc trường ℤp, đảm
Trang 21bảo các lược đồ chữ ký được xây dựng trên đó chi phí tính toán thấp và đảm bảo
an toàn hơn Một trong các cấu trúc tập hợp được lựa chọn là cấu trúc vành ℤnvà bài toán cơ sở là bài toán logarit rời rạc, bởi một số lý do sau:
Thứ nhất, chi phí tính toán của thuật toán sinh chữ ký cho các lược đồ chữ
ký số có độ an toàn dựa trên tính khó giải của bài toán logarit rời rạc trên vành
ℤn thấp hơn nhiều chi phí tính toán cho các lược đồ chữ ký số trên trường ℤpnhờ áp dụng định lý CRT (bổ đề 2.3)
Thứ hai, lược đồ chữ ký số có độ an toàn dựa trên tính khó giải của bài toán
logarit rời rạc trên vành ℤn che giấu được cấp của phẩn tử sinh, được chứng minh trong một số kết quả nghiên cứu [1], [3], [21], [39], [41] Một khi giữ được
bí mật giá trị cấp của phần tử sinh 𝑔 (ký hiệu là Ordng) thì lược đồ chữ ký số không bị mất an toàn trong tình huống lộ khóa phiên hoặc trùng khóa phiên, đồng thời không bị nguy cơ tấn công bằng các thuật toán giải bài toán logarit rời rạc dựa vào cấp của phần tử sinh 𝑔, như là thuật toán Rho của Pollard, thuật toán Pohlig Hellman và thuật toán Index calculate.■
Việc tìm cấp của phần tử sinh g ∈ ℤ𝑛∗ là tương đương với việc phân tích 𝑛
ra thừa số nguyên tố Điều này có nghĩa là cấp của 𝑔 ∈ ℤn∗ có thể giữ được bí mật với độ an toàn tương đương với độ an toàn dựa trên tính khó giải của bài toán phân tích số modulo 𝑛 ra thừa số nguyên tố.■
Do vành hữu hạn ℤn có những ưu điểm như đã nêu ở trên, nên một số lược
đồ chữ ký số hoặc một số lược đồ phân phối khóa được nghiên cứu và phát triển trên cấu trúc đại số này Tiêu biểu cho tác giả trong nước là Nguyễn Xuân Quỳnh năm 2002 [6], Hồ Ngọc Duy năm 2017 [1], Phạm Văn Hiệp năm 2018 [3], [4], [64], [65], [66], [67] Bên cạnh đó còn có tác giả của những lược đồ chữ
ký số trên thế giới, tiêu biểu là lược đồ xác lập khóa của Okamoto E [36], lược
đồ của S Saryazdi [41] năm 1990, của M Girault scheme [34] năm 1991, lược
đồ của Chik How Tan [16] năm 2003 và S K Tripathi cùng B Gupta [39] vào
Trang 22năm 2017 Các lược đồ chữ ký trên vành ℤn này đều đảm bảo tính đúng đắn và
có tính an toàn được dựa trên một hoặc hai bài toán khó nào đó[15], [16], [34], [39], [40], [42], [45] Khảo sát các lược đồ đã công bố cho thấy các lược đồ chữ
ký số trên vành ℤn đều chưa trình bày cơ sở toán học sinh ra các tham số; đa số các lược đồ đều chưa có hệ hệ tiêu chuẩn tham số an toàn hoặc tác giả chưa định hướng cho người sử dụng nên sử dụng hệ tiêu chuẩn tham số nào của thế giới Bên cạnh đó, có những lược đồ chữ ký đề xuất mà độ lớn cấp phần tử sinh xấp xỉ
độ lớn của số modulo, chẳng hạn trong [39], hoặc một số nhà khoa học đã đưa ra
độ lớn cấp phần tử sinh 256 bit [1], [41] mà không có lý giải tại sao Mặt khác, nếu cấp phần tử sinh có độ lớn 256 bit mà sử dụng hàm băm an toàn hơn, như hàm băm SHA 512 sẽ dẫn đến giảm độ an toàn cho lược đồ Hơn nữa, trong lược
đồ của Phạm Văn Hiệp [3] được cho là có độ an toàn dựa trên hai bài toán khó,
đó là bài toán FP và DLPn, không có nghĩa là kẻ tấn công phải giải đồng thời hai bài toán khó này cùng một lúc như kết luận của nhóm nghiên cứu Trên thực tế, chỉ cần tìm 𝑥1, tức là giải được bài toán logarit rời rạc trên vành ℤn từ phương trình y = g−x1 mod n là có thể phân tích số 𝑛 bằng thuật toán của Euclid tìm ước chung lớn nhất GCD(y − g−x1, n) có thể tìm ra ước không tầm thường của
số modulo n
1.1.4 Vấn đề nghiên cứu của luận án
Dựa vào những kết quả khảo sát các lược đồ chữ ký số cùng loại đã công
bố trên thế giới trong thời gian qua, NCS xác định được những khoảng trống về học thuật, từ đó định hướng vấn đề nghiên cứu với mục đích nấp một phần
khoảng trống về học thuật đã chỉ ra, cụ thể là:
Thứ nhất, trên cơ sở các kết quả nghiên cứu đã được công bố liên quan đến
các lược đồ chữ ký số trên trường, NCS đã xác định những tồn tại cố hữu của
Trang 23các lược đồ trên trường ℤp là không giấu được cấp của phần tử sinh, điều này dẫn đến một số nguy cơ mất an toàn đã chỉ ra mà mục 1.1.2 đã phân tích ở phần trên; hơn nữa tốc độ sinh chữ ký của các lược đồ chữ ký trên trường ℤpchậm hơn tốc độ sinh chữ ký của các lược đồ chữ ký cùng loại trên vành ℤn, từ đó xác định vấn đề nghiên cứu đầu tiên là phát triển lược đồ chữ ký số mới trên cấu trúc đại số mới là cấu trúc vành ℤn, vì cấu trúc vành này cho phép che giấu cấp của phần tử sinh Hơn nữa, thuật toán sinh chữ ký của lược đồ chữ ký số trên vành
ℤncó tốc độ nhanh hơn thuật toán sinh chữ ký của các lược đồ chữ ký cùng loại trên trường ℤp đã được công bố
Thứ hai, qua khảo sát các lược đồ chữ ký số trên vành ℤn đã công bố, NCS
đã xác định khoảng trống về học thuật tiếp theo là các lược đồ chữ ký số cùng loại đã được công bố chưa có cơ sở toán học về sự tồn tại, về độ lớn và thuộc tính cho phép che giấu cấp của phần tử sinh Để nấp khoảng trống học thuật này, NCS đã nghiên cứu lược đồ chữ ký số có tính chất che giấu cấp của phần tử sinh
𝑔, đồng thời xây dựng cơ sở toán học cho từng tham số, xây dựng các điều kiện cho các tham số nhằm đạt được các mục đích đảm bảo việc tính logarit theo cơ
số 𝑔 là “khó” mà tiền đề là xây dựng “ngưỡng an toàn”, hệ tiêu chuẩn tham số
an toàn, đề xuất được môi trường ứng dụng cho nó (Trong luận án đề xuất môi trường KT-XH và lĩnh vực AN-QP)
Thứ ba, khoảng trống về học thuật tiếp theo là đa số các lược đồ chữ ký đã
công bố đều chưa đưa ra bộ tham số cụ thể cho nó hoặc chưa đề xuất công cụ để sinh tham số thỏa mãn với hệ tiêu chuẩn nào đó Để nấp khoảng trống học thuật này, luận án đã nghiên cứu, xây dựng hệ tiêu chuẩn cho tham số, đề xuất được môi trường ứng dụng và đã xây dựng được bộ công cụ để sinh tham số theo hệ tiêu chuẩn đã đưa ra
Trang 241.2 Cơ sở lý thuyết liên quan đến luận án
Để giải quyết vấn đề nghiên cứu mà luận án đã đặt ra, phần này luận án sẽ giới thiệu những kiến thức cơ sở liên quan và sẽ được sử dụng xuyên suốt trong các chương sau của luận án
1.2.1 Một số định nghĩa và định lý quan trọng
Nội dung phần này trình bày một số định nghĩa và định lý quan trọng sẽ được sử dụng trong luận án
a Một số định nghĩa
Định nghĩa 1.1 Số nguyên 𝑛 > 1 là hợp số nếu nó không là nguyên tố, có
nghĩa là tồn tại các ước không tầm thường của 𝑛
Định nghĩa 1.2 Số nguyên tố là số nguyên lớn hơn một và chỉ có các ước
tầm thường
Định nghĩa 1.3 Bất kỳ một số nguyên 𝑛 nào cũng luôn có các ước là 1,
−1, 𝑛 và – 𝑛 Các số này là các ước tầm thường của 𝑛
Định nghĩa 1.4 Cho 𝑎 ∈ ℕ, giá trị ⌊log2a⌋ + 1 là độ dài xâu bít biểu diễn khai triển nhị phân của 𝑎 và gọi là kích thước của 𝑎, được ký hiệu là L(a), L(a) = Len(𝑎)
Định nghĩa 1.5 Cho s ∈ {0, 1}H, giả sử s = s0… sH−2sH−1 Ký hiệu s̅ ∈
ℕ được xác định theo công thức sau:
s̅ = s02H−1 + ⋯ + sH−22 + sH−1
Định nghĩa 1.6 Cho n ∈ ℕ, giả sử 𝑛 = n02k−1 + ⋯ + nk−22 + nk−1 với
nj ∈ {0,1} (j = 0 (k – 1) ) và n0 ≠ 0 Khi này với H ∈ ℕ, ký hiệu n[H] là xâu H bít xác định như sau:
n[H] = nk−Hnk−H−1… nk−1 nếu H k
n[H] = 0 … 0
H−k
n0n1… nk−1 nếu H > k.■
Trang 25Định nghĩa 1.7 Với tập 𝑋 ⊆ ℕ, giá trị max
x∈X , 𝐿 (𝑥) được ký hiệu là L(X)
và gọi là kích thước tối đa của 𝑋
Định nghĩa 1.8 Cho 𝑛 là một số tự nhiên được biểu diễn như sau:
(a, b) + (a’, b’) = ((a + a’) mod n, (b + b’) mod n)
(a, b) (a’, b’) = ((a a’ + b b’ D) mod n, (a b’ + a’ b) mod n))
Hơn nữa nếu 𝑛 là số nguyên tố ta có:
Nếu (D
n) = 1 thì ℤ𝑛[√D] ≅ ℤ𝑛
Ngược lại ℤ𝑛[√D] có 𝑛2phần tử là trường mở rộng của ℤ𝑛.■
b Một số định lý quan trọng
Định lý 1.1 Cho 𝑔, 𝑛 là hai số nguyên dương Nếu GCD(g, n)= 1 và i =
j mod ordn(g) thì gi = gj mod n
Trang 26(ii) Nếu F2 < n và B2− 4 A không phải là số chính phương thì 𝑛 là số nguyên tố
(i) Nếu n ≤ F2 thì 𝑛 là số nguyên tố
(ii) Nếu F2 < n và cả hai B2+ 4 A cùng (F − B)2+ 4 (A − 1) đều
không chính phương thì 𝑛 là nguyên tố
Ở trên n = A F2+ B F − 1 với 0 ≤ B < F.■
Chú ý 1.1:
Định lý 1.1 được ứng dụng trong chứng minh tính đúng đắn của các lược
đồ chữ ký số đề xuất ở chương 2 Định lý 1.2 và 1.3 được sử dụng trong các thuật toán sinh số nguyên tố trình bày trong chương 3
1.2.2 Thuật toán và độ phức tạp của thuật toán
Trong mục này trình bày một số khái niệm cơ bản liên quan đến thuật toán
và độ phức tạp của thuật toán nhằm giải quyết việc xác định độ an toàn của các lược đồ chữ ký cũng như việc so sánh chi phí tính toán giữa các lược đồ
Nguyên tắc: Chi phí cho việc giải bài toán F theo thuật toán A với đầu vào (x1, … , xm), ký hiệu là F − A(x1, … , xm) Chi phí tính toán để giải bài toán F bằng thuật toán A với kích thước các đầu vào (l1, … , lm) ký hiệu là F −A(l1, … , lm).■
1.2.2.1 Độ phức tạp của thuật toán
Làm cơ sở cho việc phân tích, đánh giá các thuật toán đề xuất trong luận án, nội dung phần này sẽ trình bày một số kiến thức liên quan đến độ phức tạp của thuật toán
Trang 27Định nghĩa 1.10 “Giải bài toán F” là việc tính hàm F: X1× … × Xm → Y trong đó Xj = ℕ (j = 1, ,m) “Thuật toán” để giải bài toán F là dãy các công việc được thực hiện nối tiếp tác động lên bộ giá trị đầu vào (x1, … , xm) ∈ X1 × … ×
Xm để tính giá trị của y = F(x1, … , xm) ∈ Y.■
Định nghĩa 1.11 Cho A là một thuật toán giải bài toán F
Ký hiệu CostF-A(x1, … , xm) là tổng số các thao tác bít, ký hiệu BO mà thuật toán A phải thực hiện để tính giá trị F(x1, … , xm)
F-A(l1, … , lm) là giá trị trung bình của CostF−A(x1, … , xm) theo tất cả các (x1, … , xm) ∈ X1× … × Xm, trong đó lj = L(Xj) (j = 1 m).■
1.2.2.2 Phân loại độ phức tạp của thuật toán
Việc phân loại độ phức tạp của thuật toán được bắt đầu từ khái niệm bằng nhau cho trong định nghĩa sau
Định nghĩa 1.12 Hai thuật toán A tính hàm F và thuật toán B tính hàm 𝐺
được gọi là có độ phức tạp bằng nhau nếu
Trang 28- Có nhiều cách định nghĩa độ phức tạp của thuật toán theo ký pháp O lớn Theo [43], giả sử kích thước dữ liệu đầu vào tính theo số bit, ký hiệu là L Một hàm được chỉ ra g(L), ký hiệu O(g(L)) (đọc là O lớn của hàm g biến L) là một lớp các hàm, ký hiệu như sau:
O(g(L)) = {0 ≤ f(L) ≤ c g(L) với ∀ L ≥ L0}
- Một cách tổng quát thì độ phức tạp của các thuật toán tính hàm 𝑚 biến cũng là các hàm 𝑚 biến Tuy nhiên trong trường hợp một số biến nào đó có cùng kích thước đầu vào thì hàm biểu diễn độ phức tạp có thể chỉ dùng một biến kích thước chung cho các biến cùng kích thước nêu trên Chẳng hạn độ phức tạp của phép cộng hoặc phép nhân hai số tự nhiên cùng kích thước là hàm một biến
- Ngoài ra công thức độ phức tạp còn có thể được biểu diễn qua một đơn vị
đo khác là bội của số thao tác bít (bội của BO).■
Dưới đây là bảng thống kê về độ phức tạp của một số thuật toán cơ bản được dùng trong luận án, trong đó 𝑎, 𝑏, 𝑛 là số có kích thước 𝑙- bit
GCD(a,b) Binary (Algorithm 2.21 [a]) O(l2)
a – 1 mod n Binary (Algorithm 2.22 [a]) O(l2)
Trang 29Ln[α, c] = e(c+o(1))(𝑙𝑛𝑛)α(lnlnn)1−α (1.6)
1.2.2.3 Chi phí của một thuật toán
Trong mục này NCS đề cập đến việc xác định chi phí tính toán của một thuật toán nhằm phục vụ cho một số vấn đề sau: So sánh tính hiệu quả về mặt chi phí tính toán giữa các thuật toán giải cùng một bài toán; đánh giá chi phí tính toán thực sự của một thuật toán với đầu vào cụ thể.■
Nếu như CostF − A(x1, … , xm) hoặc F − A(l1, … , lm) được cho dưới dạng một hàm hiện thì việc làm của chúng ta chỉ là đi tính giá trị của hàm này Trong trường hợp ngược lại, F − A(l1, … , lm)= O(g(l1, … , lm)) thì từ ý nghĩa của ký hiệu O(g(l)) ta cần xác định được giá trị c cho trong (1.4) và khi này F −A(l1, … , lm) sẽ là một đại lượng tương đương với c g(l1, … , lm) do đó ta có thể lấy F − A(l1, … , lm) ≈ c g(l1, … , lm) với max
j=1 m{lj} đủ lớn Dưới đây là một số kết quả liên quan đến định lượng chi phí tính toán của một số phép toán đã giới thiệu trong bảng 1.1
Mệnh đề 1.1: Ký hiệu m(l) là chi phí để thực hiện phép nhân hai số nguyên 𝑙-bít, theo công thức Karatsuba ta có:
Theo thuật toán Barrett trong tài liệu[10 tại mục 14.3.3] thì chi phí cho phép tính 𝑎 mod n với 𝑛 là số 𝑙-bít và 𝑎 là số 2 l-bít, ký hiệu Red(l) được tính bởi công thức sau:
Mệnh đề 1.2: Ký hiệu M(l) là chi phí của phép nhân trên ℤ𝑛 với 𝑛 có cỡ
𝑙 −bít, trong trường hợp tổng quát ta có:
(ii) Ký hiệu Red(m, l ) là chi phí cho phép tính rút gọn theo modul n, ký hiệu a mod n với 𝑛 là số 𝑙-bít và 𝑎 là số 𝑚-bít thì
Trang 30Để chứng minh (1.10) ta xét thuật toán sau
Thuật toán 1.1 Rút gọn số 𝑚 − bít theo modulo 𝑙 − bít
Input : 𝑎, 𝑛 Với 𝑎 là số nguyên 𝑚 −bít và 𝑛 là số 𝑙 −bít
Theo biểu diễn của 𝑎 trong bước 1 thì t = ⌈m
l⌉ − 1 như vậy thuật toán cần thực hiện t + 1 bước cho vòng while
Tại k = t thì giá trị r 2l+ at = at là số l-bít như vậy để tính at mod n chỉ cần cùng lắm là 1 phép trừ (xảy ra khi at ≥ n)
Tại 𝑡 bước lặp còn lại thì r 2l+ at là số 2 l-bít nên theo (1.8) ta có chi phí
để thực hiện chúng đều là 2 m(l) Tóm lại là tổng chi phí của thuật toán 1.1 sau khi bỏ qua chi phí tìm biểu diễn ở bước 1 và chi phí cho phép trừ (do có độ phức tạp thấp hơn phép nhân) sẽ là:
Red(m, l) = t (2 m(l)) = 2 (⌈𝑚
𝑙 ⌉ − 1).m(l) và công thức (1.10) đã được chứng minh.■
Trang 31Mệnh đề 1.3: Ký hiệu Pow(a, e, n) = ae mod n, chi phí tính hàm Pow:
đó ta có: CostPow(a, e, n) = (L(e) + Wt(e)).M(l) Biết rằng trong tập các số tự nhiên L(e)-bít thì giá trị trung bình của Wt(e)= L(e)/2, theo 1.8 thì từ đẳng thức trên ta có ngay (1.11).■
1.2.2.4 Bài toán khó và vấn đề khó
Trong mục này đưa ra hai khái niệm bài toán khó, ký hiệu là HP (Hard Problem) và vấn đề khó, ký hiệu là DP (Dificult Problem) Khái niệm HP được cho trong hai định nghĩa sau
Định nghĩa 1.13
Thuật toán A giải bài toán F được gọi là “có thời gian đa thức” nếu tồn tại
đa thức p(l1, … , lm) sao cho
Trang 32biết để tính giá trị F(x1, … , xm) khi đó U sẽ thực hiện được việc làm trên khi và chỉ khi bất đẳng thức sau thỏa mãn:
Với các định nghĩa trên thì khái niệm HP và DP đều có tính thời sự do sự tiến bộ của kỹ thuật và công nghệ của việc giải bài toán đó, chẳng hạn như bài toán RSA một khi xuất hiện máy tính lượng tử sẽ không còn là khó
1.2.3 Lược đồ chữ ký số khóa công khai
Trong mục này NCS trình bày một lược đồ chữ ký dựa trên mật mã khóa công khai dưới dạng hình thức toán học bao gồm các tham số, hoạt động và các yêu cầu cần thiết đối với lược đồ chữ ký số
Kb là tập hữu hạn các khóa công khai
K là tập hữu hạn các khóa phiên
Chú ý 1.3:
- Các tập M, S có thể phụ thuộc vào người tham gia hệ thống
- Tập K có thể rỗng và lược đồ được gọi là không dùng khóa phiên.■
- Các ánh xạ KeyGen, Sig và Ver trong đó:
+ KeyGen: Ks Kb, (là một đơn ánh)
Trang 33+ Sig: MKsK S
+ Ver: MSKb {“Accept”, ”Reject”}.■
1.2.3.2 Hoạt động của lược đồ
Hoạt động của lược đồ chữ ký số qua các công đoạn thiết lập hệ thống, sinh chữ ký, xác nhận (kiểm tra) chữ ký
a Thiết lập hệ thống
Mỗi người trong hệ thống tự chọn ngẫu nhiên cho mình khóa bí mật ks ∈
Ks, tính khóa công khai của mình theo công thức
Giá trị k ∈R K có thể cần thỏa mãn thêm một số điều kiện nào đó.■
c Kiểm tra chữ ký
Được thực hiện với một đối tượng bất kỳ về việc chấp nhận (accept) hay bác bỏ (reject) chữ ký 𝑠 lên thông báo 𝑚 của bên có khóa công khai kb tương ứng với hàm Ver(m, s, kb) Trong trường hợp giá trị hàm Ver(m, s, kb)=
“Accept”, chữ ký 𝑠 được gọi là “hợp lệ”
1.2.3.3 Một số yêu cầu đối với lược đồ chữ ký số
Một lược đồ chữ ký số tối thiểu phải thỏa mãn một số thuộc tính sau đây:
- Tính khả thi: Các ánh xạ KeyGen, Sig và Ver là các hàm “dễ”.■
- Tính đúng đắn: Thuộc tính này được cho bởi đẳng thức sau:
+ ∀m ∈ M, ∀x ∈ Ks, ∀k ∈ K
+ Ver(m, Sig(m, x, k ∈R K), KeyGen(x)) = “Acccept”.■ (1.16)
Trang 34- Tính an toàn: Tính an toàn của một lược đồ chữ ký số được định nghĩa bằng tính khó của bài toán giả mạo được chữ ký theo định nghĩa 1.16
- Tính đầy đủ: Tính đầy đủ của một lược đồ chữ ký số là tính chất cho phép lược đồ chữ ký có thể ký trên mọi loại thông báo (nguồn âm thanh, hình ảnh hay văn bản…)
Định nghĩa 1.16 Bài toán giả mạo chữ ký
Trong điều kiện không biết khóa mật ks nhưng có thể tìm được 𝑚 ∈ 𝑀 và
𝑠 ∈ 𝑆 sao cho với kb = KeyGen(ks) thì Ver(m, s, kb) = “Acccept” thì gọi là bài toán giả mạo chữ ký.■
Tính an toàn được định lượng qua độ “khó” của bài toán giả mạo chữ ký và được gọi là “độ an toàn” của lược đồ Bên thực hiện giải bài toán trên được gọi
là “người giả mạo” và việc làm của họ gọi là “tấn công” vào lược đồ Trên thực
tế người ta chia các mục đích tấn công ra ba cấp độ sau:
- Tấn công Existential Forgery, đây là kiểu tấn công giả mạo có mục đích yếu nhất, kẻ tấn công không có một kiểm soát gì trên thông báo mà chữ ký của
nó bị giả mạo.■
- Tấn công Selective Forgery còn gọi là tấn công giả mạo chữ ký của một lớp thông báo được kẻ tấn công lựa chọn trước.■
- Tấn công total break là kiểu tấn công có mục đích cao nhất, kẻ tấn công
có khả năng tính toán được chữ ký hợp lệ cho thông báo bất kỳ và tính được khóa bí mật của lược đồ chữ ký.■
Tùy theo các điều kiện cho phép đối với kẻ giả mạo người ta chia ra ba loại điều kiện cho kẻ tấn công giả mạo chữ ký là:
- Tấn công lược đồ chữ ký chỉ dựa vào khóa công khai kb(Key only attack)) và đây là điều kiện tấn công lược đồ chữ ký số yếu nhất
- Điều kiện tấn công cao hơn là ngoài khóa công khai kb, kẻ tấn công còn dựa vào những thông báo đã biết (Known-message attack) cùng với chữ ký của
Trang 35nó, hoặc kẻ tấn công dựa vào lớp thông báo cùng với chữ ký mà mình lựa chọn
từ trước (Chosen-message attack).■
- Điều kiện tấn công cao nhất là ngoài các điều kiện tấn công lược đồ chữ
ký số kể trên, kẻ tấn công có thể điều khiển lược đồ chữ ký như một mô đun ký (Adaptive Chosen-message attack).■
Trong [57] có đưa ra khái niệm chuẩn an toàn của một lược đồ chữ ký số
là: “Existentially unforgeable under adaptively chosen-message attacks” có
nghĩa là một lược đồ chữ ký số đạt chuẩn an toàn, nếu với điều kiện tấn công cao nhất thì kẻ tấn công cũng không đủ khả năng để tấn công lược đồ chữ ký đó với mục đích yếu nhất.■
Thuật ngữ “không thể” trong trình bày trên được hiểu là phải giải bài toán
DP (trong định nghĩa 1.14) theo thời gian thực đối với kẻ tấn công
1.2.3.4 Lược đồ chữ ký số nguyên thủy và ứng dụng
Lược đồ chữ ký số được định nghĩa trong mục trước thì tập M luôn là hữu hạn, trong khi theo nghĩa thông thường thì tập các thông báo là {0,1}∞ cho nên chúng ta không thể thực hiện việc ký theo lược đồ cho một thông báo bất kỳ Lược đồ như trên được gọi là một “lược đồ nguyên thủy” Để ứng dụng được một lược đồ nguyên thủy cho việc ký một thông báo bất kỳ chúng ta cần đến một hàm f: {0,1}∞ → M, hàm này được gọi là “hàm tóm lược” Khi này ta có một lược đồ chữ ký mới với 4 tập hợp ({0,1}∞, S, Ks, Kb) và hai hàm sau:
Hàm Sig̅̅̅̅:{0,1}∞× S × Ks × K → S và hàm Ver̅̅̅̅̅: {0,1}∞× S × Kb
{“Accept”, ”Reject”}, được xác định theo công thức sau:
Sig
̅̅̅̅(m, ks, k ∈R K) = Sig(f(m), ks, k) (1.17a) Ver̅̅̅̅̅(m, s, ks) = Ver(f(m), s, ks) (1.17b) Hàm tóm lược f theo yêu cầu trên thường được chọn trong số các hàm băm (ký hiệu là hash) là hàm có dạng Hash: {0,1}∞ → {0,1}H, ký hiệu H được gọi là
Trang 36độ dài xâu bít đầu ra của hàm băm Hast và được chọn thỏa mãn điều kiện sau đây: H ≥ 2.(Security_strength) với Security_strength ký hiệu cho giá trị ngưỡng
an toàn được trình bày trong phần sau Lược đồ chữ ký nguyên thủy sử dụng thêm hàm tóm lược được gọi là “lược đồ chữ ký số ứng dụng dựa trên lược đồ chữ ký số nguyên thủy” đã cho
Chú ý 1.5:
- Không phải một lược đồ nguyên thủy bất kỳ đều có thể tìm được hàm f thích hợp để xây dựng nên một lược đồ ứng dụng tương ứng, ví dụ như lược đồ Rabin, lược đồ Mc Alice ■
- Các loại lược đồ nguyên thủy này cần bổ xung thêm một biến đệm được chọn ngẫu nhiên từ một tập R nào đó và hàm f khi này là f: {0,1}∞||R → {0,1}h, còn hàm sinh chữ ký được thực hiện một số lần nào đó cho đến khi tìm được r ∈ R thỏa mãn f(m||r) ∈ M Khi này, tập các chữ ký sẽ là SR chữ ký sẽ là
bộ (s, r) ∈ SR và hàm kiểm tra được tính theo công thức sau:
Sig
̅̅̅̅(m, ks, k ∈R K) = (Sig(f(m||r), ks, k), r) và
Ver̅̅̅̅̅(m, (s, r), kb) = Ver(f(m||r), s, kb) (1.18)
Chú ý 1.6:
Các hàm tóm lược được sử dụng trong mật mã thường là các hàm băm mật
mã, ký hiệu Hash: {0, 1}∞ → {0, 1}H với H là số tự nhiên nào đó được gọi là độ dài của hàm băm Hash, trong khi các lược đồ nguyên thủy đều thực hiện trên các
số tự nhiên nên trong luận án đã đề xuất công thức chuyển đổi một xâu bít sang
số tự nhiên và ngược lại trong định nghĩa 1.5
1.2.4 Lược đồ chữ ký số trên trường ℤp
Trong phần này, luận án sẽ trình bày một số lược đồ chữ ký có độ an toàn dựa trên tính khó giải của bài toàn logarit rời rạc trên trường ℤp, đó là: Lược đồ
Trang 37ElGamal và chuẩn chữ ký số DSA, một biến thể của lược đồ Elgamal được ban thành chuẩn chữ ký số DSS của Hoa kỳ
1.2.4.1 Lược đồ ElGamal
a Tham số
Lược đồ chữ ký số ElGamal sử dụng số nguyên tố 𝑝 và phần tử 𝑔 là nguyên thủy của trường ℤp, nếu 𝑡 giá trị cấp của phần tử sinh 𝑔 thì tức là t =Ordpg = p – 1 Bộ các tập (M, S, Ks, Kb, K) của lược đồ này như sau:
Thuật toán 1.2 Thuật toán tính hàm Sig
Input: Bộ (x, p) dành cho bên ký lên thông báo m ∈ ℤp
Trang 38c Hàm Ver
Thuật toán 1.3 Thuật toán tính hàm Ver
Input: Bộ (p, y) thuộc bên xác nhận chữ ký (r, s) của thông báo m ∈ ℤp
Output: “Accept” hoặc “Reject”
1 If (r = 0) or (s = 0) then return “Reject”
Thuật toán 1.4 Thuật toán tính hàm Sig
Input: Bộ tham số (p, t, x) thuộc bên ký lên thông báo m ∈ {0,1}∞
Output: (r, s) ∈ S
1 k ∈R ℤt∗
2 r = (gkmod p)mod t
Trang 393 if (r = 0) mod t then goto 1
Thuật toán 1.5 Thuật toán tính hàm Ver
Input: Bộ tham số (p, y, t) thuộc bên xác nhận chữ ký (r, s) của m
Output: “Accept” hoặc “Reject”
1 If (r = 0) or (s = 0) then return “Reject”
Mệnh đề 1.4 Các lược đồ chữ ký số Elgamal và biến thể của nó thực hiện
tính thành công chữ ký (r, s) trong một lần lặp với xác suất xấp xỉ bằng 1
Ta thấy rằng các vòng lặp trong các lược đồ chữ ký trên trường ℤp để kiểm tra khóa phiên 𝑘 có nghịch đảo trong modulo 𝑡 là cấp của phần tử sinh hoặc kiểm tra các tham số r, s ≠ 0 (mod t) xảy ra với xác suất φ(t)
t Khi t lớn hiển nhiên φ(t)
t = t−1
t ≈ 1, nên có thể coi việc sinh ra chữ ký (r, s) của hai lược đồ
Trang 40chữ ký số trên trường ℤp giới thiệu phần trên thực hiện chỉ trong một lần lặp là
có thể tính thành công các thành phần 𝑟 và 𝑠 của chữ ký
1.2.4.3 Phân tích lược đồ
a Chi phí tính toán
- Lược đồ Elgamal:
+ Hàm Sig: Thuật toán thực hiện hàm Sig có ba vòng lặp, mệnh đề 1.4 đã
chứng minh vòng lặp chỉ thực hiện một lần lặp khi tham số 𝑝 lớn, nên chi phí của thuật toán là chi phí thực hiện để thực hiện một lần lặp Dễ thấy hàm Sig gồm một phép lũy thừa theo modul 𝑝 có cỡ L(p)-bit được ước lượng tương đương với 1,5 L(p).M(L(p)) phép BO; hai phép rút gọn và một phép tính nghịch đảo theo modulo p − 1 có cỡ L(p)-bit tương đương với 5/3.M(L(p)) phép BO; hai phép nhân trên trường ℤ𝑝tương đương với 2.M(L(p)) phép BO Vậy chi phí tính toán của hàm Sig trong lược đồ Elgamal là:
𝐶𝑆𝑖𝑔= 1,5 L(p).M(L(p)) + 11/3 M(L(p)) (1.20)
+ Hàm Ver: Hàm Ver gồm ba phép lũy thừa cỡ của số mũ L(p)-bit theo
modul p có cỡ L(p)-bit tương đương với 4,5 L(p).M(L(p)) BO; có 3 phép rút gọn theo modulo p có cỡ L(p)-bit tương đương với M(L(p)) BO; một phép nhân trên trường ℤp tương đương với M(L(p)) Vậy chi phí tính toán hàm Ver trong lược đồ Elgamal là:
CVer = 4,5 L(p).M(L(p)) + 2 M(L(p)) (1.21)
- Lược đồ chữ ký DSA: Lược đồ chữ ký DSA được phát triển trên cơ sở lược đồ Schnorr cũng là một biến thể của lược đồ Elgamal, nên có chi phí tính toán hoàn toàn giống với lược đồ Schnorr
+ Hàm Sig: Hàm Sig có phí như sau:
𝐶𝑆𝑖𝑔= 1,5 L(t).M(L(p)) + 13/3 M(L(t)) (1.22)