Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp

Trong [1] đề xuất một phương pháp xây dựng thuật

toán chữ ký số dựa trên tính khó của việc giải bài toán

logarit rời rạc trên Zp. Ưu điểm của phương pháp mới đề

xuất là từ đó có thể triển khai một lớp thuật toán chữ ký

số cho các ứng dụng khác nhau. Tuy nhiên, độ an toàn

của các thuật toán chữ ký được xây dựng theo phương

pháp này chỉ được đảm bảo bởi độ khó của việc giải bài

toán logarit rời rạc – DLP (Discrete Logarithm Problem)

trên Zp. Do đó, nếu có một giải thuật thời gian đa thức

cho bài toán này (DLP) thì tính an toàn của các thuật toán

sẽ bị phá vỡ hoàn toàn. Nâng cao độ an toàn cho các thuật

toán chữ ký số dựa trên tính khó của việc giải đồng thời 2

bài toán khó là một hướng tiếp cận đang nhận được nhiều

sự quan tâm của các nhà nghiên cứu, trong [2 – 9] các tác

giả đã đề xuất một số thuật toán chữ ký xây dựng trên

đồng thời hai bài toán phân tích số và logarit rời rạc.

Trong bài báo này, cũng với mục đích nâng cao độ an

toàn cho các thuật toán chữ ký số, nhóm tác giả tiếp tục

phát triển phương pháp đề xuất trong [1] trên cơ sở tính

khó giải của một bài toán mới, ở đây được gọi là bài toán

logarit rời rạc kết hợp khai căn trên Zp, ký hiệu: DLRP

(Discrete Logarithm combining Finding Root Problem).

Đây là một dạng bài toán khó lần đầu được đề xuất và

ứng dụng cho việc xây dựng thuật toán chữ ký sốvà có

nhiều triển vọng cho phép xây dựng các thuật toán phù

hợp với các ứng dụng thực tế đòi hỏi độ an toàn cao.

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 1

Trang 1

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 2

Trang 2

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 3

Trang 3

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 4

Trang 4

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 5

Trang 5

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp trang 6

Trang 6

pdf 6 trang duykhanh 3880
Bạn đang xem tài liệu "Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp

Xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp
= lq, q|(p-1) Từ (8) và (9) ta có: 
 1 p u y 1 y x x y 1 E 
 [2]. select α: 1 2 1 2 1 
 1 1
 p 1 / q x x y Z u mod q k
 [3]. x1  mod p 1 2 1
 [4]. if (x1 = 1) then goto [2] Hay: 
 1 1
 u y1 y2 1 x1 x2 y1 E 
 [5]. select x2: 1 x2 q (10) 
 1 1
 x x 1 x1 x2 y1 Z mod q k
 1 2 x1 .x2 
 [6]. y1  x1 mod p , y2  x1 mod p 
 Từ (10), suy ra: 
 [7]. return {q, x1, x2, y1, y2} 
 1 1 1
 u y1 y2 1 k x1 x2 y1 E
 Chú thích: 
 x 1 x y 1 Z mod q
 - len(.) : Hàm tính độ dài (theo bit) của một số nguyên. 1 2 1
 Hay: 
 - p: Tham số hệ thống/tham số miền. 
 1 1 1
 u y1 y2 1 k x1 y1 E
 - q, x1, x2: Khóa bí mật. (11) 
 x y 1 E x 1 Z mod q
 - y1, y2: Khóa công khai của đối tượng ký. 2 1 1 
2.2.2. Thuật toán ký Từ (11) và (8), có thể tính thành phần thứ nhất của 
 chữ ký theo (2): 
 Giả sử (R,S) là chữ k ý lên bản tin M, u là 1 giá trị 
 R x u mod p
trong khoảng (1,q) và R được tính từ u theo công thức: 1 
 u (2) và thành phần thứ 2 theo (3): 
 R x1 mod p
 S x v mod p 
 Và S được tính từ v theo công thức: 1 
 v (3) Từ đây thuật toán ký được mô tả trên Bảng 2 như sau: 
 S x1 mod p
 Bảng 2. Thuật toán k ý 
 Ở đây: v cũng là 1 giá trị trong khoảng (1,q). 
 Cũng giả thiết rằng phương trình kiểm tra của lược đồ Input: p, q, x1, x2, y1, y2, M. 
