BÀI tập lớn môn học AN TOÀN và bảo mật hệ THỐNG THÔNG TIN đề tài mã hóa CÔNG KHAI – mã hóa RSA

14 1.4K 2
BÀI tập lớn môn học AN TOÀN và bảo mật hệ THỐNG THÔNG TIN đề tài mã hóa CÔNG KHAI – mã hóa RSA

Đ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

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN ************ BÀI TẬP LỚN MÔN HỌC: AN TOÀN VÀ BẢO MẬT HỆ THỐNG THÔNG TIN ĐỀ TÀI: MÃ HÓA CÔNG KHAI – MÃ HÓA RSA Giáo viên : Sinh viên thực : Tống Minh Đức Đồng Tố Trung VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí TÌM HIỂU CHUNG VỀ HỆ MÃ HÓA Trong lĩnh vực kinh tế, trị, xã hội, quân sự… có nhu cầu trao đổi thông tin cá nhân, công ty, tổ chức, quốc gia với Ngày nay, với phát triển công nghệ thông tin đặt biệt mạng internet việc truyền tải thông tin dễ dàng nhanh chóng - Hình 1: Việc trao đổi thông tin thực qua bước sau Tạo thông tin cần gửi Gửi thông tin cho đối tác Vấn đề đặt tính bảo mật trình truyền tải thông tin, đặc biệt quan trọng thông tin liên quan đến trị, quân sự, hợp đồng kinh tế… Vì nghành khoa học nghiên cứu mã hóa thông tin phát triển Việc mã hóa làm cho thông tin biến sang dạng khác có bên gửi bên nhận đọc được, người dù nhận thông tin hiểu nội dung Hình 2: Việc trao đổi thông tin thực - Tạo thông tin cần gửi Mã hóa gửi thông tin mã hóa Đối tác nhận giải mã thông tin Đối tác có thông tin ban đầu người gửi VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí  Với thao tác mã hóa giải mã ta đảm bảo thông tin gửi an toàn xác HỆ MÃ HÓA CÔNG KHAI I PHÂN BIỆT HỆ MÃ HÓA BÍ MẬT VÀ HỆ MÃ HÓA CÔNG KHAI Thông tin sẻ mã hóa theo phương pháp ứng với key, key dùng để lập mã đồng thời để giải mã Vì key phải giữ bí mật, có người lập mã người nhận biết được, key bị lộ người dễ dàng giải mã đọc thông tin Mã hóa bí mật: Mã hóa bí mật sử dụng key public key private key Public key: Được sử dụng để mã hoá thông tin mà ta muốn chia sẻ với Chính ta tự phân phát cho mà ta cần chia sẻ thông tin dạng mã hoá Privite key: Đúng tên, Key thuộc sở hữu riêng tư bạn sử dụng để giải mã thông tin Chỉ bạn sở hữu nó, Key không phép không nên phân phát cho => Nghĩa người giữ key: + Một dùng để mã hóa, key công bố rộng rãi + Một dùng để giải mã, key giữ kín Mã hóa công khai: Khi có nhu cầu trao đổi thông tin với bạn, dùng public key mà bạn công bố để mã hóa thông tin gửi cho bạn, nhận bạn dùng private key để giải mã Những người khác dù có nhận thông tin private key giải mã đọc thông tin VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí Mô hình mã hóa công khai II NGUYÊN TẮC CẤU TẠO CỦA HỆ MÃ HÓA CÔNG KHAI Hệ mã khóa công khai xây dựng dựa hàm gọi hàm phía hay hàm chiều (one – way functions) Hàm chiều f: X →Y hàm mà biết x Error: Reference source not found X ta dễ dàng tính y = f(x) Nhưng với y bất kỳError: Reference source not foundY việc tìm xError: Reference source not foundX cho y = f(x) khó Có nghĩa việc tìm hàm ngược f-1 khó Một hàm phía hàm mà dễ dàng tính toán quan hệ chiều khó để tính ngược lại Ví như: biết giả thiết x dễ dàng tính f(x), biết f(x) khó tính x Trong trường hợp “khó” có nghĩa để tính kết phải hàng triệu năm để tính toán, chí tất máy tính giới tính toán công việc Vậy hàm phía tốt gì? Chúng ta sử dụng chúng cho mã hoá Một thông báo mã hoá với hàm phía không hữu ích, không giải mã Đối với mã hoá cần vài điều gọi cửa sập hàm phía (khóa) Hộp thư ví dụ tuyệt hàm phía hình thức mã hóa Bất kỳ bỏ thư vào thùng Bỏ thư vào thùng hành động công cộng Mở thùng thư hành động công cộng Nó việc khó khăn, bạn chìa khóa ứng với thùng thư Hơn bạn có điều bí mật (chìa khoá), thật dễ dàng mở hộp thư Hệ mã hoá công khai tương tự TÌM HIỂU VỀ MÃ HÓA RSA I LỊCH SỬ RA ĐỜI CỦA THUẬT TOÁN RSA VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí RSA Rivest, Shamir Adleman phát triển, thuận toán mật mã hóa khóa công khai Đây thuật toán đầu tiền phù hợp với việc tạo chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu tiến hóa vượt bậc lĩnh vực mật mã học việc sử dụng khóa công khai RSA sử dụng phổ biến thương mại điện tử cho đảm bảo an toàn với điều kiện độ dài khóa đủ lớn Thuật toán Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Tên thuật toán lấy từ chữ đầu tên tác giả Trước đó, vào năm 1973, Clifford Cocks, nhà toán học người Anh làm việc GCHQ, mô tả thuật toán tương tự Với khả tính toán thời điểm thuật toán không khả thi chưa thực nghiệm Tuy nhiên, phát minh công bố vào năm 1997 xếp vào loại tuyệt mật RSA thí dụ điển hình đề tài toán học trừu tượng lại áp dụng thực tiễn vào đời sống thường nhật Khi nghiên cứu số nguyên tố, có nghĩ khái niệm số nguyên tố lại hữu dụng vào lĩnh vực truyền thông II MÔ HÌNH THỰC HIỆN Mô tả sơ lược Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) khóa bí mật (hay khóa cá nhân) Mỗi khóa số cố định sử dụng trình mã hóa giải mã Khóa công khai công bố rộng rãi cho người dùng để mã hóa Những thông tin mã hóa khóa công khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã Có thể mô trực quan hệ mật mã khoá công khai sau : Bob muốn gửi cho Alice thông tin mật mà Bob muốn Alice đọc Để làm điều này, Alice gửi cho Bob hộp có khóa mở sẵn giữ lại chìa khóa Bob nhận hộp, cho vào tờ giấy viết thư bình thường khóa lại (như loại khoá thông thường cần sập chốt lại, sau sập chốt khóa Bob mở lại được-không đọc lại hay sửa thông tin thư nữa) Sau Bob gửi hộp lại cho Alice Alice mở hộp với chìa khóa đọc thông tin thư Trong ví dụ này, hộp với khóa mở đóng vai trò khóa công khai, chìa khóa khóa bí mật Tạo khóa Giả sử Alice Bob cần trao đổi thông tin bí mật thông qua kênh không an VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí toàn (ví dụ Internet) Với thuật toán RSA, Alice cần tạo cho cặp khóa gồm khóa công khai khóa bí mật theo bước sau: Chọn số nguyên tố lớn với , lựa chọn ngẫu nhiên độc lập Tính: Tính: giá trị hàm số Ơle Chọn số tự nhiên e cho số nguyên tố với Tính: d cho Một số lưu ý: • • Các số nguyên tố thường chọn phương pháp thử xác suất Các bước thực giải thuật Euclid mở rộng (xem thêm: số học môđun) • Bước viết cách khác: Tìm số tự nhiên cho • Từ bước 3, PKCS#1 v2.1 sử dụng thay cho số tự nhiên Khi sử dụng giá trị ) Khóa công khai bao gồm: • • n, môđun, e, số mũ công khai (cũng gọi số mũ mã hóa) Khóa bí mật bao gồm: • • n, môđun, xuất khóa công khai khóa bí mật, d, số mũ bí mật (cũng gọi số mũ giải mã) Một dạng khác khóa bí mật bao gồm: • • p and q, hai số nguyên tố chọn ban đầu, d mod (p-1) d mod (q-1) (thường gọi dmp1 dmq1), • (1/q) mod p (thường gọi iqmp) Dạng cho phép thực giải mã ký nhanh với việc sử dụng định lý số dư Ở dạng này, tất thành phần khóa Trung Quốc (tiếng Anh: Chinese Remainder Theorem - CRT) VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí bí mật phải giữ bí mật Alice gửi khóa công khai cho Bob, giữ bí mật khóa cá nhân Ở đây, p q giữ vai trò quan trọng Chúng phân tố n cho phép tính d biết e Nếu không sử dụng dạng sau khóa bí mật (dạng CRT) p q xóa sau thực xong trình tạo khóa Mã hóa Giả sử Bob muốn gửi đoạn thông tin M cho Alice Đầu tiên Bob chuyển M thành số m < n theo hàm đảo ngược (từ m xác định lại M) thỏa thuận trước Lúc Bob có m biết n e Alice gửi Bob tính c mã hóa m theo công thức: Hàm tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) thuật toán bình phương nhân Cuối Bob gửi c cho Alice Giải mã Alice nhận c từ Bob biết khóa bí mật d Alice tìm m từ c theo công thức sau: Biết m, Alice tìm lại M theo phương pháp thỏa thuận trước Quá trình giải mã hoạt động ta có Do ed ≡ (mod p-1) ed ≡ (mod q-1), (theo Định lý Fermat nhỏ) nên: Do p q hai số nguyên tố nhau, áp dụng định lý số dư Trung Quốc, ta có: hay: Ví dụ Sau ví dụ với số cụ thể Ở sử dụng số nhỏ để VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí tiện tính toán thực tế phải dùng số có giá trị đủ lớn Lấy: p = 61 — số nguyên tố thứ (giữ bí mật hủy sau tạo khóa) q = 53 — số nguyên tố thứ hai (giữ bí mật hủy sau tạo khóa) n = pq = — môđun (công bố công khai) 3233 e = 17 — số mũ công khai d = 2753 — số mũ bí mật Khóa công khai cặp (e, n) Khóa bí mật d Hàm mã hóa là: encrypt(m) = me mod n = m17 mod 3233 với m văn rõ Hàm giải mã là: decrypt(c) = cd mod n = c2753 mod 3233 với c văn mã Để mã hóa văn có giá trị 123, ta thực phép tính: encrypt(123) = 12317 mod 3233 = 855 Để giải mã văn có giá trị 855, ta thực phép tính: decrypt(855) = 8552753 mod 3233 = 123 Cả hai phép tính thực hiệu nhờ giải thuật bình phương nhân Chuyển đổi văn rõ Trước thực mã hóa, ta phải thực việc chuyển đổi văn rõ (chuyển đổi từ M sang m) cho giá trị M tạo văn mã không an toàn Nếu trình này, RSA gặp phải số vấn đề sau: • • Nếu m = m = tạo mã có giá trị tương ứng Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) m có giá trị nhỏ, giá trị me nhận giá trị nhỏ (so với n) Như phép môđun tác dụng dễ dàng tìm m cách khai bậc e c (bỏ qua môđun) • RSA phương pháp mã hóa xác định (không có thành phần ngẫu nhiên) nên kẻ công thực công lựa chọn rõ cách tạo bảng tra rõ mã Khi gặp mã, kẻ công sử dụng bảng tra để tìm rõ tương ứng Trên thực tế, ta thường gặp vấn đề đầu gửi tin VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí ASCII ngắn với m nhóm vài ký tự ASCII Một đoạn tin có ký tự NUL gán giá trị m = cho mã giá trị e N Tương tự, ký tự ASCII khác, SOH, có giá trị cho mã Với hệ thống dùng giá trị e nhỏ tất ký tự ASCII cho kết mã hóa không an toàn giá trị lớn m 255 2553 nhỏ giá trị n chấp nhận Những mã dễ dàng bị phá mã Để tránh gặp phải vấn đề trên, RSA thực tế thường bao gồm hình thức chuyển đổi ngẫu nhiên hóa m trước mã hóa Quá trình chuyển đổi phải đảm bảo m không rơi vào giá trị không an toàn Sau chuyển đổi, rõ mã hóa cho số khả tập hợp mã Điều làm giảm tính khả thi phương pháp công lựa chọn rõ (một rõ tương ứng với nhiều mã tuỳ thuộc vào cách chuyển đổi) Một số tiêu chuẩn, chẳng hạn PKCS, thiết kế để chuyển đổi rõ trước mã hóa RSA Các phương pháp chuyển đổi bổ sung thêm bít vào M Các phương pháp chuyển đổi cần thiết kế cẩn thận để tránh dạng công phức tạp tận dụng khả biết trước cấu trúc rõ Phiên ban đầu PKCS dùng phương pháp đặc ứng (ad-hoc) mà sau biết không an toàn trước công lựa chọn rõ thích ứng (adaptive chosen ciphertext attack) Các phương pháp chuyển đổi đại sử dụng kỹ thuật chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại công dạng Tiêu chuẩn PKCS bổ sung tính khác để đảm bảo an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA - RSA-PSS) Tạo chữ ký số cho đoạn văn Thuật toán RSA dùng để tạo chữ ký số cho văn Giả sử Alice muốn gửi cho Bob văn có chữ ký Để làm việc này, Alice tạo giá trị băm (hash value) văn cần ký tính giá trị mũ d mod n (giống Alice thực giải mã) Giá trị cuối chữ ký điện tử văn xét Khi Bob nhận văn với chữ ký điện tử, tính giá trị mũ e mod n chữ ký đồng thời với việc tính giá trị băm văn Nếu giá trị Bob biết người tạo chữ ký biết khóa bí mật Alice văn không bị thay đổi sau ký Cần ý phương pháp chuyển đổi rõ (như RSA-PSS) giữ vai trò quan trọng trình mã hóa chữ ký điện tử không dùng khóa chung cho đồng thời cho hai mục đích PHÂN TÍCH THỜI GIAN PHÁ MÃ Phá mã nỗ lực giải mã văn mã hóa trước khóa bí mật Các phương pháp phá mã RSA: Vét cạn : thử tất mã Phân tích toán học + Phân tích n thành số nguyên tố p q + Xác định φ (n) trực tiếp không thông qua p q + Xác định φ (n) trực tiếp d không thông qua Phân tích thời gian VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí + Dựa việc đo thời gian giải mã + Có thể ngăn ngừa cách làm nhiễu Phương pháp vét cạn Thử tất khóa xác định nguyên từ mã Ưu điểm : thử qua tất trường hợp Nhược điểm : o Tốn thời gian, nhiều động tác thừa, tốn không gian nhớ o Không thể tư khoa học Ví dụ: Hoạt động tìm đường Đi theo thứ tự từ xuống ta có : + Tại A => có đường đến B1 B2 => đến điểm B1 + Tại B1 có đường => đến C1 + Tại C1 đường => quay lại B1 + Tại B1 có đường đi, điểm C1 qua nên tiếp =>C2 • Tại B1 có đường qua => quay lại điểm A • Tại A có đường đi, đường qua B1 => B2 • … Cứ tìm đường từ A -> D4 Phương pháp phân tích toán học Chọn số nguyên tố lơn p q Tính n= p*q Tính φ(n) = (p-1) * (q-1) Có thể dùng định lý Trung Hoa để giảm bớt phần tính toán Chọn ngẫu nhiên khóa mã e cho USCLN(e, φ(n)) = với < e < φ(n) Giải phương trình sau để tìm khóa giải mã d cho ed ≡ mod (φ(n)) Vấn đề chọn p q : • p q phải số nguyên tố lớn, nhẩt cỡ 100 chữ số • p q phải lớn xấp xỉ ( độ dài 100 chữ số chẳng hạn ) V í d ụ: Cho số nguyên tố p=17 & q=11 Tính n = pq, n = 17×11=187 Tính Ф(n)=(p–1)(q-1)=16×10=160 Chọn e : gcd(e,160)=1; Lây e=7 Xác định d: de=1 mod 160 d < 160 VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí Giá trị cần tìm d=23, 23×7=161= 10×160+1 Phương pháp phân tích thời gian So với DES RSA có tốc độ chậm nhiều kích thước khóa mật lớn nhiều p q cỡ 300 bits n cỡ 600 bits Phép nâng lên lũy thừa chậm so với n lớn, đặc biệt sử dụng phần mềm Tốc độ thời: • Sử dụng phần cứng đặc chủng: n cỡ 507 bits đạt tốc độ khoảng 200kb/s • Phần mềm: n cỡ 512 bits đạt tốc độ khoảng 11kb/s Giải thuật tốt phương pháp sàng số Một ước lượng thời gian thực giải thuật là: L(n) 9.7 + log n 50 ≈ 10 Log2n cho biết số bit cần biểu diễn n, số cần phân tích thành thừa số nguyên tố Người ta ước lượng thấy, với n = 200, L(n) ngàn năm Đối với khả thực xử lý song song, kết tốt phân tích số có 129 chữ số, phân bố tính toán toàn mạng Internet trọn tháng Ngày nay, với ứng dụng có độ đòi hỏi an toàn đặc biệt cao người ta sử dụng đại lượng Modulo RSA lên đến 1024 bits chí 2048 bits Trong toán mã hoá công khai, sử dụng nhiều phép toán lũy thừa với số mũ lớn Như cần có thuật toán nhanh hiệu phép toán Trước hết phân tích số mũ số 2, xét biểu diễn nhị phân số mũ, sau sử dụng thuật toán bình phương nhân Khái niệm xây dựng phép lặp sở bình phương nhân để nhận kết mong muốn Độ phức tạp thuật toán O(log2 n) phép nhân với số mũ n Ví dụ: 75 = 74.71 = 3.7 = 10 mod 11 72 = 7.7 = 49 = mod 11 74 = 72.72 = 5.5 = mod 11 3129 = 3128.31 = 5.3 = mod 11 Phân tích số mũ theo số 2: Trước hết ta chuyển số mũ từ số 10 sang số 2: (11)10 = (1011)2 Sau tính toán sau: M11 = M1.2^3 + 0.2^2+ 1.2^1 + 1.2^0 = (M1.2^2 + 0.2^1+ 1.2^0 )2M = (M1.2^1 + 0.2^0)2M)2M = ((M2)2 M)2M Mã sử dụng lũy thừa khoá công khai e, giá trị e nhỏ tính toán nhanh, dễ bị công Thường chọn e nhỏ 65537 (2 16-1), tức độ dài khoá công khai 16 bit Chẳng hạn ví dụ ta chọn e = 23 e = Ta tính mã hoá nhanh, biết n=pq sử dụng định lý phần dư Trung Hoa với mẩu tin M theo Modulo p q khác Nếu khóa công khai e cố định cần tin tưởng chọn n ta có gcd (e,Ф(n)) = Loại bỏ p, q mà làm cho Ф(n) không nguyên tố với e Có thể sử dụng định lý phần dư Trung VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí ≈ 55 Hoa để tính theo mod p q, sau kết hợp lại để tìm rõ Vì đây, người ta sử dụng khóa riêng biết p q, sử dụng kỹ thuật Nếu sử dụng định lý phần dư Trung Hoa để giải mã hiệu nhanh gấp lần so với giải mã tính trực tiếp ỨNG DỤNG CỦA RSA Chữ ký điện tử (Digital Signature) Hệ mã RSA có tính an toàn cao Nhưng nhược điểm lớn tốc độ mã hóa chậm (nhất so với hệ mã đối xứng có độ an toàn ) Bởi sử dụng với văn ngắn, thường dùng giao thức xác nhận chủ thể (chữ kí điện tử) Chữ kí điện tử đảm bảo người nhận có mật thư biết chắn tác giả thư Và đảm bảo việc không mạo danh người khác để gửi thư Chữ kí điện tử chữ kí tay có chung đặc điểm khó xảy trường hợp trùng Để làm điều đó, anh U muốn gửi thư P cho anh V Đầu tiên anh U dùng khóa lập mã Ev (được công khai anh V) để mã hóa P thu Ev (P) Sau dùng khóa giải mã Du (bí mật) để tính Du (Ev (P)) = C gửi Sau nhận mật thư C , anh V dùng khóa lập mã anh U Eu (công khai) đế tính Eu (C) = Eu (Du (Ev (P ))) = Ev (P) (do Eu hàm ngược Du) Cuối dùng khóa giải mã bí mật Dv để tính Dv (Ev (P)) = P thư ban đầu VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí Rõ ràng với cách áp dụng với văn ngắn, văn dài phải áp dụng phương pháp biến thể từ phương pháp trên, sử dụng hàm băm Đó hàm đựơc công khai toàn hệ thống Khi cần gửi văn bản, người ta gửi kèm theo giá trị băm văn bản, sau nhận người ta băm văn lại lần so sánh với giá trị băm bên gửi, trùng khớp khẳng định văn không bị thay đổi đường … Mô hình chữ kí điện tử SSL (Secure Socket Layer) SSL (Secure Socket Layer) giao thức đa mục đích thiết kế nhằm mã hóa toàn thông tin đến/ hai chương trình ứng dụng cổng định trước (socket 443) Giao thức SSL hình thành phát triển năm 1994 nhóm nghiên cứu Netscape ngày trở thành chuẩn bảo mật thực hành mạng Internet Giao thức SSL hình thành phát triển năm 1994 nhóm nghiên cứu Netscape ngày trở thành chuẩn bảo mật thực hành mạng Internet Phiên SSL 3.0 tiếp tục bổ sung hoàn thiện VnDoc - Tải tài liệu, văn pháp luật, biểu mẫu miễn phí [...]... để giải mã thì hiệu quả là nhanh gấp 4 lần so với giải mã tính trực tiếp ỨNG DỤNG CỦA RSA 1 Chữ ký điện tử (Digital Signature) Hệ mã RSA có tính an toàn rất cao Nhưng nhược điểm lớn là tốc độ mã hóa chậm (nhất là so với các hệ mã đối xứng có cùng độ an toàn ) Bởi vậy nó chỉ được sử dụng với các văn bản ngắn, và thường dùng trong giao thức xác nhận chủ thể (chữ kí điện tử) Chữ kí điện tử đảm bảo khi... được mật thư thì biết chắc chắn ai là tác giả bức thư đó Và cũng đảm bảo việc không ai có thể mạo danh người khác để gửi thư Chữ kí điện tử và chữ kí tay có chung đặc điểm là rất khó xảy ra trường hợp trùng Để làm được điều đó, khi anh U muốn gửi bức thư P cho anh V Đầu tiên anh U dùng khóa lập mã Ev (được công khai của anh V) để mã hóa P thu được Ev (P) Sau đó dùng khóa giải mã của mình là Du (bí mật) ... M)2M Mã sử dụng lũy thừa của khoá công khai e, nếu giá trị của e nhỏ thì tính toán sẽ nhanh, nhưng dễ bị tấn công Thường chọn e nhỏ hơn hoặc bằng 65537 (2 16-1), tức là độ dài khoá công khai là 16 bit Chẳng hạn trong ví dụ trên ta có thể chọn e = 23 hoặc e = 7 Ta có thể tính mã hoá nhanh, nếu biết n=pq và sử dụng định lý phần dư Trung Hoa với các mẩu tin M theo các Modulo p và q khác nhau Nếu khóa công. .. dùng khóa giải mã của mình là Du (bí mật) để tính Du (Ev (P)) = C và gửi đi Sau khi nhận được mật thư C , anh V sẽ dùng khóa lập mã của anh U là Eu (công khai) đế tính Eu (C) = Eu (Du (Ev (P ))) = Ev (P) (do Eu là hàm ngược của Du) Cuối cùng dùng khóa giải mã bí mật Dv để tính ra Dv (Ev (P)) = P chính là bức thư ban đầu VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí Rõ ràng với cách này... thiết kế nhằm mã hóa toàn bộ thông tin đến/ đi giữa hai chương trình ứng dụng trên một cổng định trước (socket 443) Giao thức SSL được hình thành và phát triển đầu tiên năm 1994 bởi nhóm nghiên cứu Netscape và ngày nay trở thành chuẩn bảo mật thực hành trên mạng Internet Giao thức SSL được hình thành và phát triển đầu tiên năm 1994 bởi nhóm nghiên cứu Netscape và ngày nay trở thành chuẩn bảo mật thực hành... có độ đòi hỏi an toàn đặc biệt cao người ta sử dụng đại lượng Modulo của RSA này lên đến 1024 bits và thậm chí 2048 bits Trong các bài toán mã hoá công khai, chúng ta sử dụng nhiều phép toán lũy thừa với số mũ lớn Như vậy cần có thuật toán nhanh hiệu quả đối với phép toán này Trước hết ra phân tích số mũ cơ số 2, xét biểu diễn nhị phân của số mũ, sau đó sử dụng thuật toán bình phương và nhân Khái niệm... tìm ra khóa giải mã d sao cho ed ≡ 1 mod (φ(n)) Vấn đề chọn p và q : • p và q phải là những số nguyên tố lớn, ít nhẩt là cỡ 100 chữ số • p và q phải lớn xấp xỉ nhau ( về độ dài cùng 100 chữ số chẳng hạn ) V í d ụ: Cho các số nguyên tố p=17 & q=11 Tính n = pq, n = 17×11=187 Tính Ф(n)=(p–1)(q-1)=16×10=160 Chọn e : gcd(e,160)=1; Lây e=7 Xác định d: de=1 mod 160 và d < 160 VnDoc - Tải tài liệu, văn bản... đo thời gian giải mã + Có thể ngăn ngừa bằng cách làm nhiễu 1 Phương pháp vét cạn Thử tất cả các khóa có thể cho đến khi xác định được nguyên bản từ bản mã Ưu điểm : thử qua tất cả các trường hợp Nhược điểm : o Tốn thời gian, nhiều động tác thừa, tốn không gian nhớ o Không thể hiện tư duy khoa học Ví dụ: Hoạt động tìm đường Đi theo thứ tự từ trên xuống ta có : + Tại A => có 2 đường đi đến B1 và B2 =>... bản pháp luật, biểu mẫu miễn phí Giá trị cần tìm là d=23, vì 23×7=161= 10×160+1 3 Phương pháp phân tích thời gian So với DES thì RSA có tốc độ chậm hơn rất nhiều và kích thước của khóa mật lớn hơn rất nhiều nếu p và q cỡ 300 bits thì n cỡ 600 bits Phép nâng lên lũy thừa là khá chậm hơn so với n lớn, đặc biệt là nếu sử dụng phần mềm Tốc độ hiện thời: • Sử dụng phần cứng đặc chủng: n cỡ 507 bits thì đạt... cả 2 đều đã đi qua => quay lại điểm A • Tại A có 2 đường đi, đường qua B1 đã đi => B2 • … Cứ thế cho đến khi tìm được đường đi từ A -> D4 2 Phương pháp phân tích toán học Chọn 2 số nguyên tố lơn p và q Tính n= p*q Tính φ(n) = (p-1) * (q-1) Có thể dùng định lý Trung Hoa để giảm bớt phần tính toán Chọn ngẫu nhiên khóa mã e sao cho USCLN(e, φ(n)) = 1 với 1 < e < φ(n) Giải phương trình sau để tìm ra khóa

Ngày đăng: 31/07/2016, 14:13

Từ khóa liên quan

Mục lục

  • HỆ MÃ HÓA CÔNG KHAI

    • I. PHÂN BIỆT HỆ MÃ HÓA BÍ MẬT VÀ HỆ MÃ HÓA CÔNG KHAI.

    • II. NGUYÊN TẮC CẤU TẠO CỦA HỆ MÃ HÓA CÔNG KHAI.

    • TÌM HIỂU VỀ MÃ HÓA RSA

      • I. LỊCH SỬ RA ĐỜI CỦA THUẬT TOÁN RSA.

      • II. MÔ HÌNH THỰC HIỆN

      • PHÂN TÍCH THỜI GIAN PHÁ MÃ

        • 1. Phương pháp vét cạn

        • ỨNG DỤNG CỦA RSA

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

Tài liệu liên quan