Vietebooks Nguyn Hong Cng Trang 11 Bây giờ ta có 3 đồng d thức theo 3 giá trị log cha biết. Giải các phơng trình đồng d này, ta có log 5 2 = 6578, log 5 3 = 6190, log 5 7 = 1301. Bây giờ giả sử ta cần tìm log 5 9451, ta chọn số mũ "ngẫu nhiên" s=7736 và tính: 9451ì5 7736 mod 10007 = 8400 Vì 8400 = 2 4 3 1 5 2 7 1 các thừa số trong B nên ta nhận đợc: log 5 9451 = 4log 5 2 + log 5 3 + log 5 5 + log 5 7 - s mod 10006 = 4ì6578 + 6190 + 2ì1 + 1310 - 7736 mod 10006 = 6057. Kiểm tra lại ta thấy rằng 5 6057 9451 ( mod 10007). Đã có nhiều nghiên cứu phân tích mò mẫm nhiều kiểu thuật toán khác nhau. Với giả thiết hợp lý, Thời gian chạy tiệm cận của giai đoạn tiền tính toán này cỡ và thời gian để tính một giá trị logarithm rời rạc riêng là khoảng Hình 5.5. Bít thứ i của logarithm rời rạc. Bản chất của bài toán: I = (p, , , i) trong đó p là số nguyên tố , Z p * là phần tử nguyên thuỷ, Z p * và i là một số nguyên sao cho 1 i log 2 (p-1). Mục tiêu:Tính L i () là bít thấp nhất thứ i của log . (với và p cho trớc) 5.1.2. Độ bảo mật tng bít của các logarithm rời rạc. Bây giờ ta xem xét vấn đề về thông tin bộ phận của các logarithm rời rạc và thử xem việc tính các bít riêng của các logarithm rời rạc là khó hay dễ. Cụ thể , xét bài toán trình bày trên hình 5.5. Bài toán này đợc gọi là bài toán về bít thứ i. Vietebooks Nguyn Hong Cng Trang 12 Trớc tiên, ta sẽ chỉ ra rằng, bít thấp nhất của các logarithm rời rạc rất dễ tính toán. Nói cách khác, nếu i = 1 thì bài toán về bít thứ i có thể giải đợc một cách hiệu quả. Điều này rút ra từ tiêu chuẩn Euler liên quan đến thặng d bình phơng theo modulo p, với p là số nguyên tố . Xét ánh xạ f: Z p * ặZ p * đợc định nghĩa nh sau: f(x) = x 2 mod p Nếu kí hiệu QR(p) là tập các thặng d bình phơng theo modulo p thì QR(p) = { x 2 mod p : x Z p * } Trớc tiên ta thấy rằng, f(x) = f(p-x). Tiếp theo xét thấy: w 2 x 2 mod p khi và chỉ khi p | (w-x)(w+x) điều này sẽ xảy ra khi và chỉ khi w x mod p. Từ đây rút ra: | f -1 (y) | = 2 với mọi y QR(p) và bởi vậy: | QR(p) = (p-1)/2 Điều đó có nghĩa là có đúng một nữa các thặng d trong Z p * là các thặng d bình phơng và một nữa không phải. Bây giở giả sử rằng, là một phần tử nguyên thuỷ của Z p * . Khi đó a QR(p) nếu a chẵn. Vì (p-1)/2 phần tử 0 mod p, 2 mod p,. . ., p-3 mod p đều là các phần tử khác nhau nên: QR(p) = { 2i mod p: 0 i (p-3)/2} Bởi vậy, là thặng d bình phơng khi và chỉ khi log là chẵn, tức khi và chỉ khi L 1 () = 0. Tuy nhiên theo tiêu chuẩn Euler là thặng d bình phơng khi và chỉ khi (p-1)/2 1 (mod p) Vietebooks Nguyn Hong Cng Trang 13 Nh vậy, ta đã có công thức hữu hiệu sau để tính L 1 (): Bây giờ xét việc tính L i () với i > 1. Giả sử p-1 = 2 s t trong đó t là số lẻ. Khi đó có thể chỉ ra rằng, dễ dàng tính đợc L i () nếu 1s. Mặt khác, việc tính L s+1 () chắc chắn là khó nếu dùng thuật toán giả định bất kì cho việc tính L s+1 () để tính các logarithm rời rạc trong Z p . Ta sẽ chứng minh kết quả này trong trờng hợp s = 1. Chính xác hơn, nếu p 3 (mod 4)là số nguyên tố thì ta sẽ chỉ ra cách sử dụng một thuật toán giả định bất kì tính L 2 () để giải bài toán logarithm rời rạc trong Z p . Nếu là một thặng d bình phơng trong Z p và p 3 ( mod 4) thì (p+1)/2 mod p là hai giá trị căn bậc hai của modulo p. Một chú ý cũng quan trọng là với bất kì 0: L 1 () L 1 (p-). nếu p 3 (mod 4). Ta sẽ thấy điều đó nh sau. Giả sử a (mod p) thì a+(p-1)/2 - (mod p) Vì p 3 (mod 4) nên số nguyên (p-1)/2 là một số lẻ. Từ đây rút ra kết quả. Bây giờ giả sử = a với số mũ chẵn a (cha biết) nào đó. Khi đó hoặc: (p+1)/4 a/2 (mod p) hoặc - (p+1)/4 a/2 (mod p) Ta có thể xác định giá trị nào trong hai giá trị có thể này là đúng nếu biết giá trị L 2 (), vì L 2 () = L 1 ( a/2 ) Điều này đợc khai thác trong thuật toán đợc mô tả trong hình 5.6. ở cuối thuật toán, các giá trị x i là các bít biểu diễn nhị phân của log , nghĩa là: 0 nếu (p-1)/2 1( mod p) L 1 ()= 1 tron g các trờn g hợ p còn lại Vietebooks Nguyn Hong Cng Trang 14 Dới đây là một ví dụ nhỏ để minh hoạ. Ví dụ 5.5. Giả sử p =19, = 2 và = 6. Vì trong ví dụ này, các giá trị quá nhỏ nên có thể lập bảng các giá trị của L 1 () và L 2 () với mọi mọi giá trị Z 19 * .( Nói chung L 1 có thể tính đợc một cách hiệu quả bằng tiêu chuẩn Euler, còn L 2 đợc tính theo thuật toán giả định). Các giá trị này đợc cho trên bảng 5.1. Thuật toán đợc tiến hành nh trên hình 5.7. Bởi vậy, log 2 6 = 1110 2 = 14, ta có thể dễ dàng kiểm tra đợc giá trị này. Hình 5.6. Tính các logarithm rời rạc trong Z p với p 3 ( mod 4) khi biết trớc thuật toán giả định L 2 ( ). 1. x 0 = L 1 () 2. = / x 0 mod p 3. i =1 4. While 1 do 5. x i = L 2 () 6. = (p+1)/4 (mod p) 7. if L 1 () = x i then 8. = 9. else 10. = p - 11. = / x i mod p 12. i = i+1 Bảng 5.1. Các giá trị của L 1 và L 2 với p =19, = 2 L 1 () L 2 () L 1 () L 2 () L 1 () L 2 () 1 0 0 7 0 1 13 1 0 2 1 0 8 1 1 14 1 1 3 1 0 9 0 0 15 1 1 4 0 1 10 1 0 16 0 0 5 0 0 11 0 0 17 0 1 6 0 1 12 0 0 18 1 0 Vietebooks Nguyn Hong Cng Trang 15 Có thể đa ra một chứng minh hình thức cho tính đúng đắn của thuật toán bằng phơng pháp quy nạp. Kí hiệu Với i 0, ta định nghĩa: Y i = x/2 i+1 Hình 5.7 Tính log 2 6 trong Z 19 1. x 0 = 0 2. =6 3. i =1 5. x 1 = L 2 (6) = 1 6. = 5 7. L 1 (5) = 0 x 1 10. =14 11. i =2 12. i =2 5. x 2 = L 2 (7) =1 6. = 11 7. L 1 (11) = 0 x 2 10. =8 11. =4 12. i = 3 5. x 3 = L 2 (4) = 1 6. =17 7. L 1 (17) = 0 x 3 10. = 2 11. =1 12. i = 4 4. DONE Cũng vậy ta xác định 0 là giá trị của ở bớc 2 trong thuật toán; và với i1, ta xác định i là giá trị của ở bớc 11 trong bớc lặp thứ i của vòng While. Có thể chứng minh bằng phơng pháp quy nạp rằng: i 2Y i (mod p) với mọi i0. Bây giờ để ý rằng: 2Y i = Y i-1 - x i . bảo mật tng bít của các logarithm rời rạc. Bây giờ ta xem xét vấn đề về thông tin bộ phận của các logarithm rời rạc và thử xem việc tính các bít riêng của các logarithm rời rạc là khó hay dễ cận của giai đoạn tiền tính toán này cỡ và thời gian để tính một giá trị logarithm rời rạc riêng là khoảng Hình 5.5. Bít thứ i của logarithm rời rạc. Bản chất của bài toán: I = (p,. Bây giờ ta có 3 đồng d thức theo 3 giá trị log cha biết. Giải các phơng trình đồng d này, ta có log 5 2 = 6578, log 5 3 = 6190, log 5 7 = 130 1. Bây giờ giả sử ta cần tìm log 5 9451, ta