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 3 pps

5 551 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 136,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ờ

Trang 1

Bây giờ ta có 3 đồng dư thức theo 3 giá trị log chưa biết Giải các phương trình đồng dư này, ta có log52 = 6578, log53 = 6190, log57 = 1301

Bây giờ giả sử ta cần tìm log59451, ta chọn số mũ "ngẫu nhiên" s=7736 và tính:

9451ì57736 mod 10007 = 8400

Vì 8400 = 24315271 các thừa số trong B nên ta nhận được:

log59451 = 4log52 + log53 + log55 + log57 - s mod 10006

= 4ì6578 + 6190 + 2ì1 + 1310 - 7736 mod 10006 = 6057

Kiểm tra lại ta thấy rằng 56057 ≡ 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ố ,

α∈Zp* là phần tử nguyên thuỷ, β ∈ Zp* và i là một số nguyên sao cho 1

≤ i ≤ ⎣log2(p-1)⎦

Mục tiêu:Tính Li(β) 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 tưng 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

Trang 2

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: Zp* ặZp* được định nghĩa như sau:

f(x) = x2 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) = { x2 mod p : x ∈ Zp*} Trước tiên ta thấy rằng, f(x) = f(p-x) Tiếp theo xét thấy:

w2 ≡ x2 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 Zp* 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 Zp* Khi đó

αa∈QR(p) nếu a chẵn Vì (p-1)/2 phần tử α0mod 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 L1(β) = 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)

Trang 3

Như vậy, ta đã có công thức hữu hiệu sau để tính L1(β):

Bây giờ xét việc tính Li(β) với i > 1 Giả sử

p-1 = 2s t trong đó t là số lẻ Khi đó có thể chỉ ra rằng, dễ dàng tính được Li(β) nếu 1≤s Mặt khác, việc tính Ls+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 Ls+1(β) để tính các logarithm rời rạc trong Zp

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 L2(β) để giải bài toán logarithm rời rạc trong Zp

Nếu β là một thặng dư bình phương trong Zp 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:

L1(β) ≠ L1(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 (chưa 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ị L2(β), vì

L2(β) = L1(α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ị xi 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)

L1(β)=

1 trong các trường hợp còn lại

Trang 4

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 L1(γ) và L2(γ) với mọi mọi giá trị γ∈Z19*.( Nói chung L1 có thể tính được một cách hiệu quả bằng tiêu chuẩn Euler, còn

L2 đượ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, log26 = 11102 = 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 x0 = L1(β)

2 β = β/αx0 mod p

3 i =1

4 While β ≠ 1 do

5 xi = L2(β)

6 γ = β(p+1)/4 (mod p)

7 if L1(γ) = xi 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 L1 và L2 với p =19, α = 2

γ L1(γ) L2(γ) γ L1(γ) L2(γ) γ L1(γ) L2(γ)

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

Trang 5

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:

Yi = ⎣x/2i+1⎦

Hình 5.7 Tính log 2 6 trong Z 19

1 x0 = 0

2 β =6

3 i =1

5 x1 = L2(6) = 1

6 γ = 5

7 L1(5) = 0 ≠ x1

10 β =14

11 i =2

12 i =2

5 x2 = L2(7) =1

6 γ = 11

7 L1(11) = 0 ≠ x2

10 β =8

11 β =4

12 i = 3

5 x3 = L2(4) = 1

6 γ =17

7 L1(17) = 0 ≠ x3

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 i≥1,

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 i≥0 Bây giờ để ý rằng: 2Y = Y - x

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

HÌNH ẢNH LIÊN QUAN

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 ( β ) - Tìm hiểu hệ mật ELGAMAL và các LOGARITHM rời rạc phần 3 pps
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 ( β ) (Trang 4)
Bảng 5.1. Các giá trị của L 1  và L 2  với p =19, α = 2 - Tìm hiểu hệ mật ELGAMAL và các LOGARITHM rời rạc phần 3 pps
Bảng 5.1. Các giá trị của L 1 và L 2 với p =19, α = 2 (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w