CS13004 thuat toan thu gon gian

5 96 0
CS13004 thuat toan thu gon gian

Đang tải... (xem toàn văn)

Thông tin tài liệu

Thuật toán thu gọn giàn với mở rộng chiều Lattice Reduction Algorithm in Dimension Extension Trịnh Thanh Lâm, Ngun Ngäc Hµ Abstract: Lattice reduction is one of effective method in cryptanalysis at recent years It is difficult to understand this method in terms of mathematics or algorithms in order to apply it in commercial cryptography systems The famous LLL algorithm has been developed and it is continuing getting much of attention by many researchers In case of or dimensions, there are many difference versions of LLL have been implemented successfully We try to study LLL in case of dimension that based on results of Semaev and find out the way to implement this algorithm on new Itanium server of Intel I TÓM TẮT Trong năm gần đây, cách tiếp cận khác dựa phương pháp thu gọn giàn (Lattice Reduction) sử dụng cách thường xuyên cho nghiên cứu “tấn cơng” kiểu phân tích mã vào hệ thống mật mã khác Ngay không dựa lý thuyết phức tạp, phương pháp phân tích mã khó hiểu với nhà mật mã hướng ứng dụng từ quan điểm toán học quan điểm thuật toán Bài báo với mục đích giải thích rõ kết đạt thuật toán thu gọn giàn tiếng LLL trường hợp nhỏ chiều qua phiên thuật tốn cơng bố khác Ngồi ra, chúng tơi mở rộng phát triển thuật toán thu gọn giàn cho trường hợp chiều dựa kết Semaev [10] hướng cài đặt thuật toán hệ thống máy tính 64 bit giới thiệu Itanium Intel Với số chiều tốn thu gọn giàn khơng gặp phải vấn đề lớn, giàn có sở dễ dàng tìm sở thu gọn Với số chiều 2, thuật toán Gauss đề xuất giải vấn đề thời gian đa thức, nhiều nhà nghiên cứu chứng minh hiệu cài đặt thực tế Độ phức tạp thuật toán trường hợp chiều tìm hiểu đầy đủ Một câu hỏi đặt là: liệu tìm thuật tốn tìm sở thu gọn Minkowski trường hợp số chiều 3? Nếu có thuật tốn đánh giá độ phức tạp nó, liệu có thoả mãn thời gian đa thức hay không? Và cài đặt thuật toán nào? Vấn đề số khía cạnh lý thuyết Semaev đề cập đến [10] Chúng thực việc mở rộng kết hướng cài đặt thực tế hệ thống máy tính mạnh sẵn có Việt Nam chạy từ xa mạng Internet II CÁC KẾT QUẢ TRONG TRƯỜNG HỢP SỐ CHIỀU NHỎ HƠN Lịch sử nghiên cứu giàn: Một giàn (Lattice) nhóm rời rạc Rn tương tự tập L tất tổ hợp tuyến tính tích phân tập cho véc tơ n chiều b1 , , bp λ1b1 + + λ p bp Nếu véc tơ độc lập (b1 , , bp ) gọi sở L p số chiều Từ quan điểm toán học, lịch sử thu gọn giàn xuất phát từ lý thuyết dạng toàn phương phát triển Lagrange, Gauss, Hermite, KorkineZolotareff người khác hình học số Minkovski [4] Với phát triển lý thuyết số, chủ đề xem xét lại năm 80, Lovász tìm thuật tốn thời gian đa thức để tính toán Cơ sở thu gọn (Reduced basis) giàn Thực ra, thuật toán thu gọn giàn tương tự Lenstra giới thiệu quy hoạch tuyến tính vào khoảng năm 1979 [5] thuật toán thu gọn giàn đạt đến dạng cuối báo Lenstra, Lenstra Lovász [6], từ có tên gọi Thuật toán LLL Những cải tiến thêm thuật toán LLL thực Schnorr [9] Sự liên quan thuật toán đến mật mã biết đến sau đó: vào tháng năm 1982, Shamir [11] tìm thuật tốn thời gian đa thức để phá hệ mã khố cơng khai Merkle-Hellman dựa toán Knapsack [8], hệ mã mong đợi thay cho hệ mã tiếng RSA cách Shamir dùng thuật tốn quy hoạch tuyến tính Lenstra, năm đó, Adleman [1] mở rộng kết Shamir việc thực toán mã tốn giàn khơng thiên tốn quy hoạch tuyến tính Những cải tiến phương pháp thực Lagarias, Odlyzko [7], Brickell [2] thời gian gần Coster, La Macchia, Odlyzko, Schnorr tác giả [3] Liên quan đến vấn đề có nhiều báo công bố việc mô tả thủ tục mã mà chúng phá thơng qua kỹ thuật thu gọn giàn, hầu hết phương pháp kiểm tra Mô tả chức thuật tốn thu gọn giàn Như nói trên, giàn L gồm tất tổ hợp tuyến tính tích phân tập cho véc tơ n chiều b1 , , bp λ1b1 + + λ p bp Từ quan điểm thuật toán, quan tâm trường hợp tất bi có tọa độ nguyên Trong trường hợp này, giàn L biểu diễn cột khác Xố cột khơng Điều khơng đơn giản cách chọn xác dãy phép tốn Chúng ta nói cách đơn giản thuật toán cố gắng thực hai bước sau: Có cột ngắn phía trước Tạo cột trực giao lẫn nhiều Một cách lý tưởng, muốn có cột thứ ma trận gồm tọa độ véc tơ khác không ngắn L với cột ma trận “hầu như” trực giao Không may, điều không dễ nói khơng có thuật tốn hiệu biết để tìm véc tơ khác khơng ngắn L Đây khơng tốn mà trung tâm nhiều tốn lý thuyết số Từ khía cạnh kết thuật tốn, xây dựng véc tơ mà độ dài không vượt độ dài véc tơ ngắn nhân với số nhân cho trước, điều phụ thuộc vào chiều L dạng thuật toán dùng Sự thoả hiệp đủ cho nhiều ứng dụng thực tế số chiều không đòi hỏi lớn q Hiệu suất thuật tốn lý thuyết Giả sử L giàn sinh tập véc tơ n - chiều Giả sử BL ma trận tương ứng L Ký hiệu B giá trị ma trận thu kết thuật toán LLL b1 , , bq véc tơ cột Cuối cùng, giả sử λ1 độ dài véc tơ khác không ngắn L (theo quan niệm Euclide thường dùng) Điều sau rút từ [6]: Nhận xét 1: b1 , , bq sở L cấu trúc liệu đơn giản ma trận BL với b1 ≤ 2( q −1) / × λ cột tọa độ véc tơ b1 , , bp Các thuật b1 ≤ 2q ( q −1) / × (∆ ( L))1/ q Ở đây, ký hiệu ∆ ( L) định thức L , mà L toán thu gọn giàn thực cơng việc đơn giản sau đây: thể tích (theo nghĩa Euclide) hình hộp bao Đổi chỗ hai cột BL b1 , , bq Trong trường hợp giàn có số chiều đầy đủ Cộng vào cột cho tích nguyên ( n = q ), thể tích giá trị tuyệt đối định thức B sở khác sinh L Điều nghiên cứu thuật toán LLL hoạt động tốt nhiều so với mong đợi lý thuyết Đặc biệt, kiện iii) có nghĩa chiều dài b1 không xa trường hợp xấu số K q , xuất so với trường hợp “lý tưởng”, tương ứng với sở gồm véc tơ trực giao với có chiều dài Với phân tích mã, nghĩa “heuristic” nhận xét là: ta cần tìm véc tơ đủ ngắn giàn, thuật toán LLL thực tốt công việc Tương tự, ta biết véc tơ ngắn (chưa biết) nhỏ nhiều thành phần khác giàn nhỏ nhiều giá trị (∆ ( L))1/ q , thuật tốn LLL có lẽ tìm Một sinh tự nhiên nhận xét mà hữu dụng là: quan hệ gọi tối thiểu liên tiếp (successive minima) giàn: tối thiểu thứ i giá trị dương nhỏ λi cho tồn i phần tử độc lập tuyến tính giàn hình cầu bán kính λi với tâm gốc tọa độ Nhận xét : bi ≤ 2( q −1) / × λi Với phân tích mã, nhận xét có ý nghĩa là: i (chưa biết) véc tơ độc lập tuyến tính giàn nhỏ, giàn mà bao chứa tìm thuật tốn LLL Thực ra, thuật toán LLL bao gồm họ thuật toán khác phụ thuộc vào số γ , < γ < Trường hợp mô tả tương ứng với giá trị γ = / giá trị khác γ chọn, luỹ thừa hai nhận xét phải thay luỹ thừa giống /(4γ − 1) Trong [9], Schnorr thừa kế tồn thể thuật tốn thu gọn giàn, mở rộng thuật toán LLL ông gọi thu gọn theo khối Korkine-Zolotareff (BKZ) hữu dụng thực tế Hiệu suất thuật toán LLL thực tế Trong tất ứng dụng phân tích mã, kết ( q−1) nhận xét 2 dường nhỏ nhiều so với lý thuyết Điều có thực tế, giả thuyết dạng “heuristic” thường đưa ra, số chiều áp dụng thường chiều Trong nghiên cứu dự định triển khai cài đặt thuật toán LLL trường hợp chiều hệ thống máy tính Itanium Intel nhằm tận dụng khả tính tốn song song EPIC nghiên cứu Các kết bước đầu cho thấy hiệu suất tính tốn tăng lên đáng kể Tuy nhiên, kết cuối tiếp tục hồn thiện để có so sánh với kết có nhà nghiên cứu phân tích mã khác Các kết tính tốn thực tế Thời gian chạy thuật toán LLL đa thức khơng gian có số chiều n , chiều q giàn cỡ ma trận BL Chính xác hơn, m số lớn bit hệ số ma trận gốc BL , thời gian chạy thuật tốn chuẩn LLL O(nq m3 ) Mặc dù đa thức, điều chưa đủ không cho phép cài đặt hiệu Theo kết nghiên cứu Odlyzko thực độc lập Schnorr, cài đặt thực tế thuật toán phiên thu gọn LLL cho thấy chưa đạt hiệu mong đợi dù tiến nhiều so với lý thuyết theo nghĩa thời gian tính tốn Tất nhiên, thời gian chạy thuật toán LLL phụ thuộc vào giá trị số γ chấp nhận vài heuristic có ích tính toán trước tiên với giá trị vừa phải γ sau với giá trị gần với Tương tự, thu gọn BKZ có thời gian tính tốn xấu LLL Cuối cùng, thời gian tính tốn phụ thuộc vào kiểu tốn cần giải III MỞ RỘNG CHO TRƯỜNG HỢP CHIỀU Ý tưởng chủ đạo phần mở rộng thuật toán LLL trường hợp chiều sau: Mở rộng thuật tốn tìm sở thu gọn (theo nghĩa Minkowski) trường hợp chiều việc lặp lại toán vector gần chọn tốt (heuristic) trường hợp chiều Thu gọn cặp chiều Định nghĩa: Một sở b1 , b2 , b3 giàn chiều L Rn, n≥3, gọi 2-thu gọn vector thu gọn cặp Thuật toán (Thuật toán cho 2-thu gọn): Rn, n≥3 − Ra: Một sở 2-thu gọn b1 , b2 , b3 giàn − Bước 1: (tìm cặp không thu gọn) Nếu bi , b j không thu gọn với cặp i, j ∈ {1, 2,3} thực bước Ngược lại dừng − Bước 2: (Thu gọn cặp) Tính tốn a , b = G (bi , b j ) thay bi , b j ← a , b , quay lại bước Ở hàm G hàm Gauss biết Định nghĩa: Chúng ta nói sở b1 , b2 , b3 giàn chiều L Rn, n≥3, gọi thu gọn vector thoả mãn: cho số nguyên x1 , x2 Như vậy, sở thu gọn sở 2-thu gọn Định nghĩa tương đương sở thu gọn Minkowski từ [10] Như vậy, b1 vector ngắn khác khơng Thuật tốn (Thuật toán thu gọn): b1 , b2 ) Ước lượng Bước (Giản ước cặp ( a, b) = G (b1 , b2 ) , thay b1 , b2 ← a, b Bước (Tìm số tối thiểu b3 + x2 b2 + x1b1 ) Tìm số nguyên x1 , x2 để b3 + x2 b2 + x1b1 tối thiểu Ta có x2 − y2 ≤ x1 − y1 ≤ , (b2 , b3 ) (b1 , b2 ) (b1 , b3 ) ⋅ 2 b2 b2 b1 , y2 = − (b , b ) (b , b ) − 22 ⋅ 22 b1 b2 ( b1 , b3 ) − (b1 , b2 ) ( b2 , b3 ) ⋅ 2 b1 b1 b2 y1 = − (b , b ) (b , b ) − 22 ⋅ 22 b1 b2 − − Đặt a = b3 + x2 b2 + x1b1 Bước (Thay b3 ← a ) Nếu a ≥ b3 , dừng, b1 ≤ b2 ≤ b3 quay lại bước Nhận xét: Thuật tốn dùng thuật tốn tìm 2-thu gọn Độ phức tạp tính tốn O (log M ) phép tốn nhị phân để tìm sở thu gọn cho b1 ≤ b2 ≤ b3 ; λ ( L) = b1 ≤ 21/ ∆( L)1/ − Ra: Một sở thu gọn b1 , b2 , b3 giàn ngược lại Thay b3 ← a Sắp xếp b1 , b2 , b3 để Thu gọn trường hợp chiều L , rằng: Rn, n≥3 − Vào: Một sở b1 , b2 , b3 giàn chiều L b2 + x1b1 ≥ b2 and b3 + x2b2 + x1b1 ≥ b3 − Vào: Một sở b1 , b2 , b3 giàn chiều L sở b1 , b2 , b3 ∈ Z n , n ≥ Ở b1 , b2 , b3 ≤ M Hướng cài đặt thuật toán thực tế Trên sở cài đặt dựa ngôn ngữ C trường hợp chiều [9], triển khai cài đặt trường hợp chiều thể thuật tốn tìm sở thu gọn nêu ngôn ngữ C Để đảm bảo tốc độ tính tốn nhanh thực tế việc tìm kiếm thủ tục cài đặt tối ưu tiếp tục nghiên cứu Hy vọng, cơng cụ giúp cài đặt thuật tốn mở rộng máy tính mạnh thực tế đạt kết tốt trình bày báo cáo kết nghiên cứu tương lai TÀI LIỆU THAM KHẢO [7] J.C Lagarias and A.M.Odlyzko, Solving low-density subset sum problems In Proceedings of the 24th IEEE symposium on Foundations of Computer Science, IEEE, 1983 Pages 1-10 [1] L.M Adleman, On breaking generalized knapsack public key cryptosystems, In Proc 15th ACM Symposium on Theory of Computing, 1983, pages 402412 [8] R Merkle and M Hellman, Hiding information and signatures in trapdoor knapsacks IEEE Trans Inform Theory, IT-24, September 1978 Pages 525-530 [2] E.F Brickell, Breaking iterated knapsacks In G.R Blakley and D.C Chaum, editors, Proceedings CRYPTO 84, Springer, 1985, pages 342-358 [9] C.P Schnorr, A hierarchy of polynomial time lattice basis reduction algorithms Theoretical Computer Science, Vol 53 1987 Pages 201-224 [3] M.J Coster, A Joux, B.A LaMacchia, A Odlyzko, C.P Schnorr, and J Stern, Improved low-density subset sum algorithms Computational Complexity, Vol 2, 1992 Pages 11-28 [10] I Semaev, A 3-dimensional Lattice Reduction Algorithm In Proceedings CRYPTO 2001, 2001, Pages 181-193 [4] A Joux, J Stern, Lattice Reduction: a Toolbox for the Cryptanalyst Springer, 1994 [5] H.W Lenstra, Interger programming with a fixed number of variables Math Oper Res., Vol 8, 1983, Pages 538-548 [11] A Shamir, A polynomial-time algorithm for breaking the basic Merkle-Hellman cryptosystem In Proceedings of the 23rd IEEE Symposium on Foundations of Computer Science, IEEE, 1982 pages 145-152 Ngày nhận bài: 17/06/2004 [6] A.K Lenstra, H.W Lenstra, Jr., and L Lovsz, Factoring polymials with rational coefficients Mathematicsche Ann Vol 261, 1982, Pages 513-534 Sinh ngày 5-11-1966 SƠ LƯỢC TÁC GIẢ TRỊNH THANH LÂM Sinh năm 1966 Hải Dương Tốt nghiệp Đại học Toán năm 1988 Thạc sỹ Tin học năm 1994 trường Đại học Tổng hợp Hà Nội Hiện làm việc tại: Intel Việt Nam Hướng nghiên cứu chính: an tồn thơng tin phân tích mã E-mail: trinh-lam@hn.vnn.vn Tốt nghiệp Đại học Tổng hợp năm 1988 khoa Toán - Cơ- Tin học Nhận Thạc sỹ khoa Công nghệ thông tin trường Đại học Bách khoa Hà Nội năm 2001 Hiện công tác Bưu điện Hải Phòng Hướng nghiên cứu: Dấu liệu phân tích mã Email: hann@hn.vnn.vn NGUYỄN NGỌC HÀ ... n≥3, gọi 2 -thu gọn vector thu gọn cặp Thu t toán (Thu t toán cho 2 -thu gọn): Rn, n≥3 − Ra: Một sở 2 -thu gọn b1 , b2 , b3 giàn − Bước 1: (tìm cặp không thu gọn) Nếu bi , b j không thu gọn với... đặt thực tế thu t toán phiên thu gọn LLL cho thấy chưa đạt hiệu mong đợi dù tiến nhiều so với lý thuyết theo nghĩa thời gian tính tốn Tất nhiên, thời gian chạy thu t toán LLL phụ thu c vào giá... số nguyên x1 , x2 Như vậy, sở thu gọn sở 2 -thu gọn Định nghĩa tương đương sở thu gọn Minkowski từ [10] Như vậy, b1 vector ngắn khác khơng Thu t tốn (Thu t toán thu gọn): b1 , b2 ) Ước lượng Bước

Ngày đăng: 11/11/2019, 23:29

Từ khóa liên quan

Mục lục

  • TÓM TẮT

  • CÁC KẾT QUẢ TRONG TRƯỜNG HỢP SỐ CHIỀU NHỎ HƠN 3

    • Lịch sử nghiên cứu giàn:

    • Mô tả chức năng của các thuật toán thu gọn giàn

    • Hiệu suất của thuật toán về lý thuyết

    • Hiệu suất của thuật toán LLL trong thực tế

    • Các kết quả đã được tính toán trong thực tế

    • MỞ RỘNG CHO TRƯỜNG HỢP 3 CHIỀU

      • Thu gọn từng cặp 2 chiều

      • Thu gọn trường hợp 3 chiều

      • Hướng cài đặt thuật toán trong thực tế

Tài liệu cùng người dùng

Tài liệu liên quan