.Mô tả giải thuật Rabin

Một phần của tài liệu đồ án tốt nghiệp tim hiểu mật ma học va ứng dụng trong xac thực chữ ký điện tử (Trang 67 - 68)

4.3 .Hệ mật Rabin

4.3.1 .Mô tả giải thuật Rabin

a. Tạo khóa

Mỗi đầu tạo một khóa cơng khai và một khóa bí mật tương ứng theo các bước sau: (1) Tạo hai số nguyên lớn, ngẫu nhiên và phân biệt p và q có kích thước xấp xỉ

nhau (2) Tính n=pq

(3) Khóa cơng khai là n, khóa bí mật là cặp số (p,q) b. Mã hóa

A phải thực hiện các bước sau: (1) Nhận khóa cơng khai của B: n

(2) Biểu thị bản tin dưới dạng một số nguyên m nằm trong dải [0,n-1] (3) Tính c=m2 mod n

(4) Gửi bản mã c cho B c. Giải mã

Để khôi phục bản rõ m từ c, B phải thực hiện các bước sau: Tìm 4 căn bậc hai của c mod n là m1, m2, m3 hoặc m4

Thông báo cho người gửi là một trong 4 giá trị m1, m2, m3 hoặc m4 , bằng một cách nào đó B sẽ quyết định m là giá trị nào

Ví dụ

 Tạo khóa:B chọn các số nguyên tố p=277 và q=331. B tính n=277*331= 91687.Khóa cơng khai của B là 91687. Khóa bí mật của A là cặp số (p=277, q=331)

 Mã hóa:Giả sử 6 bit cuối cùng của bản gốc được lặp lại trước khi thực hiện mã hóa. Việc thêm vào các bit thừa này nhằm giúp cho bên giải mã nhận biết được bản mã đúng

Để mã hóa ban tin 10 bit m=1001111001, A sẽ lặp lại 6 bit cuối cùng của m để có được bản tin 16 bit sau: m=1001111001111001, biểu diễn thập phân tương ứng là m=40569

Sau đó A tính c = m2 mod n = 405692 mod 91687 = 62111 rồi gửi c cho B  Giải mã:Để giải mã bản mã c, B tính bốn giá trị căn bậc hai của c mod n: m1 = 69654, m2 = 220033, m3 = 40596, m4 = 51118

Biểu diễn nhị phân tương ứng của các số trên là : m1 = 10001000000010110, m2 = 101011000010001,

m3 = 1001111001111001, m4 = 1100011110101110

vì chỉ có m3 mơi scos độ thừa cần thiết nên B sẽ giải mã c bằng m3 và khôi phục bản tin gốc là m = 1001111001

Một phần của tài liệu đồ án tốt nghiệp tim hiểu mật ma học va ứng dụng trong xac thực chữ ký điện tử (Trang 67 - 68)

Tải bản đầy đủ (PDF)

(89 trang)