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

Một số tấn công lên lược đồ chữ ký số GOST R 34.10-2012 dựa trên thuật toán rút gọn cơ sở lưới LLL

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

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

Bài viết trình bày hai tấn công khôi phục khóa ký dài hạn và khóa ký tức thời trong lược đồ chữ ký số GOST R 34.10-2012 dựa trên thuật toán rút gọn cơ sở lưới LLL.

Chủ đề:
Lưu

Nội dung Text: Một số tấn công lên lược đồ chữ ký số GOST R 34.10-2012 dựa trên thuật toán rút gọn cơ sở lưới LLL

Nghiên cứu khoa học công nghệ<br /> <br /> MỘT SỐ TẤN CÔNG LÊN LƯỢC ĐỒ CHỮ KÝ SỐ GOST<br /> R 34.10-2012 DỰA TRÊN THUẬT TOÁN RÚT GỌN CƠ SỞ LƯỚI LLL<br /> Khúc Xuân Thành1*, Nguyễn Duy Anh2, Nguyễn Bùi Cương1<br /> Tóm tắt: Trong bài báo này, chúng tôi trình bày hai tấn công khôi phục khóa ký<br /> dài hạn và khóa ký tức thời trong lược đồ chữ ký số GOST R 34.10-2012 dựa trên<br /> thuật toán rút gọn cơ sở lưới LLL. Các tấn công này được dựa trên cách tiếp cận<br /> trong các tấn công lên lược đồ chữ ký số DSA và ECDSA [1], [7]. Cụ thể, trong tấn<br /> công dựa trên [1], chúng tôi chỉ ra rằng nếu các khóa ký thỏa mãn , < /<br /> hoặc , > − / thì tấn công này có thể khôi phục lại các khóa này. Tấn công<br /> dựa trên [7], có thể khôi phục được các khóa ký nếu , < / hoặc , ><br /> /<br /> − . Các tấn công này đã được chúng tôi cài đặt thực nghiệm sử dụng phần<br /> mềm tính toán đại số Magma.<br /> Từ khóa: Mật mã, Lưới, Lược đồ chữ ký số, Thuật toán LLL, GOST R 34.10-2012.<br /> <br /> 1. MỞ ĐẦU<br /> Khía cạnh tính toán của hình học của các số đã có một cuộc cách mạng nhờ<br /> thuật toán rút gọn cơ sở lưới do ba nhà toán học Arjen Lenstra, Hendrik Lenstra,<br /> László Lovász tìm ra năm 1982 [6] (được viết tắt là LLL). Ngay sau khi được công<br /> bố, thuật toán LLL ngay lập tức được xem như một trong những thuật toán quan<br /> trọng nhất của thế kỷ 20 bởi vì những ứng dụng của nó trong mật mã, đại số máy<br /> tính và lý thuyết số. Một trong những ứng dụng đầu tiên của thuật toán LLL trong<br /> mật mã là phá vỡ hệ mật Merkle–Hellman. Sau đó, một loạt các tấn công lên RSA<br /> [2], DSA [1], ECDSA [7] đã được phát triển dựa trên thuật toán LLL.<br /> Các nghiên cứu liên quan. Lược đồ DSA và ECDSA [5] được biết đến như phiên<br /> bản lược đồ chữ ký số của Mỹ. Gần đây, trên thế giới nổi lên một số công trình<br /> nghiên cứu tấn công lên DSA, ECDSA dựa trên thuật toán LLL như [1], [7]. Các<br /> tấn công này đem lại khả năng thành công cao và thời gian thực hiện rất ngắn khi<br /> các khóa ký của chữ ký thỏa mãn một điều kiện nào đó. Trong khi đó, GOST R<br /> 34.10-2012 [4] thì được biết đến như phiên bản lược đồ chữ ký số của Nga và hiện<br /> đang được nghiên cứu tìm hiểu tại Việt Nam thì chưa có nghiên cứu nào với các<br /> tấn công dạng này. Do đó, nhằm tránh các tấn công trên để không có các khóa ký<br /> “yếu” trong chữ ký, câu hỏi cần thiết phải được đạt ra là liệu các tấn công như vậy<br /> có thể xảy ra trên lược đồ chữ ký số GOST R 34.10-2012?<br /> Đóng góp của chúng tôi. Dựa trên các tấn công trong [1] và [7] lên lược đồ chữ<br /> ký số DSA và ECDSA, chúng tôi xây dựng hai phiên bản tấn công khôi phục khóa<br /> ký lên lược đồ chữ ký số GOST R 34.10-2012. Cụ thể, đối với lược đồ chữ ký số<br /> GOST R 34.10-2012, tấn công 1dựa trên [1] chỉ ra rằng nếu khóa ký dài hạn và<br /> khóa ký tức thời thỏa mãn | | < (ở đây, là cấp của điểm cơ sở trong<br /> √<br /> chữ ký, với ∈ [1, ],kí hiệu = nếu ≤ , ngược lại = − ) thì kẻ tấn<br /> công có thể khôi phục lại các khóa ký này. Tấn công 2 dựa trên [7] chỉ ra rằng kẻ<br /> tấn công có thể khôi phục được và khi | | < . Hai tấn công này đã<br /> √<br /> được chúng tôi thực hiện cài đặt thực nghiệm sử dụng phần mềm tính toán đại số<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 95<br /> Công nghệ thông tin<br /> <br /> Magma với các tham số được lấy trong [4]. Kết quả thực nghiệm cho thấy, các tấn<br /> công này có thể khôi phục các khóa ký trong thời gian rất ngắn.<br /> Bố cục bài báo. Sau mục Mở đầu, Mục 2 trình bày một số khái niệm cơ sở của lý<br /> thuyết lưới và lược đồ chữ ký số GOST R 34.10-2012. Mục 3 trình bày ý tưởng<br /> chung cho việc xây dựng các tấn công lên lược đồ chữ ký số GOST R 34.10-2012.<br /> Hai tấn công cụ thể lên GOST R 34.10-2012 được trình bày trong Mục 4. Cuối<br /> cùng, Mục 5 đưa ra một số kết quả thực nghiệm và khuyến cáo khi sinh các khóa<br /> ký cho lược đồ chữ ký số GOST R 34.10-2012.<br /> 2. MỘT SỐ KHÁI NIỆM CƠ SỞ<br /> 2.1. Lưới<br /> Trước tiên, chúng tôi nhắc lại định nghĩa của lưới.<br /> Định nghĩa 1. ([3]) Cho n  1 , (b1, b 2 ,  , bn ) là một cơ sở của n . Lưới n chiều<br /> L với cơ sở (b1, b 2 ,  , bn ) là tập hợp gồm tất cả các tổ hợp tuyến tính của các<br /> véctơ cơ sở nàyvới hệ số nguyên. Tức là, L có thể được biểu diễn như sau:<br /> <br /> n <br /> <br /> L  b1  b 2    bn  <br />  ai bi a1, a 2 , , an  <br />  (1)<br /> <br />  i 1 <br /> <br />  <br /> Các véctơ (b1, b 2 ,  , bn ) được gọi là cơ sở của lưới. Với mỗi 1  i  n , viết<br /> bi  (bi1, bi 2 ,  , bin ) , thành lập một ma trận X  (bij ) . Định thức của lưới L trong<br /> cơ sở (b1, b 2 ,  , bn ) được định nghĩa là det L  det X . Ký hiệu (b1* , b*2 ,  , bn* ) là<br /> các véctơ thu được sau khi trực giao hóa Gram-Schmidt (b1, b 2 ,  , bn ) . Định thức<br /> của lưới không phụ thuộc cách chọn cơ sở. Thuật toán LLL [6] đưa ra một cơ sở<br /> mới “tốt hơn” theo nghĩa gồm các véctơ ngắn hơn. Sau đây là một số tính chất của<br /> một cơ sở mới thu được sau khi ápdụng thuật toán LLL.<br /> Khẳng định 2. ([3]) Cho L là một lưới được căng bởi ( v1, v 2 ,  , vn ) . Áp dụng<br /> thuật toán rút gọn cơ sở LLL vào lưới L ta thu được một cơ sở mới (b1, b 2 ,  , bn ) ,<br /> được gọi là cở sở LLL-rút gọn, thỏa mãn hai điều kiện sau đây:<br /> <br /> bi  b*j<br /> 1, ij  2<br />  1 2 với mọi 1  j  i  n .<br /> *<br /> b j<br /> <br /> <br /> 3 *<br /> 2, bi*  i,i 1bi*1  b với mọi 2  i  n , ở đây, bi  b *j là tích vô hướng của<br /> 4 i 1<br /> véctơ bi và b*j .<br /> Chứng minh. Xem [3], Trang 71. ∎<br /> Tính chất 3. ([3])Nếu (b1, b 2 ,  , bn ) là một cơ sở LLL-rút gọn của lưới L trong<br /> n thì ta có:<br /> (n 1) 4 1n<br /> 1, b1  2 (det L) .<br /> <br /> <br /> <br /> 96 K. X. Thành, N. D. Anh, N. B. Cương, “Một số tấn công lên lược đồ … cơ sở lưới LLL.”<br /> Nghiên cứu khoa học công nghệ<br /> 1 (n 1)<br /> (n  2 ) 4  1<br /> <br /> 2, b 2  2 det L  b1  .<br /> <br /> Chứng minh. Xem [3], Trang 59. ∎<br /> 2.2. Lược đồ chữ ký số GOST R 34.10-2012<br /> Lược đồ GOST R 34.10-2012 [4] được xem là chuẩn chữ ký số của Nga. Lược<br /> đồ này sử dụng một đường cong elliptic E trên p và một điểm P  E (p ) có cấp<br /> là một số nguyên tố (256 bít hoặc 512 bít). Lược đồ gồm ba thuật toán chính:<br /> 1, Thuật toán sinh khóa cho người ký:<br />  Chọn a ngẫu nhiên đều trong [1,  , q  1] là khóa ký dài hạn.<br />  Tính Q  aP là khóa công khai<br /> 2, Thuật toán ký của người ký trên thông điệp m :<br />  Chọn k ngẫu nhiên đều trong [1,  , q  1] là khóa ký tức thời.<br />  Tính kP  (x , y ) , lấy r  x (mod q ) nếu r  0 thì chọn lại k .<br />  Tính h (m ) , ở đây h là một hàm băm ánh xạ thông điệp tới {1,  , q  1} .<br />  Tính s  (kh (m )  ar ) (mod q ) , nếu s  0 thì chọn lại k .<br /> 3, Thuật toán xác minh chữ ký (r , s ) trên thông điệp m :<br />  Xác minh r , s có thuộc [1, q  1] hay không.<br />  Tính w  h(m)1 (mod q )<br />  Tính u1  sw (mod q ) và u 2  rw (mod q ) .<br />  Tính R  (x R , yR )  u1P  u 2Q<br />  Chữ ký được chấp nhận chỉ khi r  x R (mod q ) .<br /> Tính đúng đắn của thuật toán. Ta có,<br /> R  (x R , yR )  u1P  u 2Q  (u1  u 2a )P  (h(m )1s 1  arh(m )1 )P  kP .<br /> <br /> 3. Ý TƯỞNG CHUNG CỦA TẤN CÔNG<br /> Ý tưởng chính của các tấn công lên lược đồ chữ ký số GOST R 34.10-2012 dựa<br /> trên lý thuyết lưới là đi tìm khóa a và k (với h (m ), r , s, q đã biết) thông qua việc<br /> giải phương trình đồng dư:<br /> s  (kh(m)  ar ) (mod q) . (2)<br /> Từ phương trình (2), các tấn công sử dụng hai các biến đổi chính sau:<br /> Cách 1. Nhân cả hai vế của (2) với r 1 , ta có:<br /> a  k(h(m)r 1 )  sr 1  0 (mod q ) .<br /> Đặt A  h(m)r 1 (mod q ), B  sr 1 (mod q ) . Khi đó, cặp (k , a ) nghiệm của đa<br /> thức f (x , y )  y  Ax  B  0 (mod q ) .<br /> Cách 2. Nhân cả hai vế của (2) với k 1 và r 1 , ta có:<br /> ak 1  (r 1s )k 1  h (m )r 1  0 (mod q ) .<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 97<br /> Công nghệ thông tin<br /> <br /> Đặt A  sr 1 (mod q ), B  h(m)r 1 (mod q ) . Khi đó, cặp (k 1, a ) là nghiệm của<br /> phương trình đồng dư f (x , y )  xy  Ax  B  0 (mod q ) .<br /> Với bất kỳ cách biến đổi nào, ta đều phải tìm nghiệm của một phương trình<br /> đồng dư f (x , y ) trên vành modulo , và đây là một công việc khó. Tuy nhiên, ta lại<br /> có những công cụ hữu hiệu để tìm nghiệm của phương trình trên vành số nguyên.<br /> Do vậy, ta sẽ tìm cách chuyển việc tìm nghiệm trên vành modulo q về tìm nghiệm<br /> trên vành số nguyên. Bổ đề Howgrave-Graham [2] dưới đây cho ta một ý tưởng<br /> một cách chuyển như vậy.<br /> Cho h(x , y )   hi, j x i y j với hi, j   . Khi đó, gọi “chuẩn của h(x, y) ” là đại<br /> i, j<br /> <br /> lượng được ký hiệu là h(x , y ) và được xác định theo công thức<br /> <br /> h(x , y ) : h 2<br /> i, j<br /> .<br /> i, j<br /> <br /> <br /> Bổ đề 4. (Howgrave-Graham, [2])Cho đa thức h (x , y )  h i, j<br /> x i y j  [x , y ] là tổng<br /> i, j<br /> <br /> của n đơn thức. Lấy X ,Y là các số nguyên dươngvà các số nguyên x 0 , y 0 sao cho<br /> x 0  X , y 0  Y . Khi đó, nếu<br /> <br /> 1, h(x 0 , y 0 )  0 (mod q )<br /> <br /> 2, h(xX , yY )  q n,<br /> <br /> thì h(x 0 , y 0 )  0 trên vành số nguyên.<br /> Chứng minh. Xem [2] Trg. 4-5. ∎<br /> Bổ đề chỉ ra rằng ta cần tìm các đa thức có nghiệm chung với f (x , y ) và đa thức<br /> này có các hệ số đủ nhỏ đề chuẩn của nó cũng đủ nhỏ. Cụ thể, ta tìm các đa thức<br /> chuyển như sau: Đặt x 0  k theo biến đổi Cách 1 (hoặc x 0  k 1 theo biến đổi<br /> Cách 2) và y 0  a . Cho n là một số nguyên dương nào đó (trong từng tấn công sẽ<br /> định nghĩa cụ thể ). Sinh các đa thức fi (x , y ) (i  1,  , n ) mà cũng nhận (x 0 , y 0 ) là<br /> nghiệm trên vành modulo q . Sinh lưới chiều L từ các hàng của ma trận I trong<br /> đó các hàng của I là các hệ số của đa thức fi (xX , yY ) (i  1,  , n ) . Áp dụng thuật<br /> toán rút gọn cơ sở LLL vào lưới L ta thu được cơ sở mới (b1, b 2 ,  , bn ) . Do thuật<br /> toán LLL sử dụng các phép toán biến đổi tuyến tính nguyên nên<br /> g i (x 0 , y 0 )  0 (mod q ) (i  1,  , n ) . Ngoài ra, qua thuật toán LLL ta còn thu được<br /> <br /> cận trên của b1 . Nếu cận trên này nhỏ hơn q n thì g1(x 0 , y 0 )  0 trên  . Toàn<br /> bộ cách thực hiện có thể được mô tả qua Sơ đồ 1.<br /> <br /> <br /> <br /> 98 K. X. Thành, N. D. Anh, N. B. Cương, “Một số tấn công lên lược đồ … cơ sở lưới LLL.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> f (x 0 , y 0 )  0 (mod q ), x 0  X , y 0  Y<br /> <br /> Sinh fi (x 0 , y 0 )  0 (mod q )<br /> <br />  f (xX , yY )  b  g (xX , yY ) <br />  1   1 1  g (x , y )  0<br /> <br /> I     LLL<br />  I     <br /> H-G  1<br />      <br />     <br /> g (x , y )  0<br />  2<br />  fn (xX , yY ) bn  gn (xX , yY )<br /> Sơ đồ 1. Cách thức chung trong thực hiện các tấn công.<br /> Tấn công 2 dựa trên [7] đã đưa ra một phương pháp tìm nghiệm của g1(x , y )  0<br /> trên  nếu đa thức g1(x , y ) có dạng g1(x , y )  xy  Ax  B và dựa trên giả thiết<br /> biết phân tích thừa số nguyên tố của B . Tuy vậy, không phải lúc nào g1(x , y ) cũng<br /> có dạng như vậy. Do đó, ta cần thêm một đa thức g 2 (x , y )  0 trên  để thu được<br /> hệ hai phương trình hai ẩn số. Hệ này có thể giải bằng cách tính kết thức để thu<br /> được một đa thức một biến theo hoặc . Sau đó, áp dụng các phương pháp tìm<br /> nghiệm của đa thức một biến để tìm hoặc . Đây cũng là cách thức thực hiện Tấn<br /> công 1 dựa trên [1].<br /> 4. CÁC TẤN CÔNG LÊN GOST R 34.10-2012<br /> 4.1. Tấn công 1<br /> Tấn công này dựa trên cách tiếp cận của Blake [1]. Từ phương trình đồng dư<br /> (2) thực hiện biến đổi theo Cách 1, ta có f (x , y )  y  Ax  B (mod q ) nhận (k , a )<br /> là nghiệm. Xét các đa thức f1(x , y )  q, f2 (x , y )  qx và f3 (x , y )  f (x , y ) . Dễ thấy<br /> fi (k , a )  0 (mod q ) (i  1, 2, 3) . Xây dựng lưới L được căng các véctơ hàng của ma<br /> trận I , ở đó, ma trận có các hàng lần lượt hệ số của đa thức<br /> f1(xX , yX )  q , f2 (xX , yY )  qXx và f3 (xX , yY )  Yy  AXx  B . Do các hàng của<br /> ma trận I là  -độc lập tuyến tính nên lưới có số chiều bằng n  3 . Áp dụng thuật<br /> toán LLL vào lưới L ta thu được một cơ sở rút gọn của lưới, ký hiệu là (b1, b 2 , b 3 ) .<br /> q 0   <br />  0 C 0 C1 C 2 <br />  <br /> I   0 qX 0  LLL <br />  C 3 C 4 C 5 <br />   <br /> C C C <br /> B AX Y   6 7 8<br /> <br /> Khi đó, ta có định thức của lưới L là det L  det I  q 2XY . Đặt<br />  0  C 0 , 1  C 1 X ,  2  C 2 Y ,  3  C 3,  4  C 4 X và  5  C 5 Y nên ta có<br /> b1   0 , 1X ,  2Y , b 2   3 ,  4 X ,  5Y  . Đặt các đa thức g1(x , y )   0  1x   2y, và<br /> g 2 (x , y )   3   4x   5y . Do g1(xX , yY ) và g 2 (xX , yY ) là các tổ hợp tuyến tính<br /> nguyên của fi (xX , yY ) (i  1, 2, 3) nên các đa thức g1(x , y ), g 2 (x , y ) cũng nhận (k , a )<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 99<br /> Công nghệ thông tin<br /> <br /> là nghiệm trên vành modulo . Do đó, các đa thức g1(x , y ), g 2 (x , y ) thỏa mãn điều<br /> kiện đầu tiên của Bổ đề 4. Bây giờ, ta cần xác minh điều kiện để các đa thức<br /> g1(x , y ), g 2 (x , y ) thỏa mãn điều kiện hai của Bổ đề 4. Ta có, b1  g1(xX , yY ) và<br /> 13<br /> b 2  g 2 (xX , yY ) . Theo Tính chất 3, b1  2(q XY ) . Do đó, để g1(x , y ) thỏa<br /> 2<br /> <br /> <br /> 13<br /> mãn các điều kiện hai của Bổ đề 4, ta cần 2(q 2XY ) q 3 hay XY  q 6 6 .<br /> Tuy nhiên, đây chỉ là điều kiện cho đa thức g1(x , y ) . Ta cần tìm điều kiện cho<br /> đa thức g 2 (x , y ) , tức cần điều kiện để b 2  q 3 . Theo Tính chất 3, ta có<br /> 14 1 1 2 14 1 1 2<br /> b 2  2 (det L  b1 ) . Do đó, ta cần 2 (det L  b1 ) q 3 hay<br /> b1  3 2XY . Do vậy, nếu XY  q 6 6 và b1  3 2XY thì<br /> g i (k , a )  0, (i  1, 2) trên  . Đặt r3 (y ) là kết thức của đa thức g1(x , y ) và g 2 (x , y )<br /> theo biến x . Khi đó, ta thu được r3 (y ) là một đa thức một biến theo biến y . Sử<br /> dụng các phương pháp tìm nghiệm của đa thức một biến như phương pháp dãy<br /> Sturm hay phương pháp Newton ta có thể tìm được nghiệm y của r3 (y ) . Nếu tồn<br /> tại y0 sao cho y 0P  Q thì a  y 0 . Mặt khác, nếu a  0 thì lấy a  a ngược lại thì<br /> lấy a  a  q.<br /> Từ các lập luận trên, ta có suy ra khẳng định sau đây:<br /> Khẳng định 5. Đối với lược đồ chữ ký số GOST R 34.10-2012, giả sử tồn tại X ,Y<br /> là các số nguyên dươngsao cho k  X , a  Y và XY  q 6 6 . Cho L là một<br /> lưới được định nghĩa bởi ma trận I như ở trên. Khi đó, nếu véctơ ngắn nhất của cơ<br /> sở LLL-rút gọn có độ dài lớn hơn hoặc bằng 3 2XY thì Tấn công 1 được mô tả<br /> dưới đây có thể tìm được khóa ký dài hạn a trong lược đồ chữ ký số.<br /> Tấn công 1<br /> Đầu vào: Các giá trị đã biết gồm (h (m ), r , s ) .<br /> Đầu ra: Khóa ký dài hạn hoặc tấn công không thực hiện được.<br /> Bước 1. Tính A  h(m)r 1 (mod q ) và B  sr 1 (mod q ) .<br /> Bước 2. Xây dựng lưới L được sinh từ (q, 0, 0),(0, qX , 0) và (B, AX ,Y ) . Sử dụng<br /> thuật toán LLL, tìm cơ sở LLL-rút gọn của lưới L .<br /> Bước 3. Tính  0  C 0 , 1  C 1 X ,  2  C 2 Y ,  3  C 3 ,  4  C 4 X ,  5  C 5 Y .<br /> Bước 4. Xây dựng đa thức g1(x , y ), g 2 (x , y ) tương ứng là véctơ đầu tiên và véctơ<br /> thứ hai của cơ sở LLL-rút gọn. Cụ thể, g1(x , y )   0  1x   2y và<br /> g 2 (x , y )   3   4x   5y .<br /> Bước 5. Tính r3 (y ) là kết thức của đa thức g1(x , y ) và g 2 (x , y ) theo biến x .<br /> Bước 6. Tìm nghiệm của đa thức một biến r3 (y ) .<br /> <br /> <br /> 100 K. X. Thành, N. D. Anh, N. B. Cương, “Một số tấn công lên lược đồ … cơ sở lưới LLL.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> Bước 7. Nếu tồn tại y sao cho yP  Q thì trả ra đầu ra a  y . Nếu a  0 thì<br /> lấy a  a , ngược lại thì lấy a  a  q . Trường hợp khác trả ra “Tấn công không<br /> tìm được khóa a ”.<br /> Nhận xét 6. Chọn các số nguyên dương , sao cho + < log ( /6√6). Đặt<br /> = 2 , = 2 . Khi đó, theo Khẳng định 5, nếu ta chọn các khóa ký , thỏa<br /> mãn < , | | < thì tấn công trên có thể khôi phục lại các khóa ký này. Do<br /> đó, để tránh tấn công này, ta có thể chọn > / , | | > / , tương<br /> đương / < , < − / .<br /> 4.2. Tấn công 2<br /> Tấn công này dựa trên cách tiếp cận trong [7]. Cụ thể, trong [7] đưa ra một<br /> cách giải cho các phương trình conic có dạng r (x , y )  Dxy  Ax  B , ở đây<br /> D, A, B   . Nhờ vậy, ta có thể xây dựng tấn công chỉ cần một đa thức từ<br /> véctơ đầu tiên của cơ sở LLL-rút gọn. Cụ thể, thuật toán giải phương trình<br /> r (x , y ) như sau.<br /> Thuật toán giải phương trình Conic Dxy  Ax  B<br /> Đầu vào: Phương trình r (x , y )  0 và phân tích thừa số nguyên tố của B .<br /> Đầu ra: Cặp (x , y )   2 với r (x , y )  0 .<br /> Bước 1. Tính tập D(B ) gồm tất cả các ước của B .<br /> Bước 2. Với mỗi x  D(B ) tính y  (B x  A) D .<br /> Bước 3. Nếu y   thì trả cặp (x , y ) . Nếu không trả ra không tìm được nghiệm.<br /> Tính đúng đắn của thuật toán: Giả sử (x , y )   2 là nghiệm của r (x , y )  0 . Khi đó,<br /> x (Dy  A)  B . Suy ra x B hay B  x , ở đây    . Đơn giản hóa phương<br /> trình, ta thu được Dy  A    0 . Do đó, y  (  A) D  (B x  A) D . Nếu<br /> y   thì ta có (x , y ) là nghiệm của r (x , y )  0 ∎<br /> Từ phương trình đồng dư (2), thực hiện biến đổi theo Cách 2 ta có,<br /> f (x , y )  xy  Ax  B (mod q ) nhận k ,a <br /> 1<br /> là nghiệm. Xét các đa thức<br /> <br /> f1(x , y )  q, f2 (x , y )  qx và f3 (x , y )  f (x , y ) . Dễ thấy các đa thức này cũng nhận<br /> <br /> (k 1, a ) là nghiệm trên vành modulo q . Xây dựng lưới L được căng các véctơ<br /> hàng của ma trận J , ở đó, J có các hàng lần lượt hệ số của đa thức<br /> f1(xX , yX )  q, f2 (xX , yY )  qYx và f3 (xX , yY )  XYxy  AYx  B . Do các hàng<br /> của J là  -độc lập tuyến tính nên lưới có số chiều bằng n  3 . Áp dụng thuật<br /> toán LLL vào lưới L ta thu được một cơ sở rút gọn của lưới, ký hiệu là (b1, b 2 , b 3 ) .<br /> q 0  C C C <br />  0  0 2<br />  C C C <br /> 1<br /> J   0 qX 0  LLL<br />   3 5<br />    4<br /> <br /> B AX XY  C 6 C 7 C 8 <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 101<br /> Công nghệ thông tin<br /> <br /> Ta có, det L  det I  q 2 X 2Y . Đặt  0  C 0 , 1  C 1 X ,  2  C 2 XY . Ta có<br /> b1   0 , 1X ,  2 XY  . Đặt đa thức g1(x , y )   0  1x   2xy . Do g1(xX , yY ) là các<br /> <br /> tổ hợp tuyến tính nguyên của fi (xX , yY ), i  1, 2, 3 nên g1(k 1, a )  0 (mod q ) . Do<br /> vậy, đa thức g1(x , y ) thỏa mãn điều kiện đầu tiên của Bổ đề 4. Bây giờ ta cần xác<br /> minh điều kiện để các đa thức g1(x , y ) thỏa mãn điều kiện hai của Bổ đề 4. Theo<br /> Tính chất 3, ta có b1  2 (q 2 X 2Y )1 3 . Do đó, để g1(x , y ) thỏa mãn ta cần<br /> 13<br /> 2 (q 2 X 2Y ) q 3 hay X 2Y  q 6 6 . Khi đó, ta có b1  g1 (xX , yY )  q 3.<br /> <br /> Thật vậy, nếu  2  0 thì 1  qt0 , 1  qXt1 với t 0 , t1   và q 2  b1  q 3<br /> <br /> (vô lý). Suy ra,  2  0 và b1  g1(xX , yY )  q <br /> 1<br /> 3 . Theo Bổ đề 4, g1 k , a  0<br /> trên  . Áp dụng thuật toán giải phương trình conic cho g1(x , y ) ta thu được a và<br /> k 1 (Do = ℎ( ) nên việc phân tích thừa số nguyên tố của hoàn toàn có<br /> thể thực hiện được). Từ các lập luận trên, ta suy ta khẳng định sau đây.<br /> Khẳng định 7. Đối với lược đồ chữ ký sốGOST R 34.10-2012, giả sử tồn tại X ,Y<br /> là các số nguyên dương sao cho k 1  X , a  Y và X 2Y  q 6 6 thì Tấn công 2<br /> dưới đây có thể tìm được khóa ký dài hạn a trong lược đồ chữ ký.<br /> Tấn công 2<br /> Đầu vào: Các giá trị đã biết gồm (h (m ), r , s ) .<br /> Đầu ra: Khóa ký dài hạn a hoặc tấn công không thực hiện được.<br /> Bước 1. Tính A  sr 1 (mod q ) và B  h(m )r 1(mod q ) .<br /> Bước 2. Xây dựng lưới L được sinh từ (q , 0, 0), (0, qX , 0) và (B , AX , XY ) . Sử<br /> dụng thuật toán LLL, tìm cơ sở LLL-rút gọn của lưới L .<br /> Bước 3. Tính  0  C 0 , 1  C 1 X ,  2  C 2 XY .<br /> Bước 4. Xây dựng đa thức g1(x , y ) từ véctơ đầu tiên của cơ sở LLL-rút gọn. Cụ<br /> thể, g1(x , y )   0  1x   2xy .<br /> Bước 4. Sử dụng thuật toán giải phương trình conic, tính tập S gồm các nghiệm<br /> (x , y ) của đa thức g1(x , y )  0 .<br /> Bước 5. Nếu tồn tại (x 0 , y 0 )  S và y 0P  Q thì trả ra a  y 0 . Nếu a  0 thì lấy<br /> a  a , ngược lại thì lấy a  a  q . Trường hợp khác, trả ra “Tấn công không<br /> tìm được khóa a ”.<br /> Nhận xét 7. Chọn các số nguyên dương , sao cho 2 + < log ( /6√6). Đặt<br /> = 2 , = 2 . Khi đó, theo Khẳng định 7, nếu ta chọn các khóa ký , thỏa<br /> mãn < , | | < thì tấn công trên có thể khôi phục lại các khóa ký này. Do<br /> đó, để tránh tấn công này, ta có thể chọn > / , | | > / , tương đương<br /> /<br /> < , < − / .<br /> <br /> <br /> <br /> 102 K. X. Thành, N. D. Anh, N. B. Cương, “Một số tấn công lên lược đồ … cơ sở lưới LLL.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 5. CÁC KẾT QUẢ THỰC NGHIỆM<br /> Chúng tôi đã cài đặt thực nghiệm các Tấn công 1 và 2 sử dụng phần mềm tính<br /> toán đại số Magma được cài đặt trên máy tính có năng lực tính toán CPU Intel<br /> Core i7-6700 3.4 Ghz, 8Gb Ram. Mã nguồn cài đặt trên Magma cho các tấn công<br /> lên GOST R 34.10-2012 được chúng tôi đạt trong[8]. Các tham số sử dụng trong<br /> lược đồ chữ ký số GOST R 34.10-2012 được lấy trong Ví dụ 7 của [4]. Cụ thể, là<br /> một số nguyên tố có kích thước 256 bít:<br /> = 57896044618658097711785492504343953926<br /> 634992332820282019728792003956564821041<br /> Đường cong elliptic E (p ) được định nghĩa bởi<br /> : = + 7 + 3308876546767276905765904595650931995<br /> 942111794451039583252968842033849580414<br /> Cấp của điểm cơ sở<br /> ≔ 5789604461865809771178549250434395392<br /> 7082934583725450622380973592137631069619<br /> <br /> Tấn Kích thước Kích thước Kích thước Kích thước Thời gian<br /> công của (bít) của (bít) của (bít) của (bít) (giây)<br /> Tấn<br /> 256 126 126 0,23<br /> công 1<br /> Tấn<br /> 256 80 256 80 1,79<br /> công 2<br /> Qua các kết quả thực nghiệm, chúng tôi thấy rằng điều kiện về véctơ ngắn nhất<br /> thường luôn được thỏa mãn, đồng thời thời gian thực hiện tấn công khôi phục lại<br /> được khóa ký là rất ngắn. Do đó, để tránh các tấn công dạng này trên lược đồ<br /> GOST R 34.10-2012, chúng tôi khuyến cáo cần chọn các khóa ký tức thời và khóa<br /> ký dài hạn thỏa mãn / < , , , < − / .<br /> 6. KẾT LUẬN<br /> Trong bài báo này, chúng tôi đã trình bày hai tấn công khôi phục khóa ký lên<br /> lược đồ chữ ký số GOST R 34.10-2012. Tấn công 1 đã chỉ ra rằng nếu khóa và<br /> thỏa mãn | | < /6√6 thì tấn công có thể tìm lại được các khóa này. Tấn công<br /> 2 chỉ ra có thể tìm được khóa và nếu| | < /6√6. Các thuật toán tấn<br /> công này đã được cài đặt tính toán thực hành trên phần mềm tính toán đại số<br /> Magma với các tham số trong chuẩn GOST R 34.10-2012.<br /> TÀI LIỆU THAM KHẢO<br /> [1].Ian F Blake and Theodoulos Garefalakis, “On the security of the digital<br /> signature algorithm”. Designs, Codes and Cryptography, Vol. 26, No. 1<br /> (2002), pp. 87–96.<br /> [2]. Dan Boneh and Glenn Durfee. “Cryptanalysis of rsa with private key<br /> d less than n/sup 0.292”. IEEE transactions on Information Theory,<br /> Vol 46, No. 4 (2000), pp. 1339–1349.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 103<br /> Công nghệ thông tin<br /> <br /> [3]. Murray R Bremner, “Lattice basis reduction: an introduction to the<br /> LLL algorithm and its applications”. CRC Press (2011).<br /> [4]. Vasily Dolmatov and Alexey Degtyarev,“Gost R 34.10-2012: Digitalsignature<br /> algorithm”, (2013).<br /> [5]. PUB FIPS. 186-4, “Federal information processing standards publication.<br /> digital signature standard (dss)”.Information TechnologyLaboratory, National<br /> Institute of Standards and Technology (NIST), Gaithersburg, MD (2013), pp.<br /> 20899–8900.<br /> [6]. Arjen Klaas Lenstra, Hendrik Willem Lenstra, and László Lovász.<br /> “Factoring polynomials with rational coefficients”. Mathematische Annalen,<br /> Vol 261, No. 4 (1982), pp. 515–534.<br /> [7]. D. Poulakis,“Some lattice attacks on dsa and ecdsa”. Applicable Algebra in<br /> Engineering,Communication andComputing,Vol 22,No. 5 (2011), pp. 347–<br /> 358.<br /> [8]. https://github.com/khucxuanthanh/Attack-on-GOST-R-34.10-2012-<br /> ABSTRACT<br /> SOME ATTACKS ON THE DIGITAL SIGNAURTE SCHEME GOST R 34.10-<br /> 2012 BASED ON LATTICE REDUCTION ALGOTHRIM LLL<br /> In this paper, two attacks to recover the long-term key and the<br /> ephemeral key in the digital signature GOST R 34.10-2012 based on the<br /> LLL algorithm are introduced. These attacks are based on approaches in the<br /> attacks on DSA and ECDSA [1], [7]. Specifically, it is showed that if the<br /> signature keys , which satisfies , < / or , > − / then they<br /> can be retrieved by the attack which based on [1]. The attack that based on<br /> [7] can be recovered the key , if , < / or , < / . These<br /> attacks have been tested by us on the Magma Algebra software.<br /> Keywords: Cryptography, Lattice, Digital signature algorithm, LLL algorithm, GOST R 34.10-2012.<br /> <br /> <br /> Nhận bài ngày 16 tháng 8 năm 2017<br /> Hoàn thiện ngày 26 tháng 11 năm 2017<br /> Chấp nhận đăng ngày 28 tháng 11 năm 2017<br /> Địa chỉ: 1 Viện Khoa học-Công nghệ Mật mã, Ban cơ yếu Chính phủ;<br /> 2<br /> Đại học Khoa học Tự nhiên Hà Nội.<br /> *<br /> Email: khucxuanthanh@gmail.com.<br /> <br /> <br /> <br /> <br /> 104 K. X. Thành, N. D. Anh, N. B. Cương, “Một số tấn công lên lược đồ … cơ sở lưới LLL.”<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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