Security In Information

16
Học viện Công nghệ Bưu chính Viễn thông CS.TPHCM Môn : An Ninh Mạng Viễn Thông Đề tài : Nghiên cứu và mô phỏng mật mã RABIN Giáo viên hướng dẫn: Th.s Nguyễn Đức Chí Nhóm 14: - Tăng Văn Toàn Định - Phạm Văn Dương - Bùi Đình Duy - Nguyễn Khải Duy - Phạm Quang Hưng - Nguyễn Thành Hiệp

description

PHAM VAN DUONG

Transcript of Security In Information

Page 1: Security In Information

Học viện Công nghệ Bưu chính Viễn thông CS.TPHCM

Môn : An Ninh Mạng Viễn Thông

Đề tài : Nghiên cứu và mô phỏng mật mã RABIN

Giáo viên hướng dẫn:Th.s Nguyễn Đức Chí

Nhóm 14:- Tăng Văn Toàn Định- Phạm Văn Dương- Bùi Đình Duy- Nguyễn Khải Duy- Phạm Quang Hưng- Nguyễn Thành Hiệp

Page 2: Security In Information

Nội dung chính Giới thiệu về hệ mã Rabin Hệ mã hóa Rabin• Sơ đồ hệ mã hóa• Tạo khóa• Giai đoạn mã hóa • Giai đoạn giải mã• Ví dụ

Các đặc trưng của hệ mã Rabin• Tính an toàn của hệ mã• Vấn đề sử dụng dư thừa dữ liệu

Page 3: Security In Information

Giới thiệu về hệ mã Rabin-Một đặc điểm quan trọng đáng mong muốn của bất kỳ lược đồ mã hoá nào là nó phải chứng minh được là việc phá khoá khó tương đương với việc giải một bài toán nào đó đã biết, mà người ta tin tưởng là rất khó, giống như việc phân tích ra thừa số hay giải bài toán logarit rời rạc.-Michael Rabin đã cho ra đời hệ thống mã hóa công khai đó là hệ mã Rabin.-Hệ mã hoá công khai Rabin là một ví dụ đầu tiên về một lược đồ khoá công khai đã được chứng minh về tính an toàn. Khó khăn mà một người tấn công thụ động gặp phải khi giải mã đó là độ khó tương đương về mặt tính toán với việc phân tích ra thừa số. Nghĩa là với 1 số bất kỳ (n công khai) thì sự giải mã sẽ khó tương đương với giải bài toán phân tích ra thừa số nguyên tố.

Page 4: Security In Information

Hệ mã hóa Rabin

• Sơ đồ hệ mã hóa

Sơ đồ hệ mật mã khóa công khai Rabin được cho bởi :

S = (P, C, K, E, D)

Page 5: Security In Information

Hệ mã hóa Rabin

• Sơ đồ hệ mã hóa Trong đó:

P = C = Zn, với n là một số nguyên Blum,n = p.q, với p và q là 2 số nguyên tố có tính chất p ≡ 3 mod 4, q ≡ 3 mod 4.

K = (K’, K”) : K’ (khóa công khai) = (n, B) 0 ≤ B ≤ n-1

: K” (khóa bí mật) = (p, q)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) =

Page 6: Security In Information

Hệ mã hóa Rabin

• Sơ đồ hệ mã hóaLưu đồ theo lý thuyết

Page 7: Security In Information

Hệ mã hóa Rabin

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).

• Tạo Khóa

Page 8: Security In Information

Hệ mã hóa Rabin

• Giai đoạn 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 = m2 mod nd) Gửi bản mã hoá c cho A.

Page 9: Security In Information

Hệ mã hóa Rabin

• Giai đoạn 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õ.

Page 10: Security In Information

Hệ mã hóa Rabin

• Giai đoạn giải mã Với 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)/4mod p3. Tính s = c(q+1)/4mod q4. 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. ( chính là m1, m2, m3, m4 )

Page 11: Security In Information

Hệ mã hóa Rabin

1. Tạo khóa:A chọn số nguyên tố p = 19, q = 11 có p ≡ q ≡ 3 mod 4 Và tính n = p.q = 209Khóa công khai của A là n = 209Khóa bí mật của A là (p = 19, q = 11)2. Mã hóa:Giả sử thông điệp gửi đi là chữ “ d “ ( 100 ) để mã hóa thông điệp ta cộng thêm giá trị 5 vào thông điệp.Tiếp theo ta tạo 2 bản tin c1 và c2 gửi tới A.- c1 = 100 mod 209 = 177- c2 = 105 mod 209 = 157

• Ví dụ

Page 12: Security In Information

Hệ mã hóa Rabin• Ví dụ

3.. Giải mã: [ với c1 = 177 ( để so sánh ) ; c2 = 157 ( để giải mã ) ]i. 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= -4, b= 7

ii. Tính r=c(p+1)/4 mod p = 157(19+1)/4 mod 19 = 9iii. Tính s=c(q+1)/4 mod q =157(11+1)/4 mod 11 = 5iv. Tính x=(aps+bqr) mod n = (-4*19*5+7*11*9) mod 209 = 104v. Tính y=(aps-bqr) mod n = (-4*19*5-7*11*9) mod 209 = 181

Bốn căn bậc 2 của c mod n là: x, -x mod n, y, -y mod n

m1= 104(10) => m1 - 5 = 99 => c = 187(10)

m2= 105(10) => m2 – 5 =100 => c = 177(10)

m3= 181(10) => m3 – 5 = 176 => c = 44(10)

m4= 28(10) => m4 – 5 = 23 => c = 111(10)

Vì chỉ có bản tin m2 có c giống với bản tin c1 nên suy ra m2 chính là bản tin gốc.

Page 13: Security In Information

Các đặc trưng của hệ mã Rabin

• Tính an toàn của hệ mã-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 lại được một cuộc tấn công bản mã lựa chọn (chosen-ciphertext).

Page 14: Security In Information

• Vấn đề sử dụng dư thừa dữ liệu

Các đặc trưng của hệ mã Rabin

-Một nhược điểm của hệ mã hoá công khai Rabin là người nhận phải có nhiệm vụ chọn bản rõ đúng từ 4 khả năng. Sự nhầm lẫn trong việc giải mã có thể vượt qua một cách dễ dàng bằng cách thêm dư thừa dữ liệu vào bản rõ gốc một cách xác định trước khi mã hoá.-Với khả năng cao, chỉ 1 trong 4 căn bậc 2 của bản mã c là m1, m2, m3, m4 có được dư thừa đó. Người giải mã sẽ chọn bản này làm bản rõ. Nếu không có căn bậc 2 nào của c có dư thừa này, người nhận sẽ từ chối c, vì nó là giả mạo.

Page 15: Security In Information

• Vấn đề sử dụng dư thừa dữ liệu

Các đặc trưng của hệ mã Rabin

-Nếu sử dụng dư thừa dữ liệu như trên, lược đồ Rabin sẽ không còn dễ bị thương tổn bởi các cuộc tấn công bản mã lựa chọn.-Vì vậy lược đồ mã hoá khoá công khai Rabin, được sửa đổi một cách thích hợp bằng cách thêm dư thừa dữ liệu, là rất được quan tâm ứng dụng.

Page 16: Security In Information

Cảm ơn thầy và tất cả các bạn đã chú ý

lắng nghe !