luận văn: nghiên cứu sự an toàn của một số hệ mật mã hiện đại

84 462 0
luận văn: nghiên cứu sự an toàn của một số hệ mật mã hiện đại

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

luận văn: nghiên cứu sự an toàn của một số hệ mật mã hiện đại trường đh quốc gia hà nộiluận văn: nghiên cứu sự an toàn của một số hệ mật mã hiện đại trường đh quốc gia hà nộiluận văn: nghiên cứu sự an toàn của một số hệ mật mã hiện đại trường đh quốc gia hà nội

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM THỊ LƯƠNG NGHIÊN CỨU SỰ AN TOÀN CỦA MỘT SỐ HỆ MẬT MÃ HIỆN ĐẠI Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM Người hướng dẫn khoa học: TS Lê Phê Đô Hà Nội – 2014 1 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng của cá nhân tôi, nếu trích dẫn thì có ghi chú rõ ràng. Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày 02 tháng 12 năm 2014 Phạm Thị Lương 2 MỤC LỤC LỜI CAM ĐOAN 1 DANH MỤC CÁC TỪ VIẾT TẮT 4 DANH MỤC HÌNH VẼ 4 MỞ ĐẦU 5 Lý do chọn đề tài: 5 Đối tượng và phạm vi nghiên cứu: 5 Mục đích nghiên cứu của luận văn: 5 Bố cục luận văn: 5 CHƯƠNG I. CƠ SỞ TOÁN HỌC CỦA MẬT MÃ HIỆN ĐẠI 7 I.1 Tổng quan về số nguyên tố: 7 1.1 Số nguyên tố 7 1.2 Một số định lý cơ bản 11 1.3 Thuật toán kiểm định số nguyên tố Miller – Selfridge – Rabin (MSR). 12 1.4 Các tiêu chuẩn đường cong Elliptic 13 1.5 Thuật toán AKS 15 I.2 Các phương pháp phân tích nhân tử số nguyên 16 2.1 Các phương pháp phân tích nhân tử cổ điển 16 2.2 Phương pháp phân số liên tục 17 2.3 Thuật toán Pollard 19 2.4 Sàng bậc 2 21 2.5 Phương pháp đường cong Elliptic 23 I.3 Logarit rời rạc 25 3.1 Các khái niệm cơ sở 25 3.2 Thuật toán bước Baby và bước Giant của Shank 25 3.3 Thuật toán Pollig – Hellman 26 CHƯƠNG 2: NGHIÊN CỨU SỰ AN TOÀN CỦA MỘT SỐ HỆ MẬT MÃ HIỆN ĐẠI 30 II.1 Mật mã RSA 30 3 2.1 Các cuộc tấn công vào RSA 30 2.1.1 Factoring RSA-768 31 2.1.2 Tấn công Fault-Base : 41 II.2 Mật mã Elgamal 51 2.2 Các cuộc tấn công vào hệ mật mã Elgamal : 51 2.2.1 Phương pháp phân rã số nguyên: 51 2.2.2 Tấn công gặp nhau ở giữa( MEET-IN-THE-MIDDLE ATTACK) 56 2.2.3 Tấn công hai bảng 58 II.3 Mật mã đường cong Elliptic 59 2.3 Các cuộc tấn công vào mật mã dựa trên đường cong Elliptic 60 2.3.1 Tấn công ECC2K-130 61 2.3.2 Tấn công logarit rời rạc trên đường cong 66 2.3.3 Tấn công dựa vào nguồn điện đơn giản- Simple power attacks (SPA): 70 2.3.4 Tấn công phân tích nguồn điện vi phân DPA: 71 2.3.5 Tấn công không điểm(Zero-point attacks): 72 2.3.7 Đánh giá sự an toàn của mật mã dựa trên đường cong Elliptic thông qua các cuộc tấn công : 76 CHƯƠNG 3: CÀI ĐẶT 78 Một số hình ảnh 79 TỔNG KẾT 80 KẾT LUẬN 80 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81 TÀI LIỆU THAM KHẢO 82 4 DANH MỤC CÁC TỪ VIẾT TẮT NGHĨA CỦA TỪ TỪ GỐC TỪ TIẾNG ANH Mật mã đường cong Elliptic ECC Elliptic Curve Cryptography Định lý đồng dư Trung Hoa CRT Chinese Remainder Theorem Bài toán logarit rời rạc DLP Discrete Logarithm Problem Mảng cổng lập trình được dạng trường. FPGA Field Programmable Gate Array Cửa sổ mũ cố định FWE Fixed- window exponetion Tầng các ổ cắm bảo mật SSL Secure Sockets Layer ECDBL Elliptic curve dou-bling ECADD Elliptic curve addition Ước chung lớn nhất ƯCLN Phân tích nguồn điện vi phân DPA Differential Power Analysis Phân tích nguồn điện đơn giản SPA Simply Power Analysis Không điểm ZVP Zero- Value Point Thuật toán Eculid EEA Extended Euclidean Algorithm Định lý Fermat nhỏ FLT Fermat’s Little Theorem DANH MỤC HÌNH VẼ HÌNH NỘI DUNG Hình 2.1 Lược đồ tấn công Fault-Base Hình 2.2 Ví dụ về khôi phục khóa theo các bit của cửa sổ Hình 2.3 Tỷ lệ bit lỗi thu được trong OpenSSL khi điều chỉnh điện thế Hình 2.4 Phần trăm tích lũy các bits của khóa bí mật khi khôi phục Hình 3.1 Chọn số cần phân tích Hình 3.2 Kết quả phân tích Bảng 2.1 Độ dài của khóa giữa RSA và ECC khi ở cùng mức an toàn 5 MỞ ĐẦU Lý do chọn đề tài: Cùng với sự phát triển của khoa học và công nghệ, các hệ mật mã hiện đại được ứng dụng trong nhiều lĩnh vực của cuộc sống. Trong các hệ mật mã hiện đại, ba hệ mật mã RSA, Elgamal và hệ mật trên đường cong Elliptic được sử dụng phổ biến nhất hiện nay. Để có thể yên tâm sử dụng, chúng ta cần phải đánh giá sự an toàn của các hệ mật trên. Đây chính là lý do để tôi quyết định chọn đề tài “Nghiên cứu sự an toàn của một số hệ mật mã hiện đại” làm luận văn tốt nghiệp. Trong luận văn tôi đã tổng hợp các kết quả nghiên cứu mới nhất ở Việt Nam và trên thế giới về ba hệ mật mã trên. Từ đó người sử dụng có thể đảm bảo an toàn cho dữ liệu của mình. Tôi xin chân thành cảm ơn thầy Lê Phê Đô đã tận tình hướng dẫn tôi hoàn thành luận văn này. Đối tượng và phạm vi nghiên cứu: Đối tượng nghiên cứu:  Các khái niệm, thuật toán và độ phức tạp của các thuật toán liên quan.  Độ phức tạp và hiệu quả của một số phương pháp tấn công.  Xây dựng và cài đặt một phương pháp tấn công RSA Phạm vi nghiên cứu của luận văn:  Các khái niệm và thuật toán từ cổ điển đến hiện đại liên quan đến các hệ mật mã RSA, Elgamal, và các hệ mật trên đường cong Elliptic  Các vấn đề mới xuất hiện liên quan đến độ an toàn của các hệ mật mã hiện đại  Những kết quả mới trong các lĩnh vực liên quan Mục đích nghiên cứu của luận văn: Dựa trên kết quả tổng hợp được đề xuất những phương án sử dụng các hệ mật mã RSA, Elgamal và hệ mật trên đường cong Elliptic một cách an toàn trong điều kiện hiện nay Bố cục luận văn: Luận văn gồm 3 chương cùng với phần mở đầu, kết luận và các danh mục. Chương 1: Cơ sở toán học của mật mã hiện đại Trình bày các khái niệm cơ bản của đại số và số học, các thuật toán và bài toán liên quan đến các hệ mật mã Chương 2: Nghiên cứu sự an toàn của một sô hệ mật mã hiện đại Chương này trình bày tổng quan về các hệ mật mã RSA, Elgemal, mật mã dựa trên đường cong Elliptic. Nội dung chính của chương là trình bày các tấn công và đánh giá sự an toàn thông qua các tấn công đó. Chương 3: Cài đặt 6 Cài đặt một tấn công vào RSA sử dụng phương pháp phân tích Fermat số N 7 CHƯƠNG I. CƠ SỞ TOÁN HỌC CỦA MẬT MÃ HIỆN ĐẠI I.1 Tổng quan về số nguyên tố: 1.1 Số nguyên tố a, Số lượng số nguyên tố Số nguyên tố là số nguyên dương chỉ chia hết cho 1 và chính nó. Ví dụ, 2, 3, 7 là ba số nguyên tố đầu tiên. Ba số nguyên tố lớn nhất được tìm ra cho đến nay là STT Số nguyên tố Số chữ số Ngày tìm ra Người/Tổ chức tìm ra 1 2 42.643.801 -1 12.837.064 12 tháng 4 năm 2009 GIMPS / Odd M. Strindmo 2 2 43.112.609 -1 12.978.189 23 tháng 8 năm 2008 GIMPS / Edson Smith 3 2 57.805.161 -1 17.425.170 25 tháng 1 năm 2013 GIMPS / Curtis Coope Các số nguyên tố lớn đóng vai trò cốt yếu trong việc xây dựng các hệ mật mã hiện đại, như hệ mật RSA, ElGamal và hệ mật trên đường cong Eliptic. Vì vậy, việc tìm ra các số nguyên tố lớn luôn giành được sự quan tâm đặc biệt của cộng đồng toán học và công nghệ thông tin. Câu hỏi đặt ra là số các số nguyên tố có đủ nhiều cho các ứng dụng của chúng ta hay không? Hơn 2.000 năm trước Euclid đã chứng minh được tính vô hạn của các số nguyên tố. Cụ thể hơn, các nhà toán học sau đó đã tìm ra được phân bố của các số nguyên tố trong định lý sau: Định lý 1.1. Định lý về số các số nguyên tố Giả sử ( )x  là số các số nguyên tố nhỏ hơn hoặc bằng x, khi đó ( ) ln x x x   theo nghĩa ( ) / ( / ln ) 1 x x x   khi x. Tôi không đưa ra chứng minh định lý này ở đây vì ra ngoài nội dung của luận văn, mà tôi đưa ra bảng sau để chứng tỏ số nguyên tố quả thực là đủ dùng cho các ứng dụng của chúng ta. 8 Bảng một số giá trị của π(x) x π(x) 10 15 29844570422669 10 16 279238341033925 10 17 2623557157654233 10 18 24739954287740860 10 19 234057667276344607 10 20 2220819602560918840 10 21 211272694860018731928 10 22 201467286689315906290 10 23 1925320391606803968923 10 24 18435599767349200867866 Hơn nữa, nếu giả thiết Riemann đúng, khi đó ta có đánh giá số các số nguyên tố như sau: log 2 ( ) ( ) ln x c x dt x O xe t      (1.1) hay công thức hiệu quả hơn: 2 ( ) ( ln ) ln x dt x O x x t     (1.2) Tuy nhiên cho đến nay chúng ta chưa biết giả thiết Riemann đúng hay không. Đây là một trong bảy bài toán được Viện toán cao cấp Clay treo giải 1 triệu USD vào năm 2000. Một số nguyên dương n > 1 bất kỳ luôn có biểu diễn duy nhất dưới dạng: 1 2 1 2 k k n p p p     (1.3) ở đây p 1 <p 2 < …<p k là các số nguyên tố và  1 ,  2 , …,  k là các số nguyên dương. Sau đây là các số nguyên tố lớn được tham khảo từ trang https://primes.utm.edu/largest.html: b, Mười số nguyên tố lớn nhất thuộc lớp Mersenne: rank prime Digits who when Reference 1 2 57885161 -1 17425170 G13 2013 Mersenne 48?? 2 2 43112609 -1 12978189 G10 2008 Mersenne 47?? 3 2 42643801 -1 12837064 G12 2009 Mersenne 46?? 4 2 37156667 -1 11185272 G11 2008 Mersenne 45? 9 5 2 32582657 -1 9808358 G9 2006 Mersenne 44? 6 2 30402457 -1 9152052 G9 2005 Mersenne 43? 7 2 25964951 -1 7816230 G8 2005 Mersenne 42 8 2 24036583 -1 7235733 G7 2004 Mersenne 41 9 2 20996011 -1 6320430 G6 2003 Mersenne 40 10 2 13466917 -1 4053946 G5 2001 Mersenne 39 Các số nguyên tố không thuộc lớp Mersenne Số nguyên tố lớn nhất không thuộc dạng số Mersenne được phát hiện là số 19.249x2 13.018.586 +1, gồm 3.918.990 chữa số. Ngày được kiểm định là 26 tháng 3 năm 2007. c, Số nguyên tố dạng n!+1 Số nguyên tố lớn nhất dạng n!+1 là số 150.209!+1 gồm 712.355 chữ số, được chứng minh vào tháng 10 năm 2011. Mười số nguyên tố lớn nhất dạng n!+1 rank prime Digits Who When reference 1 150209!+1 712355 p3 2011 Factorial 2 147855!-1 700177 p362 2013 Factorial 3 110059!+1 507082 p312 2011 Factorial 4 103040!-1 471794 p301 2010 Factorial 5 94550!-1 429390 p290 2010 Factorial 6 34790!-1 142891 p85 2002 Factorial 7 26951!+1 107707 p65 2002 Factorial 8 21480!-1 83727 p65 2001 Factorial 9 6917!-1 23560 g1 1998 Factorial 10 6380!+1 21507 g1 1998 Factorial d, Các số nguyên tố dạng p#±1 Số nguyên tố lớn nhất dạng p#±1 (tích của các số nguyên tố nhỏ hơn hoặc bằng p cộng trừ 1) là số 1.098.133#-1 gồm 476.311 chữ số, được phát hiện ra vào tháng 3 năm 2012. Mười số nguyên tố lớn nhất dạng p#±1: rank Prime Digits who when Reference 1 1098133#-1 476311 p346 2012 Primorial 2 843301#-1 365851 p302 2010 Primorial 3 392113#+1 169966 p16 2001 Primorial [...]... CHƯƠNG 2: NGHIÊN CỨU SỰ AN TOÀN CỦA MỘT SỐ HỆ MẬT MÃ HIỆN ĐẠI Các hệ mật RSA, Elgamal và hệ mật trên đường cong Elliptic hiện đang là ba hệ mật hiện đại được sử dụng rộng rãi trong thực tế Trên thế giới, đã có nhiều công trình nghiên cứu về sự an toàn của ba hệ mật này Trong đó phải kể đến các công trình nghiên cứu về thám mã từ đó đưa ra các giải pháp nhằm nâng cao việc bảo mật khi sử dụng các hệ mật trên... tham số phù hợp sao cho bài toán logarit rời rạc trở nên khó giải đã đảm bảo an toàn cho các hệ mật mã này Ở Việt Nam các hệ mật mã RSA, Elgamal và mật mã trên đường cong Elliptic đã được sử dụng trong nhiều ứng dụng bảo mật trên máy tính Tuy nhiên chưa có nhiều công trình nghiên cứu được công bố về sự an toàn của ba hệ mật mã này Do vậy đánh giá sự an toàn của ba hệ mật này là vấn đề cần thiết Việc nghiên. .. Đối với RSA, sự an toàn của nó phụ thuộc vào độ khó của bài toán phân tích n thành thừa số nguyên tố p, q Hiện nay có nhiều thuật toán để giải bài toán này Trong đó chạy nhanh nhất phải kế đến thuật toán sàng trường số của Pollard Như vậy phải luôn cải tiến song song với việc đánh giá sự an toàn của RSA để đảm bảo an toàn cho việc sử dụng dữ liệu của mình Đối với mật mã Elgamal và mật mã trên đường... hệ mật này là vấn đề cần thiết Việc nghiên cứu các vấn đề liên quan đến sự an toàn của các hệ mật trên có bài báo: “Sai phạm trong sử dụng mật mã khóa công khai” đăng trên tạp chí an toàn thông tin 4/2012 Trong Bài báo này giới thiệu những số liệu khảo sát liên quan tới các modulus RSA là yếu tố ảnh hưởng nhiều tới tính an toàn của các khóa công khai II.1 Mật mã RSA 2.1 Các cuộc tấn công vào RSA Nếu... là bằng 0 Giả sử n là một hợp số Xét số nguyên tố q là một nhân tử của n và qk là ước của n còn qk+1 thì không Khi đó, qk không phải là ước của Cnq và gcd (an- q, qk)=1, do đó hệ số của Xq không bằng 0 theo modulo n Đây chính là điều phải chứng minh Số nguyên tố lớn nhất được tìm ra bằng AKS cho đến nay là số Thời gian chạy của thuật toán ([2] trang 35) Thuật toán chạy trong thời gian đa thức, cụ thể như... là 2, khi đó logarithm rời rạc của 1 là 4 bởi vì 24 ≡ 1 mod 5 3.2 Thuật toán bước Baby và bước Giant của Shank Cho p là một số nguyên tố, thuật toán bước Baby bước Giant của Shank là một thuật toán tính logarithm rời rạc của số nguyên h thuộc Z*p với cơ số g và theo modulo p Thuật toán này nhanh hơn thuật toán vét cạn với số phép toán trung bình là O( p log p) Ý tưởng của thuật toán như sau: Giả sử... non trẻ so với RSA nhưng đang ngày càng có nhiều ứng dụng thực tiễn vì kích thước khóa nhỏ hơn rất nhiều so với RSA khi có cùng mức độ an toàn Sự an toàn của hai hệ mật mã này phụ thuộc vào bài toán logarit rời rạc Bài toán Logarit rời rạc hiện là đối tượng trong nhiều công trình nghiên cứu và được xem là bài toán khó nếu p được chọn cẩn thận Hiện nay không có thuật toán thời gian đa thức nào để giải... hệ số của A lên đến + + O(1) Trong thuật toán khối Wiedemann thì Berlekamp-Massey là bước trung tâm của thuật toán Mục tiêu của Thuật toán Berlekamp-Massey là tìm đa thức của ma trận F Matn,m[X] và G Matn,m[X] thỏa mãn deg(F) + O(1),deg (G) + O(1) và FA G (mod ) Bằng trực quan, cần xây dựng một ma trận có ít nhất d hàng 0 mà các hệ số của A lên đến + + O(1) )Xi , dF = deg(F) Dòng thứ j của dF + b của. .. 1, cho m là số nguyên nhỏ hơn ni < m là cơ số m của n Xi và f2(X)= X- m có hệ số là n0(1) với n Chọn giá trị đặc biệt a, b của d1, đó là các giá trị đủ nhỏ đủ để cho f1(a/b) và 0(1) f2(a/b) có hệ số là n Chọn các số mịn b1, b2, bl của các vùng tìm kiếm S cho a, b và có nhiều số nằm giữa b1 và b2 và bL Với RSA 768 bits, sử dụng b1= 11 108, b2= 2 108 và bL =240, sử dụng Ram 2GB Và để thực hiện phép... là g, cho h là một phần tử của G, hãy tìm logarithm cơ số g của h trong G: loggh(mod|G|) Nghĩa là ta phải tìm phần tử x trong G thỏa mãn h≡gx(mod|G|) Bài toán logarithm rời rạc có vai trò rất lớn trong ứng dụng của mật mã Đặc biệt quan trọng trong trường hợp G  F (q)* , với q  p l , p là số nguyên tố, l  N , tức là trong trường Galois, cũng như trong trường hợp G là một nhóm điểm của đường cong . của mật mã hiện đại Trình bày các khái niệm cơ bản của đại số và số học, các thuật toán và bài toán liên quan đến các hệ mật mã Chương 2: Nghiên cứu sự an toàn của một sô hệ mật mã hiện đại. 25 3.2 Thuật toán bước Baby và bước Giant của Shank 25 3.3 Thuật toán Pollig – Hellman 26 CHƯƠNG 2: NGHIÊN CỨU SỰ AN TOÀN CỦA MỘT SỐ HỆ MẬT MÃ HIỆN ĐẠI 30 II.1 Mật mã RSA 30 3 2.1 Các. dụng, chúng ta cần phải đánh giá sự an toàn của các hệ mật trên. Đây chính là lý do để tôi quyết định chọn đề tài Nghiên cứu sự an toàn của một số hệ mật mã hiện đại làm luận văn tốt nghiệp.

Ngày đăng: 10/05/2015, 16:54

Từ khóa liên quan

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

Tài liệu liên quan