Nội dung: Hệ mã hóa RABIN Sơ đồ hệ mã hóa Giai đoạn tạo khóa Giai đoạn mã hóa Giai đoạn giải mã Một số ví dụ Các đặc trưng của hệ mã RABIN Tính an toàn Sử dụng dư thừa dữ liệu Tính hiệu quả
HỆ MÃ HÓA RABIN Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên: Trần Trung Hiếu Trần Thị Ánh Tuyết Designed by group NỘI DUNG CHÍNH Hệ mã hóa RABIN Sơ đồ hệ mã hóa Giai đoạn tạo khóa Giai đoạn mã hóa Giai đoạn giải mã Một số ví dụ Các đặc trưng hệ mã RABIN Tính an toàn Sử dụng dư thừa liệu Tính hiệu Designed by group SƠ ĐỒ HỆ MÃ RABIN Sơ đồ hệ mật mã: S = (P, C, K, E, D) P = C = Zn: n nguyên tố Blum, n = p.q, với p q số nguyên tố lớn đồng thời p ≡ q ≡ mod K = (K’, K”): K’ (khóa công khai) = (n, B),K” (khóa bí mật) = (p, q),0 ≤ B ≤ n-1 Các thuật toán E D xác định bởi: E(K’,x) = y = x(x+B) mod n D(K”,y) = Designed by group GIAI ĐOẠN TẠO KHÓA Đầu tiên bên tạo khóa công khai khóa bí mật tương ứng Bên A phải làm việc sau: Tạo số ngẫu nhiên lớn khác p q Tính n = p.q Khóa công khai A n, khóa bí mật A (p,q) Sau A tạo công khai khóa mã hóa công khai Lúc B muốn gửi thông điệp cho A B dùng khóa công khai A để mã hóa, sau A giải mã thông điệp khóa bí mật tương ứng Designed by group GIẢI THUÂT MÃ HÓA Khi B cần làm việc sau: Nhận khóa công khai xác thực A n Giả sử thông điệp số nguyên m khoảng [0,1, ,n-1] Tính c = m mod n Gửi mã hóa c cho A Designed by group GIẢI THUÂT GIẢI MÃ Sau A nhận thông điệp mã hóa B A có khóa bí mật n = p.q, để nhận rõ m từ c A phải làm việc sau: Tìm bậc c theo module n m1, m2, m3, m4 Bức thông điệp ban đầu m1, m2, m3, m4 Một đặc điểm cho biết rõ Chú ý: Vấn đề chọn p q ta chọn p q số nguyên tố Nhưng chọn p ≡ q ≡ mod để việc giải mã đơn giản Designed by group GIẢI THUÂT GIẢI MÃ Giải mã theo cách chọn p ≡ q ≡ mod 4: Dùng thuật toán Euclide mở rộng tìm số nguyên a b thoả mãn: ap + bq = (p+1)/4 Tính r = c Tính s = c (q+1)/4 mod p mod q Tính x = (aps + bqr) mod n Tính y = (aps - bqr) mod n bậc c mod n x, -x mod n y, –y mod n Designed by group VÍ DỤ Tạo khóa: A chọn số nguyên tố p = 331, q = 311 có p ≡ q ≡ mod Và tính n = p.q = 102941 Khóa công khai A n = 102941 Khóa bí mật A (p = 331, q = 311) Mã hóa: Giả sử bit cuối thông điệp ban đầu cần phải lăp lại trước mã hóa Để mã hóa thông điệp 10 bit m = 633(10)= 1001111001(2), B lặp lại bit cuối m để nhận thông điệp 16 bit m=1001111001111001 Theo hệ 10 m=40569 10 Designed by group VÍ DỤ Sau B tính: 2 c=m mod n = 40569 mod 102941=23053 gửi c cho A Giải mã: - Dùng thuật toán Euclide mở rộng tìm số nguyên a, b thỏa mãn: ap + bq = - Tính r=c (p+1)/4 - Tính s=c (q+1)/4 Tìm a=140, b=-149 mod p = 23053 mod q =23053 (331+1)/4 (311+1)/4 mod 331 = 144 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 Designed by group VÍ DỤ Bốn bậc 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ì có m3 có dư thừa liệu yêu cầu, A giải mã c thành m3 (bỏ bit cuối cùng) phục hồi rõ ban đầu là: m = 1001111001(2) = 633(10) Designed by group ĐỘ AN TOÀN Một người công bị động cần phục hồi rõ m từ mã c Đây giải toán bậc Vấn đề phân tích thừa số số n tính bậc theo module n tương đương mặt tính toán Vì giả sử việc phân tích thừa số số n khó mặt tính toán lược đồ mã hoá công khai Rabin chứng minh an toàn người công bị động Trong chứng minh an toàn người công bị động, lược đồ mã hoá công khai Rabin lại không chống công mã lựa chọn (chosen - ciphertext) Một công mô tả sau: người công chọn số nguyên m ∈Z*n tính c = m mod n Người công sau đưa c đến máy giải mã A, giải mã c trả lại rõ y Vì A m, m chọn ngẫu nhiên, rõ y không thiết phải giống hệt m Với khả ½, Y ≢ ±m mod n, gcd(m-y, n) thừa số n Nếu y ≡ ±m mod n, người công lại lặp lại với số m 13 Designed by group SỬ DỤNG DƯ THỪA DỮ LIỆU Một nhược điểm hệ mã hóa rabin người nhận phải có nhiệm vụ chọn rõ từ khả Sự nhầm lẫn việc giải mã tránh việc thêm liệu vào rõ cách xác định trước mã hóa Với khả cao, bậc mã c có dư thừa Người giải mã chọn làm rõ.Nếu thỏa mãn, người nhận từ chối c giả mạo Từ việc sử dụng dư thừa liệu trên, hệ mã hóa rabin không dễ bị thương tổn công mã lựa chọn Designed by group TÍNH HIỆU QUẢ Hệ mã hóa rabin có thời gian mã hóa nhanh liên quan đến tính bình phương theo module Tốc độ giải mã chậm mã hóa nhanh ngang với tốc độ giải mã hệ mã hóa RSA Designed by group THANK YOU! Designed by group ...NỘI DUNG CHÍNH Hệ mã hóa RABIN Sơ đồ hệ mã hóa Giai đoạn tạo khóa Giai đoạn mã hóa Giai đoạn giải mã Một số ví dụ Các đặc trưng hệ mã RABIN Tính an toàn Sử dụng dư thừa... thỏa mãn, người nhận từ chối c giả mạo Từ việc sử dụng dư thừa liệu trên, hệ mã hóa rabin không dễ bị thương tổn công mã lựa chọn Designed by group TÍNH HIỆU QUẢ Hệ mã hóa rabin có thời gian mã hóa. .. điểm hệ mã hóa rabin người nhận phải có nhiệm vụ chọn rõ từ khả Sự nhầm lẫn việc giải mã tránh việc thêm liệu vào rõ cách xác định trước mã hóa Với khả cao, bậc mã c có dư thừa Người giải mã chọn