có dạng: Output: (R,S). 
 y1 y2 E R.S mod p 
 S  R y1 y2 mod p [1]. E  H(M ) 
 Với: 
 3 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG – Vol. 17 No. 8, 2019. 
 [2]. select k: 1 k q 2.2.4. Tính đúng đắn của lược đồ mới đề xuất 
 k Điều cần chứng minh ở đây là: Cho p, q là 2 số 
 Z  x mod p
 [3]. 1 
 nguyên tố với: q | ( p 1) , H : 0,1  Z n , | q | | n | | p | , 
 1 1 1
 p 1 / q x1 x2
 [4]. u  y1 y 2 1 k x1 y1 E , , , 
 1 p x1 mod p 1 x2 q y1 x1 mod p
 1 1 1
 x1 .x2 k
 x2 y1 E x1 Z mod q , , , , , 
 y2 x1 mod p E H M 1 k q Z x1 mod p
 1
 1 u y 1 y 1 k x y 1 E x y 1 E x 1 Z mod q
 [5]. v  y1 u y 2 x1 E 1 2 1 1 2 1 1 
 1 , 1 1 , 
 v y1 u y2 x1 E x2 E x1 Z mod q
 x2 E x1 Z mod q
 R x u mod p , S x v mod p . Nếu: Z R S mod p , 
 [6]. R  x u mod p 1 1
 1 y1 , y2 E Z thì: . 
 A S mod p B R y1 y 2 mod p A B
 [7]. S  x v mod p 
 1 Tính đúng đắn của thuật toán mới đề xuất được chứng 
 [8]. return (R,S) minh như sau: 
 Từ (3), (8) và (12) ta có: 
 Chú thích: 
 A S y1 mod p x v.y1 mod p
 - M: bản tin cần ký, với: . 1
 M {0,1} 1 1 (15) 
 y1 . u.y2 x1 .E x2 . E x1 .Z .y1
 x mod p
 - (R,S): chữ ký của U lên M. 1
 u.y x .E x . E x 1 .Z
 x 2 1 2 1 mod p
2.2.3. Thuật toán kiểm tra chữ ký 1 
 Thuật toán kiểm tra của lược đồ được giả thiết là: Với: 
 1 1 1
 y1 y2 E R.S mod p
 S  R y y mod p u y1 y 2 1 k x1 y1 E 
 1 2 
 x y 1 E x 1 Z mod q
 Ở đây, E là giá trị đại diện của bản tin cần thẩm tra: 2 1 1 
E H (M ) . Nếu M và chữ ký (R,S) thỏa mãn đẳng thức Từ (2), (3), (5), (8), (11) và (14) ta lại có: 
 u v
trên thì chữ ký được coi là hợp lệ và bản tin sẽ được xác Z R S mod p x1 x1 mod p
 1 1
thực về nguồn gốc và tính toàn vẹn. Ngược lại, thì chữ ký u y1 . u.y2 x1 .E x2 . E x1 .Z 
 x1 mod p
 1 1 1 1
bị coi là giả mạo và bản tin bị phủ nhận về nguồn gốc và u u. y1 .y2 y1 .x1 .E y1 .x2 . E x1 .Z 
 x1 mod p
tính toàn vẹn. Do đó, nếu vế trái của đẳng thức kiểm tra 1 1 1 1
 u. y1 . y2 1 y1 .x2 . E x1 .Z y1 .x1 .E
 x mod p
được tính theo: 1
 1 1 1 1 1 1 1 1 1
 y1 . y2 1 . k x1 . y1 .E x2 . y1 . E x1 .Z . y1 .y2 1 . x2 . y1 . E x1 .Z y1 .x1 .E
 y1 x 
 A S mod p (12) 1
 1 1 1 1 1 1
 k x2 . y1 . E x1 .Z x1 . y1 .E x2 . y1 . E x1 .Z y1 .x1 .E
 mod p x1 mod p
 và vế phải được tính theo: k
 x1 mod p Z
 B R y2 y E y Z mod p (13) 
 1 2 (16) 
 ở đây: Z R S mod p (14) Thay (1), (2), (5) và (16) vào (13) ta được: 
 y2 E Z
 Thì điều kiện chữ ký hợp lệ là: A = B B R y1 y2 mod p
 u.y x x .E x 1.x .Z (17) 
 Khi đó, thuật toán kiểm tra của lược đồ mới đề xuất x 2 x 1 2 x 1 2 mod p
