intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Xây dựng lược đồ chữ ký số dựa trên tính khó của việc giải hệ phương trình phi tuyến trên Zp

Chia sẻ: ViColor2711 ViColor2711 | Ngày: | Loại File: PDF | Số trang:9

52
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề 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 một hệ phương trình phi tuyến trên Zp. Đây là một dạng bài toán khó mới chưa có phương pháp giải, lần đầu được đề xuất và ứng dụng để xây dựng các thuật toán chữ ký số.

Chủ đề:
Lưu

Nội dung Text: Xây dựng lược đồ chữ ký số dựa trên tính khó của việc giải hệ phương trình phi tuyến trên Zp

Công nghệ thông tin<br /> <br /> XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN TÍNH KHÓ CỦA<br /> VIỆC GIẢI HỆ PHƯƠNG TRÌNH PHI TUYẾN TRÊN Zp<br /> Lưu Xuân Văn1*, Đoàn Văn Hòa2, Lưu Hồng Dũng3<br /> Tóm tắt: Bài báo đề xuất một phương pháp xây dựng thuật toán chữ ký số dựa<br /> trên tính khó của việc giải một hệ phương trình phi tuyến trên Zp. Đây là một dạng<br /> bài toán khó mới chưa có phương pháp giải, lần đầu được đề xuất và ứng dụng để<br /> xây dựng các thuật toán chữ ký số. Từ phương pháp được đề xuất có thể xây dựng<br /> một lớp thuật toán chữ ký số có độ an toàn cao cho các ứng dụng trong thực tế.<br /> Từ khóa: Chữ ký số; Thuật toán ký số; Lược đồ ký số; Logarith rời rạc.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> 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<br /> 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<br /> tâm của các nhà nghiên cứu, trong [1 – 11] các tác giả đã đề xuất một số thuật toán<br /> 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<br /> 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ố,<br /> nhóm tác giả tiếp tục phát triển phương pháp đề xuất trong [12] trên cơ sở tính khó<br /> của việc giải một hệ phương trình phi tuyến trên Zp. Đây là một dạng bài toán khó<br /> 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ó<br /> nhiều triển vọng tạo ra các thuật toán có độ an toàn cao cho các ứng dụng thực tế.<br /> 2. XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN TÍNH KHÓ GIẢI<br /> CỦA HỆ PHƯƠNG TRÌNH PHI TUYẾN TRÊN Zp<br /> 2.1. Giải hệ phương trình phi tuyến trên Zp - Một dạng bài toán khó mới<br /> Bài toán giải hệ phương trình phi tuyến trên trường Zp được đề xuất ở đây là<br /> một dạng bài toán khó mới, bài toán này có thể phát biểu như sau:<br /> Với mỗi cặp số nguyên dương  y1 , y2   Z *p , hãy tìm các số x1 và x2 thỏa mãn<br /> hệ phương trình sau:<br />  x1 x1 . x2 mod p  y1<br /> <br />  x2 x1 . x2 mod p  y 2<br /> Về mặt hình thức, nếu x1 là hằng số còn x2 là biến cần tìm thì bài toán trên sẽ<br /> trở thành bài toán logarit rời rạc trên Zp - DLP (Discrete Logarithm Problem). Tuy<br /> nhiên, ở đây x1 cũng là ẩn số như x2 , vì thế các giải thuật cho DLP không thể áp<br /> dụng với bài toán này. Tương tự, nếu x2 là hằng số và x1 là biến thì bài toán trên<br /> lại trở thành bài toán khai căn trên Zp - RP (Root Problem) [12]. Song ở đây x2<br /> cũng là biến cần tìm, do vậy các giải thuật cho RP cũng không áp dụng được đối<br /> với bài toán mới đề xuất. Trong toán học, bài toán trên thực chất là một hệ phương<br /> trình phi tuyến và thuộc lớp các bài toán chưa có cách giải, các giải thuật cho DLP<br /> và RP hiện tại là không áp dụng được với bài toán này. Điều đó cho thấy bài toán<br /> mới đề xuất ở đây có mức độ khó cao hơn DLP và RP.<br /> <br /> <br /> 104 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 2.2. Xây dựng lược đồ chữ ký dựa trên tính khó của bài toán mới đề xuất<br /> 2.2.1. Thuật toán sinh khóa<br /> Ở lược đồ chữ ký mới đề xuất, bài toán trên được sử dụng để hình thành cặp<br /> khóa bí mật và công khai của đối tượng ký. Trong đó, p là tham số hệ thống (tham<br /> số miền) do nhà cung cấp dịch vụ tạo ra, ở đây p là số nguyên tố cần phải được<br /> chọn sao cho việc giải bài toán logarit rời rạc là khó. Cặp ( x1 , x2 ) là khóa bí mật<br /> và ( y1 , y2 ) là các khóa công khai tương ứng của mỗi đối tượng ký trong hệ thống.<br /> Để tạo khóa ( x1 , x2 ) mỗi thực thể ký cần tạo trước số nguyên tố q thỏa mãn: q|(p-<br /> p 1<br /> <br /> 1) và một cặp số ( ,  )  Z *p . Khóa bí mật x1 được tạo theo: x1   q<br /> mod p .<br /> p 1<br /> <br /> Khóa bí mật x2 được tạo theo: x2   q<br /> mod p .<br /> Sau đó, các khóa công khai được tạo ra từ ( x1 , x2 ) theo:<br /> x .x x .x<br /> y1   x1  1 2 mod p , y2   x2  1 2 mod p (1)<br /> Chú ý rằng tham số q cũng được sử dụng với vai trò của một khóa bí mật tương<br /> tự như x1 và x2 trong thuật toán ký.<br /> Thuật toán sinh khóa có thể được mô tả lại như trên Thuật toán 1 sau đây:<br /> Thuật toán 1. Thuật toán sinh khóa<br /> Input: p - số nguyên tố, lq - độ dài (tính theo bit) của số nguyên tố q.<br /> Output: q, x1, x2, y.<br /> [B1] generate q: len(q) = lq, q|(p-1)<br /> [B2] select (α,  ): 1   ,   p<br /> [B3] x1    p 1 / q mod p , x2    p 1 / q mod p<br /> [B4] if (( x1 =1) or ( x2 =1)) then goto [B2]<br /> [B5] y1   x1 x .x mod p , y2  x2 x . x mod p<br /> 1 2 1 2<br /> <br /> <br /> <br /> [B6] return {q, x1, x2, y1, y2}<br /> Chú thích:<br /> - len(.) là hàm tính độ dài (theo bit) của một số nguyên.<br /> - p: Tham số hệ thống/tham số miền.<br /> - q, x1, x2: Khóa bí mật.<br /> - y1, y2: Khóa công khai của đối tượng ký (U).<br /> 2.2.2. Thuật toán ký<br /> Giả sử (R,S) là chữ ký lên bản tin M và R được tính từ u  Z *p theo công thức:<br /> x<br /> R  u  2 mod p (2)<br /> *<br /> và S được tính từ v  Z theo: p<br /> x<br /> S  v  2 mod p (3)<br /> Cũng giả thiết rằng phương trình kiểm tra của lược đồ có dạng:<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 105<br /> Công nghệ thông tin<br /> y1 y E  RS  mod p<br />  R   S  2   y1    y2  mod p<br /> với: E  H (M ) và: R  S mod p  (k ) mod p x2 (4)<br /> Trong đó: H(.) là hàm băm và k  Z *p .<br /> Đặt: k x mod p  Z<br /> 2<br /> (5)<br /> Khi đó có thể đưa phương trình kiểm tra về dạng:<br /> Ry  S y   y1 E   y2 Z mod p<br /> 1 2<br /> (6)<br /> Từ (1), (2), (3) và (6) ta có:<br /> u x . y<br /> 2 1<br />  v  2<br /> x . y2<br />   x1  1<br /> x . x2 . E<br />   x2  1<br /> x . x2 . Z<br /> mod p (7)<br /> Từ (7) suy ra:<br /> u y 1 y<br />  v  2   x1  1   x2  1 mod p<br /> x .E x .Z<br /> <br /> <br />  y1 1 . y2 x . y1 1 . E x . y1 1 .Z<br /> u  v   x1  1  x2  1 mod p<br /> Nên: 1 (8)<br /> Z x1 . y1 <br />  v <br />  y1  1<br />  x1   x2 <br /> . y2<br />  E<br />  mod p<br /> Mặt khác, từ (2), (3) và (4) ta có:<br /> u  v  mod p  k (9)<br /> Từ (8) và (9) ta có:<br /> 1<br /> Z x1 . y1 <br /> v  v <br />  y1 1 . y2<br /> <br />  x1   x2 <br /> E<br />  mod p  k<br /> Hay:<br /> 1<br /> Z x1 . y1 <br /> v  y 1<br /> 1<br /> . y 2 1<br /> <br />   x1    x2 <br /> E<br />  mod p  k (10)<br /> Từ (10), suy ra:<br /> 1  y <br /> 1<br /> 1<br /> . y2 1 1<br /> <br /> Z  x1 . y1  <br /> <br /> <br /> <br /> v   k   x1    x2 <br /> E<br /> <br /> <br />  mod p (11)<br /> <br /> Từ (11), có thể tính được giá trị u theo (8):<br /> 1<br /> Z x1 . y1 <br /> u  v <br />  y1 1 . y2<br />  E<br />  x1   x2   mod p<br /> x<br /> Từ các giá trị u và v có thể tính R của chữ ký theo (2): R  u  2 mod p<br /> và tính S theo (3): S  vx mod p 2<br /> <br /> <br /> <br /> Từ đây thuật toán ký được mô tả trên Thuật toán 2 như sau:<br /> Thuật toán 2. Thuật toán ký<br /> Input: p, q, x1, x2, y1, y2, M.<br /> Output: (R,S).<br /> [B1] E  H (M )<br /> [B2] select k: 1  k  p  1<br /> x<br /> [B3] Z  k  2 mod p<br /> <br />  x1 . y1 1<br />  y <br /> 1<br /> 1<br /> . y2 1  1<br /> <br /> <br /> [B4] v   k   x1    x2 <br /> <br /> E Z<br />   <br /> <br /> <br /> mod p<br /> <br /> <br /> <br /> <br /> 106 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br /> Nghiên cứu khoa học công nghệ<br /> 1<br /> Z x1 . y1 <br /> [B5] u  v <br />  y1 1 . y2<br />  E<br />   x1    x2   mod p<br /> x<br /> [B6] R  u  2 mod p<br /> x<br /> [B7] S  v  2 mod p<br /> [B8] If ((R=1) or (S=1)) then goto [B2]<br /> [B9] return (R,S)<br /> Chú thích:<br /> <br /> - M: bản tin cần ký, với: M  0,1 .<br /> *<br /> - H(.): Hàm băm H : 0,1  Z n , với: q  n  p<br /> - (R,S): chữ ký của U lên M.<br /> 2.2.3. Thuật toán kiểm tra<br /> Thuật toán kiểm tra của lược đồ được giả thiết là:<br /> y1 y E  RS  mod p<br />  R   S  2   y1    y2  mod p<br /> Ở đây, E là giá trị đại diện của bản tin cần thẩm tra: E  H (M ) . Nếu M và chữ<br /> ký (R,S) thỏa mãn đẳng thức trên thì chữ ký được coi là hợp lệ và bản tin sẽ được<br /> xác thực về nguồn gốc và tính toàn vẹn. Ngược lại, thì chữ ký bị coi là giả mạo và<br /> bản tin bị phủ nhận về nguồn gốc và tính toàn vẹn. Do đó, nếu vế trái của đẳng<br /> thức kiểm tra được tính theo:<br /> y<br /> A  R 1 mod p (12)<br /> và vế phải được tính theo:<br /> y E Z<br /> B  S  2   y1    y 2  mod p (13)<br /> ở đây:<br /> Z  R  S mod p (14)<br /> Thì điều kiện chữ ký hợp lệ là: A=B.<br /> Khi đó, thuật toán kiểm tra của lược đồ mới đề xuất được mô tả trong Thuật<br /> toán 3 như sau:<br /> Thuật toán 3. Thuật toán kiểm tra.<br /> Input: p, y1, y2, M, (R, S).<br /> Output: true / false .<br /> [B1] E  H (M )<br /> y<br /> [B2] A  R  1 mod p<br /> [B3] Z  R  S mod p<br /> y E Z<br /> [B4] B  S  2   y1    y 2  mod p<br /> [B5] if ( A  B ) then {return true }<br /> else {return false }<br /> <br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 107<br /> Công nghệ thông tin<br /> <br /> 2.2.4. Tính đúng đắn của lược đồ mới đề xuất<br /> Điều cần chứng minh ở đây là: Cho p, q là 2 số nguyên tố với q|(p-1),<br /> <br /> H : 0,1  Z n , qn p, 1  ,   p , x1    p 1 / q mod p , x2    p 1 / q mod p ,<br /> x . x2 x .x k<br /> y1   x1  1 mod p , y2   x2  1 2 mod p , 1 k  p , Z   x1  mod p , E  H M  ,<br /> 1<br /> 1  y <br /> 1<br /> 1<br /> <br /> . y2 1<br />  y1 1 . y2 x1 . y1 <br /> 1<br /> <br />  E<br /> v   k   x1    x2 <br /> <br /> Z<br /> <br />  x1 . y1  <br /> <br /> <br /> mod p , u  v <br />   x1    x2 <br /> E Z<br />  mod p ,<br /> <br /> x x y<br /> R   u  2 mod p , S   v  2 mod p . Nếu: Z  R  S mod p , A   R  1 mod p ,<br /> y E Z<br /> B   S  2   y1    y2  mod p thì: A  B .<br /> Tính đúng đắn của thuật toán mới đề xuất được chứng minh như sau:<br /> Thật vậy, từ (1), (2), (3), (8), (11) và (13) ta có:<br /> x2 . y1<br /> x1 . y1 1<br /> y<br /> A  R  1 mod p  u  2<br /> x . y1<br /> mod p   v  1 2  x1    x2 <br /> <br />  y 1 . y E Z<br />   <br /> <br /> <br /> mod p<br /> 1<br /> Z x1 . y1  . x2 . y1 (15)<br />  v <br />  y1 1 . y 2 . x2 . y1<br /> <br />   x1    x2 <br /> E<br />  mod p  v  2<br /> x . y2<br />   x1  1<br /> x . x2 . E<br />   x2  1<br /> x . x2 . Z<br /> mod p<br /> y E Z<br />  S  2   y1    y 2  mod p<br /> <br /> Mặt khác từ (2), (3), (8), (11) và (12) ta lại có:<br /> x2<br /> x1 . y1 1<br /> Z  R  S mod p  u  2  v  2 mod p   v  1 2  x1   x2 <br /> x x<br /> <br /> <br />  y 1 . y E Z<br />     v x2 mod p<br /> <br /> <br />  x1 . y1 1<br />  y <br /> 1<br /> 1<br /> . y2 1 <br /> 1<br /> . y1 1 . y2 . x2  x2 1<br /> Z x1 . x2 . y1 <br /> <br /> <br /> <br />   k  x1   x2 <br /> E Z<br />  <br /> <br /> <br />  E<br />  x1   x2   mod p<br /> <br />  x1 . y1 1<br />  y <br /> 1<br /> 1<br /> . y2 1  . y <br /> 1<br /> 1<br /> 1<br /> <br /> . y2 1 . x x 1<br /> (16)<br /> Z x1 . x2 . y1 <br /> <br /> <br /> <br />   k  x1   x2 <br /> E Z<br />  <br /> <br /> <br /> <br />  x1   x2 <br /> E<br />  mod p<br /> <br /> 1 x2<br /> Z  x1 . y1  x1 . x2 . y1 1<br /> <br /> <br /> <br />   k  x1   x2 <br /> E<br />  <br /> <br /> 1 2 <br />   x E  x Z  mod p<br /> 1 1<br /> Z  x1 . x2 . y1  Z x1 . x2 . y1 <br /> x<br /> <br />  k  2  x1   x2 <br /> E<br />  <br />  x1   x2 <br /> E<br />  mod p  k  2 mod p  Z<br /> x<br /> <br /> <br /> <br /> <br /> Thay (16) vào (14) ta có:<br /> y E Z y E Z<br /> B  S  2   y1    y2  mod p  S  2   y1    y2  mod p<br /> (17)<br /> Từ (15) và (17) suy ra điều cần chứng minh: A=B.<br /> 2.2.5. Ví dụ<br /> Tính đúng đắn của lược đồ mới đề xuất được minh họa bằng một ví dụ số như<br /> sau:<br /> a) Sinh tham số và khóa (Thuật toán 1):<br /> - Giá trị của p:<br /> 5119598402113263619647413046633333105228285000515677334589179699240770801113128<br /> 691621557751719430180712670366353305678543690093876314500926174034029269201<br /> - Giá trị của q:<br /> 781808462830405458176129153441979513485392456993<br /> - Giá trị của x1:<br /> 2842490911972753945445545799896416929243929107224821054069717968535655071231625<br /> 868946966274549239240045805503435429351793721944283213959121960755096375518<br /> - Giá trị của x2:<br /> 2150489955287383614222854701556275163987322304198611569590308894844039864014099<br /> 718064145199641713717746858366613043851522532672340735468822509573484417688<br /> <br /> <br /> <br /> 108 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br /> Nghiên cứu khoa học công nghệ<br /> - Giá trị của y1:<br /> 4752362188846001432451095168838825977504351218822787215613509267352461456687426<br /> 56121480111237216936503278668969026786609936834063244169724270072075518431<br /> - Giá trị của y2:<br /> 3081638004632919571970082331697065656387874785417547708965887191683350492975303<br /> 397728024143445032265545183583948790216795931358943797379106312175468166564<br /> b) Sinh chữ ký (Thuật toán 2):<br /> Input: p,y1,y2,x1,x2,M.<br /> Output: (R,S).<br /> - Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br /> - Giá trị của k:<br /> 3619181932015181332921654987246100638190279416171216670649804377304799497072483<br /> 779971623141639815886338262489818819792551921945442629354196112649212826547<br /> - Giá trị của E tính được:<br /> 765446923420569464858869279161340593924873951250<br /> - Giá trị của R tính được:<br /> 2578978040546995360931057356885224501796548859040273140196191758320843166213664<br /> 239378150901806465978336262717423570863122966304174638419711719558730285244<br /> - Giá trị của S tính được:<br /> 2224380751316613878874711758700910418813066109969658023430376378057660278968159<br /> 131581470430550228983218202294093687404074195903972620481571752314084294658<br /> c) Kiểm tra chữ ký (Thuật toán 3):<br /> Input: p,y1,y2,(R,S),M.<br /> + Trường hợp 1:<br /> - Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br /> - Giá trị của R:<br /> 2578978040546995360931057356885224501796548859040273140196191758320843166213664<br /> 239378150901806465978336262717423570863122966304174638419711719558730285244<br /> - Giá trị của S:<br /> 2224380751316613878874711758700910418813066109969658023430376378057660278968159<br /> 131581470430550228983218202294093687404074195903972620481571752314084294658<br /> - Giá trị của E tính được:<br /> 765446923420569464858869279161340593924873951250<br /> - Giá trị của Z tính được:<br /> 2365275623359255232876702232858324517036687506731193281049014835102728749249307<br /> 140783514760198811210087113971222711956968797566427029467752619495993833742<br /> - Giá trị của A tính được:<br /> 5009182436092899969432922977146621404462547823386495213041663626091080070784452<br /> 500719758764653871289777747917389887273902468251921618658597941797697356682<br /> - Giá trị của B tính được:<br /> 5009182436092899969432922977146621404462547823386495213041663626091080070784452<br /> 500719758764653871289777747917389887273902468251921618658597941797697356682<br /> Output: (R,S) = true.<br /> + Trường hợp 2: Bản tin M bị giả mạo.<br /> - Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM ”<br /> - Giá trị của R:<br /> 2578978040546995360931057356885224501796548859040273140196191758320843166213664<br /> 239378150901806465978336262717423570863122966304174638419711719558730285244<br /> - Giá trị của S:<br /> 2224380751316613878874711758700910418813066109969658023430376378057660278968159<br /> 131581470430550228983218202294093687404074195903972620481571752314084294658<br /> - Giá trị của E tính được:<br /> 74094010598378196819556769036091466548756606187<br /> - Giá trị của Z tính được:<br /> 2365275623359255232876702232858324517036687506731193281049014835102728749249307<br /> 140783514760198811210087113971222711956968797566427029467752619495993833742<br /> - Giá trị của A tính được:<br /> 5009182436092899969432922977146621404462547823386495213041663626091080070784452<br /> 500719758764653871289777747917389887273902468251921618658597941797697356682<br /> - Giá trị của B tính được:<br /> 1488359126273936813243632434469538093103616224220548588334028888150119304738618<br /> 467211912505689489579585662805761050860949693472937075275922757676168457192<br /> Output:(R,S) = false.<br /> + Trường hợp 3: Thành phần R của chữ ký bị giả mạo.<br /> - Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 109<br /> Công nghệ thông tin<br /> - Giá trị của R:<br /> 2578978040546995360931057356885224501796548859040273140196191758320843166213664<br /> 239378150901806465978336262717423570863122966304174638419711719558730285240<br /> - Giá trị của S:<br /> 2224380751316613878874711758700910418813066109969658023430376378057660278968159<br /> 131581470430550228983218202294093687404074195903972620481571752314084294658<br /> - Giá trị của E tính được:<br /> 765446923420569464858869279161340593924873951250<br /> - Giá trị của Z tính được:<br /> 3706949422319326956672681291321349052240993067883915856505868721353629235602927<br /> 997700748541436755638639645527554573697759394138289176543317958307715193512<br /> - Giá trị của A tính được:<br /> 2103122925751575293927695945461415162983886316746280267035526289513905507273974<br /> 454583000897168494366134213430890824367120283956832755497130820091415965038<br /> - Giá trị của B tính được:<br /> 1985222396844154533147613443758246007006163638474614219703118890277777325994538<br /> 876375304639811775582256510153550569528863364399572239755832733993950686404<br /> Output:(R,S) = false.<br /> 2.2.6. Mức độ an toàn của thuật toán được đề xuất<br /> Mức độ an toàn của lược đồ mới đề xuất có thể đánh giá qua khả năng chống<br /> một số dạng tấn công như:<br /> + Tấn công khóa bí mật<br /> Ở thuật toán mới đề xuất, cặp tham số x1, x2 cùng được sử dụng làm khóa bí<br /> mật để hình thành chữ ký. Vì thế, thuật toán chỉ bị phá vỡ nếu cả 2 tham số này<br /> cùng bị lộ, nói cách khác là kẻ tấn công phải giải được hệ phương trình phi tuyến<br /> trên Zp. Do đó, mức độ an toàn của thuật toán mới đề xuất xét theo khả năng chống<br /> tấn công làm lộ khóa mật được đánh giá bằng mức độ khó của việc giải được hệ<br /> phương trình nói trên. Cần chú ý, đây là một dạng bài toán khó mới, mà ngay cả<br /> khi có các giải thuật thời gian đa thức cho RP và DLP cũng không có nghĩa là sẽ<br /> giải được bài toán này. Ngoài ra, tham số q cũng được sử dụng với vai trò khóa bí<br /> mật trong thuật toán ký. Như vậy, để phá vỡ tính an toàn của thuật toán, kẻ tấn<br /> công còn phải giải được bài toán tìm bậc của x1 , x2 .Tuy nhiên, việc tìm bậc của<br /> x1 , x2 là không thể thực hiện được, vì x1 , x2 ở đây là đều là các tham số bí mật.<br /> + Tấn công giả mạo chữ ký<br /> Từ thuật toán kiểm tra (Thuật toán 3) của thuật toán mới đề xuất cho thấy, một<br /> cặp (R,S) giả mạo sẽ được công nhận là chữ ký hợp lệ với một bản tin M nếu thỏa<br /> mãn điều kiện:<br /> y1 y E  RS  mod p<br />  R   S  2   y1    y2  mod p (18)<br /> Từ (18), nếu chọn trước R rồi tính S thì khi đó điều kiện (18) sẽ có dạng:<br /> y2  RS  mod p<br /> S   a   y2  mod p (19)<br /> Còn nếu chọn trước S rồi tính R thì khi đó điều kiện (18) sẽ trở thành:<br /> y1  RS  mod p<br />  R  b   y2  mod p (20)<br /> Với a, b là hằng số, dễ thấy rằng (19) và (20) cũng là một dạng bài toán khó<br /> chưa có cách giải.<br /> <br /> <br /> 110 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 3. KẾT LUẬN<br /> Bài báo đề xuất một lược đồ chữ ký số mới dựa trên tính khó của việc giải một<br /> hệ phương trình phi tuyến trên Zp. Do đó, mức độ an toàn của các thuật toán xây<br /> dựng theo phương pháp này sẽ được đảm bảo bằng mức độ khó của việc giải hệ<br /> phương trình trên. Trong toán học, đây là một dạng bài toán chưa có phương pháp<br /> giải. Vì vậy, phương pháp mới đề xuất ở đây có thể sử dụng để phát triển một lớp<br /> thuật toán chữ ký số cho các ứng dụng yêu cầu có độ an toàn cao trong thực tế.<br /> TÀI LIỆU THAM KHẢO<br /> [1]. Q. X. WU, Y. X. Yang and Z. M. HU, “New signature schemes based on<br /> discrete logarithms and factoring”, Journal of Beijing University of Posts<br /> and Telecommunications, vol. 24, pp. 61-65, January 2001.<br /> [2]. Z. Y. Shen and X. Y. Yu, “Digital signature scheme based on discrete<br /> logarithms and factoring”, Information Technology, vol. 28, pp. 21-22, June<br /> 2004.<br /> [3]. Shimin Wei, “Digital Signature Scheme Based on Two Hard Problems”,<br /> IJCSNS International Journal of Computer Science and Network Security,<br /> VOL.7 No.12, December 2007.<br /> [4]. Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad, “A New Digital<br /> Signature Scheme Based on Factoring and Discrete Logarithms”, Journal of<br /> Mathematics and Statistics, 04/2008; 12(3). DOI:<br /> 10.3844/jmssp.2008.222.225, Source: DOAJ.<br /> [5]. Qin Yanlin, Wu Xiaoping, “New Digital Signature Scheme Based on both<br /> ECDLP and IFP”, Computer Science and Information Technology, 2009.<br /> ICCSIT 2009. 2nd IEEE International Conference on, 8-11 Aug. 2009, E-<br /> ISBN: 978-1-4244-4520-2, pp 348 - 351.<br /> [6]. Swati Verma1, Birendra Kumar Sharma, “A New Digital Signature Scheme<br /> Based on Two Hard Problems”, International Journal of Pure and Applied<br /> Sciences and Technology, ISSN 2229 - 6107, Int. J. Pure Appl. Sci. Technol.,<br /> 5(2) (2011), pp. 55-59.<br /> [7]. Sushila Vishnoi, Vishal Shrivastava, “A new Digital Signature Algorithm<br /> based on Factorization and Discrete Logarithm problem”, International<br /> Journal of Computer Trends and Technology, volume 3, Issue 4, 2012.<br /> [8]. A.N. Berezin, N.A. Moldovyan, V.A. Shcherbacov, “Cryptoschemes Based<br /> on Difficulty of Simultaneous Solving Two Different Difficult Problems”,<br /> Computer Science Journal of Moldova, vol.21, no.2(62), 2013.<br /> [9]. N.A. Moldovyan, “Digital Signature Scheme Based on a New Hard<br /> Problem”, Computer Science Journal of Moldova, vol.16, no.2(47), 2008.<br /> [10]. Phạm Văn Hiệp, Nguyễn Hữu Mộng, Lưu Hồng Dũng, “Một thuật toán chữ<br /> ký xây dựng dựa trên tính khó của việc giải đồng thời hai bài toán phân tích<br /> số và logarit rời rạc”, Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, số<br /> 7(128). 2018, ISSN: 1859 – 1531.<br /> [11]. Nguyễn Vĩnh Thái, Lưu Hồng Dũng, “Hệ mật khóa công khai dựa trên tính<br /> khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số/khai<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 111<br /> Công nghệ thông tin<br /> <br /> căn”, Tạp chí Thông tin và Truyền thông, Bộ Thông tin và Truyền thông,<br /> ISSN: 1859 – 3550, 12/2018.<br /> [12]. Lưu Hồng Dũng, Tống Minh Đức, Lưu Xuân Văn, “Phương pháp xây dựng<br /> lược đồ chữ ký số dựa trên tính khóa của việc giải đồng thời bài toán phân<br /> tích số và bài toán logarit rời rạc kết hợp khai căn trên Zn”, Hội nghị Quốc<br /> gia lần thứ XI về Nghiên cứu cơ bản và ứng dụng Công Nghệ thông tin<br /> (FAIR), Hà Nội, ngày 09-10/08/2018.<br /> <br /> <br /> ABSTRACT<br /> A NEW DIGITAL SIGNATURE SCHEMA BASED ON THE DIFFICULTY OF<br /> SOLVING A SYSTEM OF NONLINEAR EQUATIONS ON ZP<br /> This paper presents the proposed method of building a digital signature<br /> algorithm which is based on the difficulty of solving a system of nonlinear<br /> equations on Zp. This is a new form of difficult problem without the solution,<br /> also originally proposed and applied to build digital signature algorithms.<br /> From this proposed method, it is possible to build a high-security digital<br /> signature platform for practical applications.<br /> Keywords: Digital signature; Digital signature algorithm; Digital signature schema; Discrete logarithm<br /> problem.<br /> <br /> <br /> Nhận bài ngày 10 tháng 11 năm 2018<br /> Hoàn thiện ngày 18 tháng 3 năm 2019<br /> Chấp nhận đăng ngày 25 tháng 3 năm 2019<br /> <br /> <br /> <br /> 1<br /> Địa chỉ: Khoa Công nghệ & an ninh thông tin, Học viện An ninh nhân dân;<br /> 2<br /> Viện Công nghệ thông tin, Viện Khoa học - Công nghệ quân sự;<br /> 3<br /> Khoa Công nghệ thông tin, Học viện Kỹ thuật quân sự.<br /> *<br /> Email: vanlx.hvan@gmail.com.<br /> <br /> <br /> <br /> <br /> 112 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
13=>1