Tiểu luận môn mật mã an toàn thông tin Hệ mã hóa Rabin

5 2.1K 38
Tiểu luận môn mật mã an toàn thông tin Hệ mã hóa Rabin

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

Thông tin tài liệu

Tiểu luận môn mật mã an toàn thông tin Hệ mã hóa Rabin Một người tấn công bị động cần phục hồi bản rõ m từ bản mã c. Đây chính là giải bài toán căn bậc 2. Vấn đề phân tích ra thừa số số n và tính căn bậc 2 theo module n là tương đương về mặt tính toán. Vì vậy giả sử việc phân tích ra thừa số số n là khó về mặt tính toán thì lược đồ mã hoá công khai Rabin được chứng minh là an toàn đối với một người tấn công bị động.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ &&& Báo Cáo Chủ đề: “Hệ mã hóa Rabin” Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên thực hiện: Bùi Mạnh Tiệp, K20 Lớp: K20 KTPM Mã học viên: 13025185 Hà Nội, 03/2014 Mục lục 1. Phương pháp mã hóa Rabin 1.1. Giới thiệu 1.2. Sơ đồ hệ mã hóa Rabin Một sơ đồ chữ ký số là bộ 5 ( P, C, K, E, D) thoả mãn các điều kiện sau : P=C=Zn, n là số nguyên tố Blum, n=p.q, với p và q là 2 số nguyên tố lớn đồng thời p ≡ q ≡ 3(mod 4). K: là tập hữu hạn các khóa, K gồm có 2 phần K=(K’,K’’). K’=(p,q) là khóa bí mật dùng giải mã, K’’=n là khóa công khai để mã hóa. Các thuật toán E và D được xác định bởi: E(K’,x) = y = x(x+B) mod n D(K”,y) = 1.2.1. Tạo khóa Mỗi bên tạo 1 khoá công khai và 1 khoá bí mật tương ứng. Bên A phải làm các việc sau: 1. Tạo 2 số ngẫu nhiên lớn và khác nhau p và q, p gần bằng q. 2. Tính n = p*q. 3. Khoá công khai của A là n, khoá bí mật của A là (p, q). 1.2.2. Mã hóa B cần làm các việc sau: a) Nhận khoá công khai đã được xác thực của A là n. b) Giả sử thông điệp là 1 số nguyên m trong khoảng [0, 1, …, n-1] c) Tính c = m 2 mod n d) Gửi bản mã hoá cho A. 1.2.3. Giải mã A có khoá bí mật là p và q, với n= p*q, để nhận được bản rõ m, A phải làm các việc sau: a) Tìm 4 căn bậc 2 của c theo module n là m1, m2, m3, m4. b) Bức thông điệp ban đầu có thể là m1, m2, m3, hoặc m4. Một đặc điểm nào đó sẽ cho biết cái nào là bản rõ. Nếu p và q được chọn để cả p ≡q ≡ 3 mod 4 thì thuật toán để tìm 4 căn bậc 2 của c mod n có thể đơn giản như sau: 1. Dùng thuật toán Euclide mở rộng tìm 2 số nguyên a và b thoả mãn: ap + bq =1. 2. Tính r = c (p+1)/4 mod p 3. Tính s = c (q+1)/4 mod q 4. Tính x = (aps + bqr) mod n. 5. Tính y = (aps - bqr) mod n. 6. Bốn căn bậc 2 của c mod n là x, -x mod n, y và–y mod n. 1.3. Ví dụ Tạo khóa A chọn số nguyên tố p = 331, q = 311 có p ≡ q ≡ 3 mod 4 Và tính n = p.q = 102941 Khóa công khai của A là n = 102941 Khóa bí mật của A là (p = 331, q = 311) Mã hóa Giả sử 6 bit cuối cùng của thông điệp ban đầu cần phải được lăp lại trước khi mã hóa. Để mã hóa thông điệp 10 bit m = 633 (10) = 1001111001 (2) , B lặp lại 6 bit cuối cùng của m để nhận được thông điệp 16 bit m=1001111001111001. Theo hệ 10 thì m=40569. Sau đó B tính: c=m 2 mod n = 40569 2 mod 102941=23053 và gửi c cho A. Giải mã - Dùng thuật toán Euclide mở rộng tìm 2 số nguyên a, b thỏa mãn: ap + bq = 1 Tìm được a=140, b=-149. - Tính r=c (p+1)/4 mod p = 23053 (331+1)/4 mod 331 = 144. - Tính s=c (q+1)/4 mod q =23053 (311+1)/4 mod 311 = 139. - Tính x=(aps+bqr) mod n = (6052060-6672816) mod 102941= -25674 - Tính y=(aps-bqr) mod n = (6052060+6672816) mod 102941= 40569 Bốn căn bậc 2 của c mod n là: x, -x mod n, y, -y mod n - m1= 25674 (10) = 644A (H) = 0110010001001010 (2) - m2=77267 (10) = 2DD3 (H) = 0010110111010011 (2) - m3=40569 (10) = 9E79 (H) = 1001111001111001 (2) - m4=62372 (10) = F3A4 (H) = 1111001110100100 (2) Vì chỉ có m3 có dư thừa dữ liệu yêu cầu, A giải mã c thành m3 (bỏ 6 bit cuối cùng) và phục hồi bản rõ ban đầu là: m = 1001111001 (2) = 633 (10) 2. Độ an toàn của hệ mã hóa Rabin 2.1. Độ an toàn - Một người tấn công bị động cần phục hồi bản rõ m từ bản mã c. Đây chính là giải bài toán căn bậc 2. Vấn đề phân tích ra thừa số số n và tính căn bậc 2 theo module n là tương đương về mặt tính toán. Vì vậy giả sử việc phân tích ra thừa số số n là khó về mặt tính toán thì lược đồ mã hoá công khai Rabin được chứng minh là an toàn đối với một người tấn công bị động. - Trong khi được chứng minh là an toàn đối với một người tấn công bị động, lược đồ mã hoá công khai Rabin lại không chống nổi một cuộc tấn công bản mã lựa chọn (chosen-ciphertext). Một cuộc tấn công như vậy có thể mô tả như sau: người tấn công chọn 1 số nguyên m ∈Z* n và tính c = m 2 mod n. Người tấn công sau đó đưa c đến máy giải mã của A, giải mã c và trả lại 1 bản rõ y nào đó. Vì A không biết m, và m được chọn ngẫu nhiên, bản rõ y không nhất thiết phải giống hệt m. Với khả năng ½, y ±m mod n, khi đó gcd(m-y, n) là một trong các thừa số của≢ n. Nếu y ≡ ±m mod n, người tấn công lại lặp lại với một số m mới. 3. Chương trình Các bước thực hiện: 1. Click button Tạo P để tạo số nguyên tố P 2. Click button Tạo Q để tạo số nguyên tố Q 3. Nhập nội dung cần mã hóa 4. Click button Mã hóa 5. Click button Giải mã [...]... 1111001110100100(2) Vì chỉ có m3 có dư thừa dữ liệu yêu cầu, A giải mã c thành m3 (bỏ 6 bit cuối cùng) và phục hồi bản rõ ban đầu là: m = 1001111001(2) = 633(10) 12 ĐẶC ĐIỂM CỦA HỆ MÃ RABIN Ưu điểm Độ an toàn đã được chứng minh tương đương với độ khó của bài toán phân tích một số ra thừa số nguyên tố 13 ĐẶC ĐIỂM CỦA HỆ MÃ RABIN Nhược điểm Từ một bản mã lại nhận được tới bốn bản rõ, dẫn đến khó khăn trong việc... trong việc xác định đâu là bản rõ thực sự và đâu là bản rõ phát sinh thêm Điều này không những làm chậm tốc đôô thực hiêôn của thuật toán giải mã, mà còn gây khó khăn, nhập nhằng trong việc giải mã 14 Designed by group 9 CHƯƠNG TRÌNH 15 Designed by group 9 THANK YOU! 16 Designed by group 9 ...VÍ DỤ Sau đó B tính: 2 2 c=m mod n = 40569 mod 102941=23053 và gửi c cho A 3 i Giải mã: Dùng thuật toán Euclide mở rộng tìm 2 số nguyên a, b thỏa mãn: ap + bq = 1 Tìm được a=140, b=-149 ii Tính r=c(p+1)/4 mod p = 23053(331+1)/4 mod 331 = 144 iii Tính s=c(q+1)/4 mod q =23053(311+1)/4 mod 311 = 139 iv v Tính x=(aps+bqr) . CÔNG NGHỆ &&& Báo Cáo Chủ đề: Hệ mã hóa Rabin Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên thực hiện: Bùi Mạnh Tiệp, K20 Lớp: K20 KTPM Mã học viên: 13 025 185 Hà Nội, 03 /20 14 Mục. pháp mã hóa Rabin 1.1. Giới thiệu 1 .2. Sơ đồ hệ mã hóa Rabin Một sơ đồ chữ ký số là bộ 5 ( P, C, K, E, D) thoả mãn các điều kiện sau : P=C=Zn, n là số nguyên tố Blum, n=p.q, với p và q là 2 số. tính: c=m 2 mod n = 40569 2 mod 1 029 41 =23 053 và gửi c cho A. Giải mã - Dùng thuật toán Euclide mở rộng tìm 2 số nguyên a, b thỏa mãn: ap + bq = 1 Tìm được a =140 , b= -149 . - Tính r=c (p+1)/4 mod p = 23 053 (331+1)/4

Ngày đăng: 19/10/2014, 12:38

Từ khóa liên quan

Mục lục

  • 1. Phương pháp mã hóa Rabin

    • 1.1. Giới thiệu

    • 1.2. Sơ đồ hệ mã hóa Rabin

      • 1.2.1. Tạo khóa

      • 1.2.2. Mã hóa

      • 1.2.3. Giải mã

      • 1.3. Ví dụ

      • 2. Độ an toàn của hệ mã hóa Rabin

        • 2.1. Độ an toàn

        • 3. Chương trình

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

Tài liệu liên quan