1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu hệ mật ELGAMAL và các LOGARITHM rời rạc phần 2 ppt

5 478 2

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 119,24 KB

Nội dung

Vietebooks Nguyn Hong Cng Trang 6 mỗi i, 1 i k, thì có thể tính a mod (p-1) theo định lý phần d China. Để thực hiện diều đó ta giả sử rằng q là số nguyên tố. p-1 0 (mod q c ) Ta sẽ chỉ ra cách tính giá trị x = a mod q c 0 x q c -1. Ta có thể biểu diễn x theo cơ số q nh sau: trong đó 0 a i q-1 với 0 i c-1. Cũng có thể biểu diễn nh sau: a = x + q c s với s là một số nguyên nào đó. Bớc đầu tiên của thuật toán tính a 0 . Kết quả chính ở đây là: (p-1)/q (p-1)a0/q (mod p) Để thấy rõ điều đó cần chú ý rằng: Điều này đủ để cho thấy: Kết quả này đúng khi và chỉ khi: Tuy nhiên p-1 0 (mod q c+1 ) Vietebooks Nguyn Hong Cng Trang 7 Đó chính là điều cần chứng minh. Do đó ta sẽ bắt đầu bằng việc tính (p-1)/q mod p. Nếu (p-1)/q 1 (mod p) thì a 0 =0. Ngợc lại chúng ta sẽ tính liên tiếp các giá trị: = (p-1)/q mod p, 2 mod p,. . ., cho tới i (p-1)/q (mod p). với một giá trị i nào đó. Khi điều này xảy ra ta có a 0 =i. Bây giờ nếu c = 1 thì ta đã thực hiện xong. Ngợc lại, nếu c > 1 thì phải tiếp tục xác định a 1 . Để làm điều đó ta phải xác định 1 = -a o và kí hiệu x 1 = log 1 mod q c Dễ dàng thấy rằng Vì thế dẫn đến Nh vậy ta sẽ tính 1 (p-1)/ q 2 mod p và rồi tìm i sao cho Khi đó a 1 = i. Nếu c =2 thì công việc kết thúc; nếu không, phải lặp lại công việc này c-2 lần nữa để tìm a 2 ,. . .,a c-1 . Hình 5.4 là mô tả giải mã của thuật toán Pohlig - Hellman. Trong thuật toán này, là phần tử nguyên thuỷ theo modulo p, q là số nguyên tố . p-1 0 (mod q c ) và p-1 0 (mod q c+1 ) Vietebooks Nguyn Hong Cng Trang 8 Thuật toán tính các giá trị a 0 , . . ., a c-1 trong đó log mod qc Hình 5.4. Thuật toán Pohlig - Hellman để tính log mod q c . 1. Tính = (p-1)/q mod p với 0 i q-1 2. Đặt j = 0 và j = 3. While j c-1 do 4. Tính = j (p-1)/ q j+1 mod p 5. Tìm i sao cho = i 6. a j = i 7. j+1 = j -a j q j mod p 8. j = j +1 Chúng ta minh hoạ thuật toán Pohlig - Hellman (P - H) qua một ví dụ nhỏ. Ví dụ 5.3 Giả sử p=29; khi đó n = p-1 = 28 = 2 2 .7 1 Giả sử = 2 và = 18. Ta phải xác định a = log 2 18. Trớc tiên tính a mod 4 rồi tính a mod 7. Ta sẽ bắt đầu bằng việc đặt q = 2, c = 2. Trớc hết 0 = 1 và 1 = 28/2 mod 29 = 2 14 mod 29 = 28 Tiếp theo = 28/2 mod 29 = 18 14 mod 29 = 28 Vì a 0 = 1. Tiếp theo ta tính: 1 = 0 -1 mod 29 = 9 và 1 28/4 mod 29 = 9 7 mod 29 = 28 Vietebooks Nguyn Hong Cng Trang 9 Vì 1 28 mod 29 Ta có a 1 = 1. Bởi vậy a 3 ( mod 4). Tiếp theo đặt q = 7 và c = 1, ta có 28/7 mod 29 = 18 4 mod 29 = 25 và 1 = 28/7 mod 29 = 2 4 mod 29 = 16. Sau đó tính: 2 = 24 3 = 7 4 = 25 Bởi vậy a 0 = 4 và a 4 ( mod 7) Cuối cùng giải hệ phơng trình a 3 ( mod 4) a 4 ( mod 7) bằng định lý phần d China, ta nhận đợc a 11( mod 28). Điều này có nghĩa là đã tính đợc log 2 18 trong Z 29 là 11. Phơng pháp tính toán chỉ số. Phơng pháp tính chỉ số khá giống với nhiều thuật toán phân tích thừa số tốt nhất. Trong phần này sẽ xét tóm tắt về phơng pháp. Phơng pháp này chỉ dùng một cơ sở nhân tử là tập B chứa các số nguyên tố nhỏ. Giả sử B = {p 1 ,p 2 ,. . ., p B }. Bớc đầu tiên ( bớc tiền xử lý) là tìm các logarithm của B số nguyên tố trong cơ sở nhân tử. Bớc thứ hai là tính các logarithm rời rạc của phần tử bằng cách dùng các hiểu biết về các log của các phần tử trong cơ sở. Trong quá trình tiền xử lý, ta sẽ xây dựng C = B +10 đồng d thức theo modulo p nh sau: x j p 1 a 1j p2 a 2j . . . p B a Bj (mod p) 1 j C. Cần để ý rằng, các đồng d này có thể viết tơng đơng nh sau: x j a 1j log p 1 + . . . + a Bj log p B (mod p-1) 1 j C. C đồng d thức đợc cho theo B giá trị log p i (1 i B) cha biết. Ta hy vọng rằng, có một nghiệm duy nhất theo modulo p-1. Nếu đúng nh vậy thì có thể tính các logarithm của các phần tử theo cơ sở nhân tử. Vietebooks Nguyn Hong Cng Trang 10 Làm thế nào để tạo các đồng d thức có dạng mong muốn?. Một phơng pháp sơ đẳng là chọn một số ngẫu nhiên x, tính x mod p và xác định xem liệu x mod p có tất cả các thừa số của nó trong B hay không. (Ví dụ bằng cách chia thử). Bây giờ giả sử rằng đã thực hiện xong bớc tiên tính toán, ta sẽ tính giá trị mong muốn log bằng thuật toán xác suất kiểu Las Vegas. Chọn một số ngẫu nhiên s ( 1 s p-2) và tính : = s mod p Bây giờ thử phân tích theo cơ sở B. Nếu làm đợc điều này thì ta tính đợc đồng d thức dạng: s = p 1 c 1 p 2 c 2 . . . p B c B (mod p) Điều đó tơng đơng với log + s c 1 log p 1 + . . . + c B log p B ( mod p-1) Vì mọi giá trị đều đả biết trừ giá trị log nên có thể dễ dàng tìm đợc log . Sau đây là một ví dụ minh hoạ 2 bớc của thuật toán. Ví dụ 5.4. Giả sử p =10007 và = 5 là một phần tử nguyên thuỷ đợc dùnglàm cơ sở của các logarithm theo modulo p. Giả sử lấy B = {2, 3, 5, 7} làm cơ sở. Hiển nhiên là log 5 5 = 1 nên chỉ có 3 giá trị log của các phần tử trong cơ sở cần phải xác định. Để làm ví dụ, chọn một vài số mũ "may mắn" sau: 4063, 5136 và 985. Với x = 4063, ta tính 5 4063 mod 10007 = 2ì3ì7 ứng với đồng d thức log 5 2 + log 5 3 + log 5 7 4063 ( mod 10006). Tơng tự, vì 5 5136 mod 10007 = 54 = 2ì3 3 và 5 9865 mod 10007 = 189 = 3 3 ì7 ta tìm đợc hai đồng d thức nữa: log 5 2 + 3log 5 3 5136 ( mod 10006) 3log 5 3 + log 5 7 9865 ( mod 10006) . = 1 và 1 = 28 /2 mod 29 = 2 14 mod 29 = 28 Tiếp theo = 28 /2 mod 29 = 18 14 mod 29 = 28 Vì a 0 = 1. Tiếp theo ta tính: 1 = 0 -1 mod 29 = 9 và 1 28 /4 mod 29 =. tiền xử lý) là tìm các logarithm của B số nguyên tố trong cơ sở nhân tử. Bớc thứ hai là tính các logarithm rời rạc của phần tử bằng cách dùng các hiểu biết về các log của các phần tử trong cơ. mod 29 = 28 Vietebooks Nguyn Hong Cng Trang 9 Vì 1 28 mod 29 Ta có a 1 = 1. Bởi vậy a 3 ( mod 4). Tiếp theo đặt q = 7 và c = 1, ta có 28 /7 mod 29 = 18 4 mod 29 = 25 và 1

Ngày đăng: 29/07/2014, 14:20

TỪ KHÓA LIÊN QUAN

w