Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
721,01 KB
Nội dung
1 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Tô Danh Dũng NGHIÊN CỨU HỆ MẬT RSA VỚI SỐ MŨ GIẢI MÃ LỚN VÀ ỨNG DỤNG CHO CHỮ KÝ SỐ Chuyên ngành: Truyền liệu mạng máy tính Mã số: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS Nguyễn Khắc Lịch Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng HÀ NỘI - 2013 MỞ ĐẦU Lý chọn đề tài Trong mật mã vấn đề bảo mật đôi với vấn đề xác thực thông tin, đặc biệt hệ thống mã hóa khóa cơng khai vấn đề xác thực vô quan trọng Để giải vấn đề xác thực người ta đưa cách vừa đơn giản vừa hiệu sử dụng chữ ký số Việc sử dụng chữ ký số ngày có ứng dụng nhiều thực tế, không ứng dụng nghành công nghệ thông tin, nghành mật mã mà áp dụng số lĩnh vực khác lĩnh vực ngân hàng để xác thực người gửi, người nhận, lĩnh vực viễn thông để sử dụng thẻ thông minh RSA thường sử dụng ứng dụng mà vấn đề bảo mật ưu tiên hàng đầu Bên cạnh RSA nhóm phân tích nhằm tìm mức khơng an tồn Các phân tích chủ yếu minh họa cho mối nguy hiểm việc sử dụng RSA không cách Thật an toàn sử dụng RSA nhiệm vụ không tầm thường Một cách công cổ điển đến RSA hệ mật không an toàn d < n1/4 (d số mũ giải mã) Trong nhữ năm gần nhà nghiên cứu hệ RSA không an tồn số mũ giải mã có kích thước ngắn công Boneh-Durffe hệ mật thực khơng an tồn số mũ giải mã d < n 0,292 Vậy để RSA an toàn ta phải có số mũ giải mã d lớn tốt tình giải mã chậm Làm để có d lớn? ta biết RSA để mã hóa người ta chọn ngẫu nhiên p, q hai số nguyên tố lớn phân biệt; xác định modulus n = p.q ; tính φ(n)= (p-1)(q1) thơng qua tham số tính e ( thường chọn e nhỏ để trình mã hóa đơn giản); sau tính d theo công thức de = + k.φ(n)và thường e nhỏ d có nhỏ Muốn tìm d lớn người ta làm ngược lại chọn e, tìm p,q thỏa mãn điều kiện đủ cho với cách ta có d có kích thước gần modulus n Luận văn nghiên cứu hệ mật RSA với số mũ giải mã lớn ứng dụng cho chữ ký số để chữ ký số an toàn bảo mật Mục đích nghiên cứu Phân tích tính an tồn hệ mật RSA Đưa giải pháp nhằm tăng tính an tồn cho chữ ký số RSA : chọn số mũ giải mã lớn ứng dụng vào chữ ký số Đối tượng phạm vi nhiên cứu - Hệ mật RSA đối tượng nghiên cứu đề tài nhằm phát phương pháp công , bẻ gẫy RSA ; qua ứng dụng thử nghiệm chữ ký số RSA với thuật toán chọn số mũ giải mã lớn - Phạm vi nghiên cứu: đề tài nghiên cứu cách ngăn ngừa kiểu công trường hợp sử dụng số mũ giải mã d nhỏ Sau xây dựng cài đặt thật toán thử nghiệm chữ ký số giúp tăng tính an tồn cho ký số RSA Giả thiết khoa học Cài đặt thuật toán thành công cho ta số mũ giải mã lớn; điều chống lại cách cơng M.Wiener[8] Boneh Durfee[3] làm tăng tính an toàn cho hệ mật RSA chữ ký số RSA Phạm vi đề tài - Nghiên cứu chế hoạt động hệ mật RSA - Các cách công bẻ gẫy RSA - Xây dựng, cài đặt thuật tốn có số mũ giải mã lớn nhằm nâng cao an toàn cho chữ ký số RSA Phương pháp nghiên cứu - Phân tích thuật tốn mã hóa RSA Tìm hiểu cách cơng RSA Từ lựa chọn giải pháp nhằm tăng tính an tồn cho chữ ký số RSA - Kết hợp với toán học lý thuyết tính tốn giải pháp lựa chọn đắn - Thu thập tài liệu, báo tạp chí khoa học nước, nước ngồi, tài liệu mạng internet có liên quan đến nội dung nghiên cứu - Tham khảo, vận dụng kế thừa thuật toán, mã có Các nội dung trình bày: Chương 1: TỔNG QUAN VỀ LÝ THUYẾT MẬT MÃ Ở chương luận văn tìm hiểu khái niệm mật mã, sở toán học mật mã Chương 2: HỆ MẬT KHĨA CƠNG KHAI RSA Ở chương luận văn tìm hiểu nghiên cứu hệ mật RSA, khả công bẻ gẫy RSA, thuật toán RSA với số mũ giải mã lớn Chương 3: THỬ NGHIỆM CHỮ KÝ SỐ RSA VỚI SỐ MŨ GIẢI MÃ LỚN Trong chương giới thiệu chữ ký số áp dụng lý thuyết tìm hiểu chương trước để xây dựng chữ ký số RSA với số mũ giải mã lớn KẾT LUẬN VÀ KIẾN NGHỊ Tổng kết kết đạt mong muốn, kiến nghị để phát triển hệ thống CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT MẬT MÃ 1.1 Các khái niệm Trong lý thuyết mật mã có số thuật ngữ sau: Bản rõ (PlainText): nội dung thông điệp cần gửi yêu cầu đảm bảo an tồn Bản mã (CipherText): thơng điệp gửi mã hóa Mã hóa (Encryption): q trình chuyển đổi thơng tin từ rõ sang mã Trong trình thông tin rõ ẩn bất kỹ người đọc thơng điệp không hiểu trừ trường hợp người giải mã (PlainText → CipherText) Giải mã (Decryption): q tình giải mã để lấy lại thơng tin ban đầu, ngược với q trình mã hóa (CipherText → PlainText) Trong luận văn có sử dụng thêm kí hiệu sau: A, B: Hai người muốn trao đổi thông tin Mm: Kẻ thù muốn lấy cắp thông tin Khái niệm hệ mật mã Một hệ mật gồm thành phần (P, C, K, E, D) với: P (PlainText): Tập hợp hữu hạn rõ C (CipherText): Tập hợp hữu hạn mã K (Key): Tập hợp khóa E: Tập quy tắc mã hóa D: Tập quy tắc giải mã Hệ mật đại cần phải đáp ứng yêu cầu sau: - Tính bảo mật (Confidentiality): đảm bảo liệu truyền cách an toàn khơng bị lộ cố tình muốn có thơng điệp gốc ban đầu Chỉ người phép có khả đọc nội dung thơng tin ban đầu - Tính xác thực (Authentication): giúp cho người nhận thông điệp định chắn thông điệp mà họ nhận thông điệp gốc ban đầu Kẻ giả mạo giả dạng người khác hay nói cách khác khơng thể mạo danh để gửi thơng điệp Người nhận có khả kiểm tra nguồn gốc thông điệp mà họ nhận - Tính tồn vẹn (Integrity): người nhận thơng điệp kiểm tra thông điệp không bị thay đổi q trình truyền Kẻ giả mạo khơng thể có khả thay liệu ban đầu liệu giả mạo - Tính khơng thể chối bỏ (Non – repudation): người gửi, người nhận chối bỏ sau gửi nhận thông điệp 1.2 Phân loại hệ mật mã Công nghệ thông tin phát triển, việc sử dụng máy tính gia tăng với tốc độ phát triển mạnh mẽ Internet làm tăng nguy bị đánh cắp thông tin độc quyền Với mối đe dọa có nhiều biện pháp để đối phó song mã hóa phương pháp để bảo vệ giá trị thơng tin điện tử Có thể nói mã hóa công cụ tự động, quan trọng cho an ninh mạng truyền thơng Có hai hình thức mã hóa sử dụng phổ biến mã hóa đối xứng (symmetric – key cryptography) mã hóa bất đối xứng (asymmetric key cryptography) 1.2.1 Mã hóa đối xứng Là phương thức mã hóa mà người gửi người nhận sử dụng chung khóa để mã hóa giải mã thơng điệp hoặc, phổ biến hơn, người gửi người nhận sử dụng khóa khác mối liên hệ chúng dễ dàng tính tốn 1.2.2 Mã hóa bất đối xứng Định nghĩa mã hóa bất đối xứng: hệ mật mã bao gồm tập hợp phép biến đổi mã hóa {Ee} tập hợp phép biến đổi giải mã {Dd} gọi mật mã khóa cơng khai mật mã bất đối xứng với cặp khóa (e, d) khóa mã hóa e gọi khóa cơng khai (có giá trị mà biết), khóa giải mã d gọi khóa riêng hay khóa bí mật Hệ mật mã phải đảm bảo an tồn để khơng có khả tính d từ e Nguyên tắc hoạt động: Người nhận B sinh cặp khóa gồm: khóa cơng khai Kp khóa bí mật Kr Sau B gửi Kp cho A khóa cơng khai biết A dùng Kp để mã hóa thơng điệp gửi thơng điệp mã hóa cho B Lúc này, B Kr để giải mã thông điệp mà A gửi 1.3 Một số khái niệm toán học Trong phần luận văn trình bày lại lý thuyết kết lí thuyết số có liên quan đến mật mã Ký hiệu: Z: Tập hợp số nguyên N: Tập hợp số tự nhiên {0,1,2……} 1.3.1 Ước số chung lớn GCD() Ước số chung lớn số nguyên dương a, b kí hiệu GCD(a,b), số nguyên lớn mà a, b chia hết cho Và gcd (a,0) = gcd(0,a) = a gcd (a,b) = gcd( a , b ) Ví dụ: gcd (15,9) = 1.3.2 Số nguyên tố nguyên tố Số nguyên tố số nguyên lớn 1, không chia hết cho số ngun dương ngồi Số ngun lớn số nguyên tố gọi hợp số Hệ mật mã thường sử dụng số nguyên tố lớn 10150 Hai số a b gọi nguyên tố nhau, ước số chung lớn chúng Ký hiệu: gcd (a, b) = 1.3.3 Hàm Ф Euler Định nghĩa: Cho n ≥ 1, Ф (n)là số lượng số nguyên nằm đoạn [1,n] mà nguyên tố với n Hàm Ф gọi hàm Euler 1.3.4 Thuật toán Euclid Euclid mở rộng Thuật toán Euclid sau: Input: số nguyên không âm a b với a ≥ b Output: gcd (a, b) While b ≠ r ← a mod b, a ← b, b ← r return (a) Thuật toán Euclid mở rộng Input: số nguyên không âm a ba với a ≥ b Output: gcd(a,b) số nguyên x, y thỏa mãn ax + by = d -1 If b=0 then d ← a, x ← 1, y ← return (d, x, y) x2 ← 1, x1 ← 0, y2 ← 0, y1 ← While b > 3.1 q ← ⎣a / b⎦ , r ← a- q.b, x ← x2 – q.x1, y ← y2 – q.y1 3.2 a ← b, b ← r, x2 ← x1, x1 ← x, y2 ← y1, y1 ← y d ← a, x ← x2, y ← y2, return (d, x, y) Thuật tốn Euclid mở rộng có độ phức tạp O((lg n)2) phép toán bit 1.3.5 Các phép tốn khơng gian Modulo Tốn tử modulo cịn gọi tốn tử mod; a mod n phần dư a chia n kí hiệu r = a mod n, nói cách khác a = q*n + r q số nguyên, r thuộc tập số nguyên {0, 1, 2, ……, n-1} Định nghĩa đồng dư: Cho a b số nguyên, a gọi đồng dư với b theo modulo n, ký hiệu a ≡ b (mod n) a-b = k*n với k số nguyên (hay a-b chia hết cho n) 1.3.6 Thặng dư bậc hai Định nghĩa 1: Cho a ∈ Zn*, a gọi thặng dư bậc hai modulo n tồn số x ∈ Zn* thỏa mãn x2 ≡ a (mod n) Nếu không tồn số x a gọi không thặng dư bậc hai modulo n Tập tất giá trị thặng dư bậc hai modulo n kí hiệu Qn tập tất giá trị khơng thặng dư bậc hai modulo n kí hiệu Qn 1.3.7 Các thuật toán Zn Thuật toán tính nghịch đảo nhân Zn [9]: Input: a ∈ Zn Output: a-1 mod n; a khả nghịch -1 Sử dụng thuật tốn Euclid mở rộng để tìm x, y thỏa mãn d = ax + ny d = gcd (a,n) Nếu d > a-1 mod n không tồn Ngược lại, return (x) Thuật tốn bình phương nhân để tích lũy thừa Zn[9] Input: a ∈ Zn k nguyên ≤ k < n; biểu diễn nhị phân k gồm t bít có dạng k t = ∑k t =0 i i 20 k 21 k 2t k ak = (a ) (a ) (a ) t Output: ak mod n -1 b ← If k = then return(b) A ← a If k0 = then b ← a For i: = to t A ← A2 mod n If ki = then b ← A b mod n return(b) 1.4 Độ phức tạp tính tốn 1.4.1 Khái niệm Định nghĩa 1: Kích thước đầu vào số lượng bit cần thiết dùng để biểu diễn liệu đầu vào Định nghĩa 2: Thời gian thực thuật toán liệu đầu vào số lượng phép toán “các bước” thực 1.4.2 Kí hiệu tiệm cận Một số định nghĩa: (i) f(n)= O (g(n)) tồn số c dương số nguyên dương n0 thỏa mãn ≤ f(n) ≤ c.g(n)với n ≥ n0 10 CHƯƠNG 2: HỆ MẬT MÃ KHĨA CƠNG KHAI RSA 2.1 Hệ mật RSA Độ an tồn RSA dựa hai tốn lớn: Bài tốn phân tích thừa số ngun tố nguyên tố lớn ( The integer Factorization Problem (IFP)): “ Cho trước nguyên tố n ∈ N, tìm số nguyên tố Pj, j = 1, 2, …, r ∈ N, với P1 r < P2 n1.5 [5] khơng có vấn đề xẩy số d nhỏ công thực Nhưng điều bất tiện số e lớn tăng thời gian mã hóa Kỹ thuật thứ hai: sử dụng định lý số dư Trung Hoa ( Chinese Remainder Theorem – (CRT)) Một cách tiếp cận khác sử dụng định lý đồng dư trung hoa (Chinese Remainder Theorem - CRT) Ta chọn số d cho dp = d mod (p - 1) dp =d mod (q - 1) nhỏ 128 bits Mặt khác ta khơng thể biết điều xẩy vấn đề an ninh Chúng ta biết thông qua công hữu hiệu Wiener Định lý gần cải thiện Boneh Durfee [3], họ số với d < n0.292, kẻ cơng tính d từ (n,e) Kết ranh giới Wiener khơng rõ ràng Nó d< n0.5, toán mở 14 2.2.3 Tấn công với số mũ công khai nhỏ Người sử dụng hệ mật RSA muốn giảm thời gian mã hóa chứng thực chữ ký họ thường sử dụng số mũ công khai e nhỏ, thông thường số mũ công khai chọn 216 + = 65537 Khi giá trị 216 + chọn việc chứng thực chữ kí yêu cầu 17 phép nhân lên đến 1000 giá trị e ngẫu nhiên sử dụng (e < ϕ (n)) Và số mũ cơng khai nhỏ rõ m ngắn, hàm RSA dễ dàng tính nghịch đảo Khơng giống cơng Wiener, công với e nhỏ làm cho RSA bị sập hoàn toàn Sau vài minh họa công kiểu 2.2.3.1 Tấn công quảng bá Hastad Định lý (Hastad)[2]: Cho n1, , nk số nguyên tố tập nmin = mini(ni) đôi Với gi ∈ ZNi[x], k đa thức có giá trị nhỏ d Tồn m < nmin thỏa mãn: gi(m) = m mod ni với tất i = 1,…,k Giả thiết k > d, tìm m cho (ni,gi(x))ki =1 Định lý hệ thống đồng biến với đa thức nguyên tố hỗn hợp giải hiệu quả, giả thiết hàm cung cấp đầy đủ Bằng cách cài đặt gi = fiei – ci mod ni, thấy Marvin tìm M từ mã cho với số thành viên d, d giá trị lơn eideg(fi) với i = 1,…,k Chúng ta lưu ý để chống lại công broadcast sử dụng cặp số ngẫu nhiên thay gắn cứng vào giá trị 2.2.3.2 Tấn cơng thơng điệp có quan hệ tuyến tính với (Franklin Reiter Related Message Attack ) Hệ (FR): Giả sử với e =3 (n,e) khóa cơng khai RSA Cho m1 ≠ m2 ∈ Z*n thỏa mãn m1 = f(m2) mod n f = ax + b ∈ Z*n đa thức tuyến tính với b ≠ Khi cho trước (n, e, c1, c2, f), Marvin tìm m1, m2 với thời gian đa thức bậc hai log n 2.2.3.3 Tấn công với khóa để lộ phần (Partial Key Exposure Attack) Định lý 3: cho n = p*q modulus RSA n-bit, với e ≥ 1, d ≤ ϕ(n) thỏa mãn ed ≡ mod ϕ(n) Tồn thuật toán mà cho trước n/4 bit có nghĩa nhỏ d, kẻ cơng khơi phục toàn d thời gian đa thức bậc n e 15 2.2.4 Tấn công cài đặt 2.2.4.1 Tấn công dựa thời gian Vào năm 1996, Kocher mô tả kiểu công lên RSA kẻ thù xác định khóa bí mật cách theo dõi thời gian máy tính giải mã Tấn công thông minh Kocher cho thấy phương pháp lựa chọn thời gian xác để giải mã (hoặc ký số) RSA smartcard, Marvin nhanh chóng tìm thành phần giải mã riêng d Giải pháp khắc phục: 1) Đơn giản tăng độ trễ định để trình mũ hóa ln thời gian định 2) Rivest đưa dựa chế bịt kẽ hở (blinding) 2.2.4.2 Tấn công dựa lỗi ngẫu nhiên Quá trình cài đặt giải mã ký số RSA thường sử dụng định lý đồng dư trung hoa ( Chinese Remainder Theorem) nhằm cải thiện tốc độ tính tốn md mod n Boneh, DeMillo, Lipton [10] quan sát thấy có lỗi nguy hiểm sử dụng phương pháp CRT Vấn đề sinh chữ ký mà máy tính Bob hoạt động khơng ngun nhân gây nên lỗi tính tốn Hay nói cách khác copy ghi, bit dịng bít bị thất lạc (Sự hoạt động khơng ngun nhân xung đột điện từ sâu phần cứng, lỗi sớm tìm thầy phiên chíp Pentium) Được cung cấp chữ ký lỗi, kẻ cơng Marvin dẽ dàng phân tích thành nhân tử modul N 2.3 Hệ mật RSA với số mũ giải mã lớn Nếu làm theo bước thuật toán RSA : - Chọn số nguyên tố lớn phân biệt p, q Tính n = p*q ϕ(n)= (p -1)*(q - 1) - Chọn e > cho gcd(ϕ(n),e ) = ; e thường chọn nhỏ để trình mã hóa nhanh - d xác định thỏa mãn e*d = mod e(ϕ(n)) Thì ta khơng hy vọng có số mũ giải mã d lớn Do đó, [2], nhóm tác giả Hernández Encinas, J.Munoz MasQué A.Queiruga Dios đề xuất thuật toán để có số mũ giải mã d lớn, có kích thước gần modunlus n cách : số mũ công khai e 16 chọn trước ; Chọn hai số nguyên tố p, q thỏa mãn điều kiện đủ đảm bảo d có kích thước gần kích thước n, với cách ta đủ điều kiện để tránh công 2.3.1 Thuật tốn có số mũ giải mã d lớn Thuật tốn tác giả Vũ Huy Hoàng Hồ Thuần báo cáo [1] đưa sau: Bước 1: chọn số mũ mã hóa e ≥ 3, số nguyên dương lẻ Bước 2: Chọn ngẫu nhiên r ∈ T(e) với T(e) = { r ∈ Z*e |(r -1) ∈ Z*e} Tạo sinh số nguyên tố ngẫu nhiên p đủ lớn cho p = cp.e + rp , (tồn theo định lý Dirichlet) Bước 3: Tính số nguyên tố lớn q = r(r -1)-1(mod e) + k.e; với k thuộc N Bước 4: Tính n = p*q, ϕ(n)= (p - 1)*(q - 1) kiểm tra điều kiện < e < ϕ(n), gcd(e, ϕ(n)) = Nếu thỏa mãn chuyển sang Bước ngược lại quay Bước Bước 5: Tính trực tiếp số mũ giải mã d theo công thức d = ϕ ( n ) − ϕ (n) − e , nghịch đảo nhân e ∈ Z*e |(r -1) ∈ ∈ Z*e |(r(r -1)) ∈ Trong thuật tốn có đưa tập T(e) định nghĩa T(e) = { r Z*e} T(e) cách định nghĩa khác tập S(e) = { r Z*e} điều chứng minh [1] 17 Sau kết demo với Input giá trị cần mã hóa; kết Ouput hình: Hình 2.1 : Thuật tốn có số mũ giải mã d lớn (e nhỏ) Hình 2.2 : Thuật tốn có số mũ giải mã d lớn (e lớn) 2.3.2 Đánh giá thuật toán số mũ giải mã d lớn Đối với thuật tốn RSA thơng thường, xác suất cho việc chọn ngẫu nhiên d lớn cao, xác suất có giá trị e tương ứng lớn cao Trong thực tế, người sử dụng muốn chọn giá trị e nhỏ(một giá trị xác định trước) ví dụ 216 + để cải thiện nâng cao hiệu trình mã hóa Điều thú vị thuật tốn trình bày số mũ mã hóa e chọn tùy ý ta ln có giá trị d tương ứng lớn(có kích thước kích thước modulus n ) Và giá trị e chọn việc chọn p 18 q cần thỏa mãn: rp, rq thuộc T(e) rq = rp/( rp – 1) rp, rq phần dư tương ứng p q chia cho e Cuối cùng, thuật tốn trên, việc chọn rp, rq thuộc T(e) khơng làm tăng thời gian việc sinh khóa 19 CHƯƠNG 3: THỬ NGHIỆM CHỮ KÝ SỐ RSA VỚI SỐ MŨ GIẢI MÃ LỚN 3.1 Chữ ký số RSA 3.1.1 Đặt vấn đề Trên thực tế, chữ ký điện tử (Digital Signature) ứng dụng rộng rãi ứng dụng mạng Một ứng dụng quan trọng chữ ký điện tử đảm bảo an toàn liệu truyền mạng 3.1.2 Định nghĩa sơ đồ ký điện tử Một sơ đồ chữ ký S năm S = (P , A , K , S , V) Trong đó: P tập hữu hạn thơng báo có, A tập hữu hạn chữ ký có, K tập hữu hạn khố, khố K ∈ K gồm có hai phần K=(K’,K''), K' khố bí mật dành cho việc ký, cịn K'' khố cơng khai dành cho việc kiểm thử chữ ký Với K =(K’,K''), S có thuật toán ký sigk’ : P → A , V có thuật tốn kiểm thử verk” : PxA → {đúng,sai} thoả mãn điều kiện sau thông báo x ∈ P chữ ký y ∈ A : verk” (x, y) = ↔ y = sigk’ (x ) 3.1.3 Sơ đồ chữ ký RSA Sơ đồ chữ ký RSA cho năm S = (P , A , K , S , V) Trong : P = A =Zn , với n =p.q tích hai số nguyên tố lớn p,q K tập cặp khoá K =(K’,K''), với K’ = a K'' = (n,b) a b hai số thuộc Z* n thoả mãn a.b ≡ 1(modφ (n)) 20 3.1.4 Sơ đồ chữ ký Elgamal Sơ đồ chữ ký ElGamal đề xuất năm 1985, gần đồng thời với sơ đồ hệ mật mã ElGamal, dựa độ khó tốn lơgarit rời rạc Sơ đồ thiết kế đặc biệt cho mục đích ký văn điện tử, mô tả hệ: S = (P , A , K , S , V) Trong P = Z*p , A = Z*p x Zp-1, với p số nguyên tố cho toán tính lơgarit rời rạc Z*p khó Tập hợp K gồm cặp khoá K=(K’,K''), với K’=a số thuộc Z*p , K'' =(p, α , β), α phần tử nguyên thuỷ Z*p , β=αamodp K’ khố bí mật dùng để ký, K'' khố cơng khai dùng để kiểm thử chữ ký 3.1.5 Sơ đồ chữ ký DSS Sơ đồ chữ ký DSS cho năm S = (P , A , K , S , V) Trong P = Z*p , A = Z*q x Z*q p số nguyên tố lớn có độ dài biểu diễn 512 ≤ lp ≤ 1024 bit (với l bội 64) cho tốn tính logarit rời rạc Zp khó q ước số nguyên tố p -1 có lq biểu diễn cỡ 160 bit 3.2 Chữ ký số chối bỏ Một sơ đồ chữ ký chối bỏ có phần: Một thuật tốn ký Một giao thức kiểm thử ( giao thức xác nhận ) Một giao thức chối bỏ 3.3 Vấn đề ký số đại diện văn Khái niệm : Việc sử dụng hệ mật mã sơ đồ chữ ký số thường mã hóa ký số bit thông tin, thời gian để mã hóa ký tỷ lệ thuận với dung lượng thơng tin Thêm vào xảy trường hợp với nhiều thông điệp đầu vào khác nhau, sử dụng hệ mật mã, sơ đồ ký số giống ( khác ) cho kết mã, ký số giống Điều dẫn đến số rắc rối sau cho việc xác thực thông tin 21 3.3.1 Sơ lược hàm băm (Hash Function) 3.3.1.1 Giới thiệu Theo sơ đồ chữ ký chữ ký thơng điệp có độ dài độ dài thơng điệp, điều bất tiện Ta mong muốn trường hợp chữ ký viết tay, chữ ký có độ dài ngắn hạn chế cho dù văn có độ dài Vì chữ ký số ký cho bit thơng điệp, muốn chữ ký có độ dài hạn chế thơng điệp có độ dài tuỳ ý ta phải tìm cách rút gọn độ dài thơng điệp Nhưng thân thông điệp rút ngắn được, nên cịn cách tìm cho thơng điệp thơng điệp thu gọn có độ dài hạn chế thay việc ký thông điệp, ta ký thông điệp thu gọn 3.3.1.2 Định nghĩa hàm Hash Hàm Hash hàm tính tốn có hiệu ánh xạ dịng nhị phân có độ dài tuỳ ý thành dịng nhị phân có độ dài cố định 3.3.1.3 Tính chất hàm băm 3.3.1.4 Thuật toán MD5 Thuật toán MD5 Ron Rivest đưa vào năm 1991 Đầu vào thuật toán khối có độ dài 512 bit đầu băm đại diện cho văn gốc có độ dài 128bit 3.4 Xác thực Xác thực : Là thủ tục nhằm kiểm tra thông báo nhận xem chúng có đến từ người gửi hợp lệ có bị sửa đổi hay khơng Xác thực kiểm tra trình tự tính lúc Chữ ký số kỹ thuật xác thực 3.5 Mô tả hệ thống cài đặt Các bước thực chương trình a Phát sinh khóa: Từ số mũ mã hóa e > = số nguyên dương lẻ ban đầu, chương trình thực tính tốn để đưa cặp khóa cơng khai (e, n) khóa bí mật (d, n) Sau khóa cơng khai tiết lộ cơng cộng, khóa bí mật giữ lại 22 b Ký chữ ký điện tử: Khi người muốn gửi cho văn quan trọng, địi hỏi văn phải ký xác nhận danh người gửi văn bản, người gửi văn làm thực quy trình ký chữ ký điện tử c Xác thực ký điện tử: Sau nhận văn có đính kèm chữ ký người gửi, người nhận văn phải giải mã trở lại văn kiểm tra xem văn bị thay đổi người thứ ba chưa, chữ ký đính kèm văn có người gửi hay khơng (kiểm tra “chính danh”) Cài đặt chương trình minh họa ngơn ngữ C#: Giao diện chương trình: Hình 3.5 : Ký văn 23 + Quá trình xác nhận chữ ký: Hình 3.6 : Chữ tồn vẹn Hình 3.7: Chữ ký khơng tồn vẹn 24 KẾT LUẬN Các kết đạt được: Đề tài bước đầu đưa giải pháp tránh kiểu công lên hệ mật RSA với số mũ giải mã d nhỏ áp dụng vào chữ ký số Đề tài phân tích cụ thể hóa bước thuật tốn [6] Sau kết hợp với nhận xét, cải tiến trong[1] sử dụng cơng cụ có ngơn ngữ lập trình c# để cài đặt thành cơng thuật tốn nêu vào chữ ký số Thuật toán chạy thử nghiệm ln cho số mũ giải mã d có kích thước kích thước modulus n Như bước đề tài đạt mục đích đề Chương trình thử nghiệm chữ ký số hồn thiện có đầu tư nhiều thời gian cơng sức đề tài hồn thiện áp dụng vào thực tế Hướng phát triển đề tài Có thể nghiên cứu sâu vấn đề đưa thực hoàn thiện chức chương trình để ứng dụng vào đời sống, phục vụ nhu cầu mục đích người sử dụng Với kết có đề tài phát triển theo hướng sau: - Chọn d trước xác định p, q thỏa mãn điều kiện đủ cho e nhỏ - Hoàn thiện kết luận văn áp dụng vào mơi trường mobile ... mũ giải mã lớn ứng dụng cho chữ ký số để chữ ký số an tồn bảo mật Mục đích nghiên cứu Phân tích tính an tồn hệ mật RSA Đưa giải pháp nhằm tăng tính an tồn cho chữ ký số RSA : chọn số mũ giải mã. .. 2: HỆ MẬT KHĨA CƠNG KHAI RSA Ở chương luận văn tìm hiểu nghiên cứu hệ mật RSA, khả cơng bẻ gẫy RSA, thuật tốn RSA với số mũ giải mã lớn Chương 3: THỬ NGHIỆM CHỮ KÝ SỐ RSA VỚI SỐ MŨ GIẢI MÃ LỚN... giải mã lớn ứng dụng vào chữ ký số 2 Đối tượng phạm vi nhiên cứu - Hệ mật RSA đối tượng nghiên cứu đề tài nhằm phát phương pháp cơng , bẻ gẫy RSA ; qua ứng dụng thử nghiệm chữ ký số RSA với thuật