được mô tả trong Bảng 3 như sau: 1 1 1
 u.y x .E x . E x 1.Z 
 x 2 1 2 1 mod p
 Bảng 3. Thuật toán kiểm tra 1
 Từ (15) và (17) suy ra điều cần chứng minh: A B 
 Input: p, y1, y2, M, (R,S). 
 2.2.5. Ví dụ 
 Output: true / false. 
 Tính đúng đắn của lược đồ mới đề xuất được minh 
 [1]. E  H(M ) họa bằng một ví dụ số như sau: 
 y a. Sinh tham số và khóa (Bảng 1): 
 [2]. A  S 1 mod p 
 Input: p – số nguyên tố, lq – độ dài (tính theo bit) của 
 [3]. Z  R S mod p số nguyên tố q. 
 y2 E Z
 [4]. B  R y1 y2 mod p Output: q, x1, x2, y1, y2. 
 [5]. if ( A B) then {return true } - Giá trị của p: 
 1112504748194107058548379149876527136337231
 else {return false } 
 9494651382867527128102052391566875979592156
 Chú thích: 8156524417444891805426748144310226815292210
 56687456481556094275955901 
 - M, (R,S): bản tin, chữ ký cần thẩm tra. 
 - Giá trị của q: 
 - Nếu kết quả trả về là true thì tính toàn vẹn và nguồn 
 1396040063414249106233756715423506814076734
gốc của M được khẳng định. Ngược lại, nếu kết quả là 
 227141 
false thì M bị phủ nhận về nguồn gốc và tính toàn vẹn. 
 - Giá trị của x1: 
Nguyễn Đức Thụy, Lưu Hồng Dũng 4 
4058370318607681007755510762685178271365232 - Giá trị của E tính được: 
1929471000568735620774126567223984754965898 9947977578985497828433112196137971551981039
1628005083289795572876280216639462805193338 19360 
400762227172605620843386 
 - Giá trị của Z tính được: 
- Giá trị của x : 
 2 6906971967963642513654078827923678321013235
1336469017197379871919685315068540686272278 4165420687120820589978943542468944086437422
035577 2743202530983070198874182835401612482869547
- Giá trị của y1: 3639138169566805153939123 
4166414543853754477463513432272555621490994 - Giá trị của A tính được: 
1901511883506834222768226003954066407701818 4672624538388502266835853716710549106327303
7011737172556088349519326398149222698213562 0654205315339132641545609008093755946635143
5357462427830114211211397 0085314736282096802082511226037032882409747
- Giá trị của y2: 8248327543711674383209614 
3444900405691608012655812518275077028167817 - Giá trị của B tính được: 
3954520452155461712791247704263118008086208 4672624538388502266835853716710549106327303
1531110700411769515287169190952536509099543 0654205315339132641545609008093755946635143
2125038309781498783298331 0085314736282096802082511226037032882409747
b. Sinh chữ ký (Bảng 2): 8248327543711674383209614 
Input: p, q, y1, y2, x1, x2, M. Output: (R,S) = true. 
Output: (R,S). + Trường hợp 2: 
- Bản tin: M = “THIS IS A NEWDIGITAL - Bản tin: M = “THIS IS A NEWDIGITAL 
SIGNATURE ALGRITHM !” SIGNATURE ALGRITHM ” 
- Giá trị của k: - Giá trị của R cần kiểm tra: 
1255212206829023352132843655989569922266921 4449911408752777649244040466206307370345414
693676 1929343934596076092067962791347983369564752
- Giá trị của E tính được: 9435255945295141087456014749221312569125192
 0262737597326392043100028 
9947977578985497828433112196137971551981039
19360 - Giá trị của S cần kiểm tra: 
- Giá trị của R tính được: 8726662134419522036019694497359990811104394
 1598406241186524326179846189573383626435667
4449911408752777649244040466206307370345414
 0716353450614720987111795916106614857121946
1929343934596076092067962791347983369564752
 9884581337455422383981655 
9435255945295141087456014749221312569125192
0262737597326392043100028 - Giá trị của E tính được: 
- Giá trị của S tính được: 4594281291465525110174667743773336338947794
 35085 
8726662134419522036019694497359990811104394
1598406241186524326179846189573383626435667 - Giá trị của Z tính được: 
0716353450614720987111795916106614857121946 6906971967963642513654078827923678321013235
9884581337455422383981655 4165420687120820589978943542468944086437422
c. Kiểm tra chữ ký (Bảng 3): 2743202530983070198874182835401612482869547
 3639138169566805153939123 
Input: p, y1, y2, (R,S), M. 
 - Giá trị của A tính được: 
+ Trường hợp 1: 
 4672624538388502266835853716710549106327303
- Bản tin: M = “THIS IS A NEWDIGITAL 
 0654205315339132641545609008093755946635143
SIGNATURE ALGRITHM !” 
 0085314736282096802082511226037032882409747
- Giá trị của R cần kiểm tra: 8248327543711674383209614 
4449911408752777649244040466206307370345414 - Giá trị của B tính được: 
1929343934596076092067962791347983369564752
 2092530588255877058475346020861947849287161
9435255945295141087456014749221312569125192
 9098055755472151142456277874491594998297359
0262737597326392043100028 
 0481783036341432328353498341496594709850878
- Giá trị của S cần kiểm tra: 8639292155159467540424063 
8726662134419522036019694497359990811104394 Output: (R,S) = false. 
1598406241186524326179846189573383626435667
 + Trường hợp 3: 
0716353450614720987111795916106614857121946
9884581337455422383981655 - Bản tin: M = “THIS IS A NEWDIGITAL 
 5 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG – Vol. 17 No. 8, 2019. 
 SIGNATURE ALGRITHM !” kiện: 
 - Giá trị của R cần kiểm tra: y1 y2 R.S mod p E
 S  R y1 y2 mod p (18) 
 4449911408752777649244040466206307370345414 Từ (2.12), nếu chọn trước R rồi tính S thì khi đó điều 
 1929343934596076092067962791347983369564752 kiện (18) sẽ có dạng: 
 9435255945295141087456014749221312569125192
 y R.S mod p
 S 1  a y mod p 19) 
 0262737597326392043100020 2 
 - Giá trị của S cần kiểm tra: Còn nếu chọn trước S rồi tính R thì khi đó điều kiện 
 8726662134419522036019694497359990811104394 (18) sẽ trở thành: 
 y R.S mod p
 1598406241186524326179846189573383626435667 R 2  b y mod p (20) 
 2 
 0716353450614720987111795916106614857121946 Với a, b là hằng số, dễ thấy rằng (19) và (20) cũng là 
 9884581337455422383981650 một dạng bài toán khó chưa có cách giải tương tự bài toán 
 - Giá trị của E tính được: logarit rời rạc kết hợp khai căn trên Zp. 
 9947977578985497828433112196137971551981039 Kết luận 
 19360 
 Bài báo đề xuất xây dựng thuật toán chữ k ý số dựa 
 - Giá trị của Z tính được: 
 trên tính khó giải của bài toán logarit rời rạc – khai căn 
 3844497704372142663146652508134385887429567 trên Zp. Mức độ an toàn của các thuật toán xây dựng theo 
 1303561714050415768364551394492036594500866 phương pháp này sẽ được đảm bảo bằng mức độ khó của 
 2358048595180941298839593305260276003644856 việc giải bài toán trên. Ở đây, bài toán logarit rời rạc kết 
 6748451335740220074232991 hợp khai căn trên Zp là một dạng bài toán khó mới, lần 
 - Giá trị của A tính được: đầu được đề xuất và ứng dụng trong việc xây dựng thuật 
 1406677822597821802010526057075954693241085 toán chữ ký số. Từ phương pháp mới đề xuất có thể xây 
 6857650576352585936590763908843256504202090 dựng một lớp thuật toán chữ ký số có độ an toàn cao cho 
 1655785689180545584176292246996396677465791 các ứng dụng trong thực tế. 
 6245247844607175313754533 Tài liệu tham khảo 
 - Giá trị của B tính được: [1] Nguyen Duc Thuy and Luu Hong Dung, “A New Construction 
 Method of Digital Signature Algorithms”, IJCSNS International 
 9939385551582310543738421446931192840015113 Journal of Computer Science and Network Security. Vol. 16 No. 12 
 8197085285633813123513787042678692559553651 pp. 53-57, December 2016. ISSN: 1738 - 7906. 
 7098339876103450401240752626350520689260376 [2] Q. X. WU, Y. X. Yang and Z. M. HU, "New signature schemes 
 3153501037477621806591752 based on discrete logarithms and factoring", Journal of Beijing 
 University of Posts and Telecommunications, vol. 24, pp. 61-65, 
2.2.5. Mức độ an toàn của lược đồ mới đề xuất January 2001. 
 [3] Z. Y. Shen and X. Y. Yu, "Digital signature scheme based on 
 Mức độ an toàn của lược đồ mới đề xuất có thể đánh discrete logarithms and factoring", Information Technology, vol. 
giá qua khả năng chống lại một số dạng tấn công như: 28,pp. 21-22, June 2004. 
 - Tấn công khóa bí mật [4] Shimin Wei, “Digital Signature Scheme Based on Two Hard 
 Problems”, IJCSNS International Journal of Computer Science and 
 Ở lược đồ mới đề xuất, cặp tham số x1, x2 cùng được Network Security, VOL.7 No.12, December 2007. 
 [5] Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad, “A New 
sử dụng làm khóa bí mật để hình thành chữ k ý. Vì thế, Digital Signature Scheme Based on Factoring and Discrete 
lược đồ chỉ bị phá vỡ nếu cả 2 tham số này cùng bị lộ, nói Logarithms”, Journal of Mathematics and Statistics, 04/2008; 12(3). 
cách khác là kẻ tấn công phải giải được bài toán logarit DOI: 10.3844/jmssp.2008.222.225 Source:DOAJ. 
rời rạc kết hợp khai căn trên Zp. Do đó, mức độ an toàn [6] Qin Yanlin , Wu Xiaoping,“ New Digital Signature Scheme 
 Based on both ECDLP and IFP”, Computer Science and 
của lược đồ mới đề xuất xét theo khả năng chống tấn công Information Technology, 2009. ICCSIT 2009. 2nd IEEE 
làm lộ khóa bí mật được đánh giá bằng mức độ khó của International Conference on, 8-11 Aug. 2009, E-ISBN : 978-1-
việc giải được DLRP. Cần chú ý, DLRP là một dạng bài 4244-4520-2, pp 348 - 351. 
toán khó mới, mà ngay cả khi có các giải thuật thời gian [7] Swati Verma1, Birendra Kumar Sharma, “A New Digital 
 Signature Scheme Based on Two Hard Problems”, International 
đa thức cho FRP và DLP cũng không có nghĩa là sẽ giải Journal of Pure and Applied Sciences and Technology, ISSN 2229 – 
được bài toán này. Ngoài ra, tham số q cũng được sử 6107, Int. J. Pure Appl. Sci. Technol., 5(2) (2011), pp. 55-59. 
dụng với vai trò khóa bí mật trong thuật toán ký. Như [8] Sushila Vishnoi , Vishal Shrivastava, ”A new Digital Signature 
vậy, để phá vỡ tính an toàn của thuật toán, kẻ tấn công Algorithm based on Factorization and Discrete Logarithm 
 problem”, International Journal of Computer Trends and 
còn phải giải được bài toán tìm bậc của x1. Tuy nhiên, Technology, volume 3, Issue 4, 2012. 
việc tìm bậc của x1 là không thể thực hiện được, vì x1 ở [9] A.N. Berezin, N.A. Moldovyan, V.A. Shcherbacov, 
đây là 1 tham số bí mật. "Cryptoschemes Based on Difficulty of Simultaneous Solving Two 
 Different Difficult Problems", Computer Science Journal of 
 - Tấn công giả mạo chữ ký Moldova, vol.21, no.2(62), 2013. 
 Từ thuật toán kiểm tra (Bảng 3) của thuật toán mới đề [10] N.A. Moldovyan, "Digital Signature Scheme Based on a New 
 Hard Problem", Computer Science Journal of Moldova, vol.16, 
xuất cho thấy, một cặp (R,S) giả mạo sẽ được công nhận no.2(47), 2008 
là chữ ký hợp lệ với một bản tin M nếu thỏa mãn điều 
Nguyễn Đức Thụy, Lưu Hồng Dũng 6 
 (BBT nhận bài: //201.., hoàn tất thủ tục phản biện: //201..) 
 (The Board of Editors received the paper on /./201, its review was completed on //201) 
 Thông tin về tác giả 
 Nguyễn Đức Thụy: 
 - Tốt nghiệp đại học ngành Công nghệ thông tin tại trường Đại học Ngoại ngữ - Tin học TP.HCM năm 
 2005, Thạc sĩ tại Học viện KTQS năm 2013; 
 - Hiện đang công tác tại khoa CNTT – Trường Cao đẳng KT-KT TP.HCM; 
 - Hướng nghiên cứu: An toàn và bảo mật thông tin; 
 - Điện thoại: 0832555505. 
 Lưu Hồng Dũng: 
 - Tốt nghiệp đại học ngành Vô tuyến Điện tử tại Học viện KTQS năm 1989, Tiến sĩ tại Học viện KTQS 
 năm 2013; 
 - Hiện đang công tác tại khoa CNTT- Học viện KTQS; 
 - Hướng nghiên cứu: An toàn và bảo mật thông tin; 
 - Điện thoại: 0906000013. 

File đính kèm:

  • pdfxay_dung_luoc_do_chu_ky_so_dua_tren_tinh_kho_cua_bai_toan_lo.pdf