Phƣơng phỏp hỡnh thành chữ kớ số

Một phần của tài liệu nghiên cứu và phát triển phương pháp rút gọn chữ kí số (Trang 54 - 79)

3.2.1. Phương phỏp rỳt gọn chữ kớ số

Nhƣ ta đó biết từ chƣơng trƣớc phƣơng phỏp kớ bằng thuật toỏn RSA là dựa trờn tớnh khú của bài toỏn phõn tớch một số nguyờn lớn ra cỏc thừa số nguyờn tố. Bằng việc lựa chọn ra hai số nguyờn tố lớn pq. Ta cú cặp khúa cụng khai là (e, n)

và khúa bớ mật là d. Trong đú ta cú: n = p.q và ф(n) = (p-1)(q-1) ed (mod ф (n)) = 1

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Độ an toàn của thuật toỏn phụ thuộc vào việc tớm ra giỏ trị d dễ hay khú thụng qua hàm ф(n). Kẻ giả mạo chữ kớ muốn tỡm ra hàm ф(n) trƣớc hết phải giải quyết đƣợc bài toỏn phõn tớch số nguyờn lớn ra cỏc thừa số nguyờn tố. Do đú việc phõn tớch ra thừa số nguyờn tố của n phải đảm bảo bớ mật (trong khoảng thời gian nhất định khụng thể phõn tớch đƣợc). Gọi M là giỏ trị độ dài thụng điệp cần kớ và H(M) là hàm băm từ thụng điệp M.

H = H(M)

Dựa vào thuật toỏn RSA ta cú chữ kớ số

Phương trỡnh tạo chữ kớ số

S = Hd (mod n)

Phương trỡnh kiểm tra chữ kớ số

H = Se (mod n)

Trong RSA thỡ độ dài chữ kớ xấp xỉ bằng . Độ dài an toàn ≥ 1024 bit (Đõy là giỏ trị tối thiểu của một thụng điệp).

Để giảm độ dài chữ kớ số dựa trờn tớnh khú của việc phõn tớch một số nguyờn lớn ra thừa số nguyờn tố ta dựa vào việc phỏt triển hai phần tử (k,g). Thuật toỏn sẽ sinh ra cặp khúa cụng khai là (n, α) trong đú:

α Gn là nhúm cyclic

là bậc của số nguyờn α theo modulo n Sao cho αδ (mod n)

Giả sử cú δ là ƣớc số của p-1 nhƣng δ khụng là ƣớc của p-1. Nhƣ vậy việc tạo ra α dựa vào phƣơng trỡnh sau

h là một số ngẫu nhiờn nào đú sao cho gcd (h,n) = 1

Với sao cho thỡ luụn đỳng (mod n) = 1

Vỡ theo định lớ euler ta cú (mod n) = 1

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Ta cú

Dựa vào thuật toỏn euclide mở rộng ta sẽ phõn tớch đƣợc n, nhƣ thế tỡm đƣợc q và việc tỡm ra d thụng qua hàm ф(n) khụng phải là bài toỏn khú nữa. Sau đõy ta sẽ xem xột 2 cỏch sau để tạo ra δ:

Cỏch 1

Chỳng ta sẽ tớnh α theo cỏch khỏc, giả sử δ là ƣớc số của q-1 và p-1 nhƣng δ2 khụng chia hết cho q-1 hoặc p-1. Ta cú phƣơng trỡnh sau

mod n

Với L(n) = lcm[q-1,p-1] đƣợc gọi là hàm euler mở rộng. α= huv

mod n ≠ 1 trong đú

Nếu h đồng thời là phần tử nguyờn thủy modulo p và modulo q thỡ α mod p ≠ 1 và α mod q ≠ 1 và nhƣ thế (α-1,n) = 1.

Cỏch 2

Cỏch thứ hai để tớnh α cũng thụng qua hợp tử δ, δ đƣợc định nghĩa lại nhƣ sau: δ = δ‟ δ‟‟

khi đú và δ‟ khụng chia hết cho q-1 và δ‟‟ khụng chia hết cho p-1 Nhƣ vậy để tạo ra α ta cú phƣơng trỡnh α = hL(n)/δ (mod n) ≠ 1 α = huv (mod n) ≠ 1 với và Trong trƣờng hợp 1 ta cú n = q*p p = u δ + 1 và q = v δ + 1 =>n = (u δ + 1)( v δ + 1)

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

=> n = δ2uv + δ(u+v)+1 => n-1 = δ(δuv+u+v)

Nếu n khụng đủ lớn thỡ việc tỡm ra δ cũng khụng quỏ khú thụng qua việc phõn tớch n-1 ra thừa số nguyờn tố. Nhƣ vậy ta sẽ sử dụng cỏch 2 để tạo ra khúa bớ mật. Với điều kiện (α-1, n) = 1, nếu một trong hai giỏ trị δ‟ và δ‟‟ nhỏ, vớ dụ δ‟ thỡ theo cỏch 2 để tớnh δ ta cú phƣơng trỡnh sau :

α = hL(n)/δ (mod n) ≠ 1 

Nhƣ thế ra cú vậy nếu kẻ giả mạo chữ kớ tỡm đƣợc δ‟ và thử từng giỏ trị khỏc nhau của δ‟ cựng với ràng buộc ( thỡ kẻ tấn cụng cú thể phõn tớch đƣợc số n. Từ cỏc điều trờn ta thấy yờu cầu về cỏc giỏ trị của δ‟ và δ‟‟ là phải đủ lớn. Vỡ vậy chỳng ta giả sử giỏ trị δ‟ và δ‟‟ cú độ dài tối thiểu là 80 bớt. Vậy giỏ trị δ sẽ cú độ dài tối thiểu là ≥ 160 bớt.

3.2.2. Sơ đồ thuật toỏn

Để rỳt gọn độ dài chữ kớ số xuống cũn 320 bớt ta dựa vào phƣơng trỡnh xỏc minh chữ kớ dƣới đõy:

(mod n)) (3.1) Với v là một số nguyờn tố cú độ dài 80 bớt k, g là cặp khúa

M là thụng điệp cần kớ

H là giỏ trị hàm băm đối với thụng điệp cần kớ Nhƣ vậy chữ kớ đƣợc sinh ra theo cỏc bƣớc sau

Bước 1: Chọn một số ngẫu nhiờn U và tớnh H (mod n))

Bước 2: Giải đồng thời 2 phƣơng trỡnh đồng dƣ sau

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

k = H + g (3.2) Nhƣ vậy độ dài cỏc thành phần chữ kớ số sẽ là

Độ dài chữ kớ số mới lỳc này sẽ là: , trong trƣờng hợp hàm băm cú độ an toàn là 160 bit. Chỳ ý nếu khụng sử dụng v thỡ sơ đồ chữ kớ số mới sẽ khụng an toàn, trong trƣờng hợp này khúa bớ mật δ khụng sử dụng để tớnh toỏn độ dài chữ kớ nếu chỳng ta cú U > H.

Ngƣời ta cú thể đơn giản húa phƣơng trỡnh xỏc minh bằng cỏch bỏ v nhƣ phƣơng trỡnh sau:

(3.3)

Trong trƣờng hợp này chữ kớ số mới đƣợc xỏc minh dựa trờn cỏc cụng thức sau:

(3.4)

Chỳ ý: Khi tạo ra chữ kớ số mới thỡ việc tạo ra cặp số δ, k tƣơng ứng sao cho gcd (δ, k) > 1 cú xỏc suất xảy ra khụng lớn (Nếu trƣờng hợp nhƣ vậy xảy ra, ngƣời kớ phải lặp lại cỏc bƣớc tạo ra chữ kớ bằng cỏch sử dụng với giỏ trị U khỏc). Nếu thỡ giỏ trị g sẽ đƣợc tớnh ra lỳc đú việc sử dụng δ sẽ khụng cũn ý nghĩa nữa. Tuy nhiờn với giỏ trị (ở đõy ta sử dụng hàm băm SHA - 1) đủ lớn để xỏc suất xảy ra cỏc trƣờng hợp trờn là khỏ nhỏ cú thể tin tƣởng đƣợc.

3.2.3. Thảo luận về độ an toàn của sơ đồ chữ kớ số mới

Kẻ giả mạo chữ kớ tấn cụng vào sơ đồ chữ kớ trờn cú thể theo hai cỏch sau. 1. Với cặp khúa cụng khai (n, ) kẻ giả mạo chữ kớ sẽ dựa vào đú để phõn tớch số nguyờn n ra thừa số nguyờn tố. Điều này thỡ khú cú thể xảy ra.

2. Giải phƣơng trỡnh logarit rời rạc tỡm x = logαy (mod n) điều này cũng khú cú thể xảy ra

Thực vậy nếu giải quyết đƣợc hai vấn đề khú khăn ở trờn cũng tƣơng ứng tỡm ra đƣợc khúa bớ mật δ. Với trƣờng hợp một điều đú là hiển nhiờn vỡ việc phõn tớch ra thừa số nguyờn tố là khụng khả thi và đó đƣợc chứng minh. Ta xem xột cỏc cuộc tấn cụng vào trƣờng hợp hai. Chọn hai số cú độ lớn 160 bớt k‟ và g‟ đồng thời tớnh giỏ trị

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

y = αkg

(mod n). Giải phƣơng trỡnh logarit rời rạc để tỡm x = logαy (mod n) và phõn tớch giỏ trị (kg – x) để cú thể tỡm ra khúa bớ mật δ. Với giỏ trị δ = δ‟δ‟‟, δ đƣợc xõy dựng dựa trờn độ khú của giải bài toỏn logarit rời rạc x = logαy (mod n) cú thể tớnh bằng phộp toỏn ƣớc lƣợng lũy thừa , khi đú z = max {δ‟, δ‟‟}. Tuy nhiờn với giỏ trị wn(α) chƣa biết thỡ độ khú của vấn đề thứ hai gần bằng với việc tớnh toỏn . Nhƣ vậy chỳng ta sẽ chứng minh độ khú của vấn đề thỳe hai dựa trờn độ khú của vấn đề thứ nhất. Thật vậy, vấn đề thứ nhất đƣợc giải quyết bằng việc quy vấn đề thứ hai từ việc tỡm logarit của modulo p và modulo q. Nhƣ vậy độ khú của vấn đề thứ hai sẽ giảm đi sau khi giải quyết đƣợc vấn đề phõn tớch thừa số của modulo n.

Trong đề xuất của thuật toỏn này hàm băm đƣợc tớnh toỏn sau khi ta nối thờm giỏ trị αu mod n vào tin nhắn cần kớ. Để chứng minh độ bảo mật của thuật toỏn cú thể tin tƣởng đƣợc, chỳng ta cú thể coi hàm băm ở đõy cú thể phỏ mó đƣợc. Nếu kẻ tấn cụng cú thể giả mạo đƣợc chữ kớ, say khi modulo n phõn tớch đƣợc ra thừa số trong một khoảng thời gian cho phộp nào đú. Nhƣ vậy cỏc thụng số đƣợc tớnh toỏn lại sẽ nhƣ sau. Giả sử đối thủ cú thể giả mạo chữ kớ trờn thụng điệp M. Khi đú anh ta tớnh giỏ trị hàm băm và cú đƣợc một hàm băm giả khỏc F‟H. Ở đõy ta coi hàm băm cú thể giải mó đƣợc. Vỡ vậy cú thể tớnh

giống nhƣ và tạo ra hai chƣ kớ hợp lệ tƣơng ứng là (k‟, g‟) và (k, g) từ thụng điệp M. Cả hai chữ kớ này đều tớnh trờn giỏ trị cựng một giỏ trị U nhƣng cú giỏ trị hàm băm H‟ và H khỏc nhau.

Do đú, trong trƣờng hợp thứ nhất của sơ đồ rỳt gọn chữ kớ số chỳng ta cú k‟ ≠ k và g‟ ≠ g

Và k‟ + g‟(v-1) U (mod δ) k + g(v-1) U (mod δ)

 k‟ + g‟(v – 1) = k + g(v – 1) (mod δ)  (k‟ – k) + (g‟ – g)(v – 1) = 0 (mod δ)

Nhƣ vậy δ là một ƣớc số của (k‟ – k) + (g‟ – g)(v -1). Với độ dài δ khụng đủ lớn nờn việc tỡm ra δ sau khi phõn tớch (k‟ – k) + (g‟ – g)(v -1) ra cỏc thừa số nguyờn tố là khụng khú.

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Trong trƣờng hợp hai của phƣơng phỏp rỳt gọn chữ kớ số mới chỳng ta cũng cú k‟ ≠ k và g‟ ≠ g

Nhƣng k‟g‟ U (mod δ) và kg U (mod δ) => k‟g‟ kg (mod δ)

=> k‟g‟ – kg 0 (mod δ)

Nhƣ vậy cũng nhƣ trƣờng hợp trờn δ cú thể tỡm ra đƣợc sau khi phõn tớch thừa số k‟g‟ - kg ra thừa số nguyờn tố. Việc tỡm ra đƣợc δ thỡ dễ dàng phõn tớch đƣợc n để tỡm ra p và q. Thật vậy, do kớch thƣớc δ nhỏ nờn cú thể dễ dàng phõn tớch δ: δ = δ‟ δ‟‟ nhƣ thế cú thể tỡm δ‟ và thụng qua đú ta tớnh đƣợc p bằng cỏch tỡm gcd (α δ‟ mod n-1,n) = p

Nhƣ thế mỗi cuộc tấn cụng vào sơ đồ chữ kớ nờu trờn đều dựa vào sự phõn tớch ra thừa số nguyờn tố của n, cũng cú nghĩa là độ an toàn của sơ đồ chữ kớ dựa trờn dựa vào độ khú của việc phõn tớch ra thừa số nguyờn tố của n.

3.3. Sơ đồ chữ kớ dựa vào số nguyờn tố δ

3.3.1. Hàm được sử dụng

Ở đõy chỳng ta xem xột với giỏ trị a và b xem chỳng cú đồng dƣ với nhau qua modulo q hay khụng, với giỏ trị q là một số bớ mật. Để giảm sự tớnh toỏn và trỏch tớnh toỏn trực tiếp với q chỳng ta xem xột một cỏch tiếp cận mới. Giả sử r = 2n + 1 cũng là một số nguyờn tố. Trong đú n đƣợc tạo bởi hai số nguyờn tố p và q: n = pq và β là thành phần của nhúm Gr và bậc của wr(β) = q

Nhƣ vậy chỳng ta cú thể kiểm tra a, b cú đồng dƣ với nhau hay khụng mà khụng cần biết đến giỏ trị bớ mật q mà chỉ cần thụng qua r thụi. Vỡ vậy ta cú thể sử dụng phƣơng trỡnh sau vào sơ đồ chữ kớ số:

Trong đú r = 2n + 1

Trong đú δ là một số nguyờn tố là ƣớc của q-1 và khụng phải là ƣớc của p-1.

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Chỳng ta sẽ sử dụng hàm số trờn để sửa đổi phƣơng trỡnh xỏc minh chữ kớ số mới nhƣ sau:

(3.5) Và phƣơng trỡnh

(3.6)

Ở đõy với cỏc khúa cụng khai là (r,β,α) và cỏc khúa bớ mật là (q,δ). Chỳng ta sẽ giả sử độ dài nhỏ nhất của cỏc khúa bớ mật tƣơng ứng là

bit, . Trong sơ đồ chữ kớ số đƣợc mụ tả bằng hai phƣơng trỡnh xỏc minh trờn thỡ giỏ trị g là một số nguyờn tố thuộc nhúm Gδ : g Gδ.

Trong sơ đồ chữ kớ trờn thỡ phƣơng trỡnh xỏc minh (3.5) cú thành phần chữ kớ k và g đƣợc xỏc minh bởi phƣơng trỡnh (3.2), với trƣờng hợp ngoại lệ chỳng ta cú:

Với phƣơng trỡnh xỏc minh (3.6) thỡ thành phần chữ kớ k sẽ đƣợc tớnh theo phƣơng trỡnh sau:

Hai thành phần của chữ kớ sẽ tớnh theo cụng thức (3.4)

Bổ đề 1: Chứng minh sự đỳng đắn của hai phƣơng trỡnh xỏc minh chữ kớ (3.5) và (3.6)

Chứng minh:

Cỏch chứng minh phƣơng trỡnh (3.5) và (3.6) là tƣơng tự nhau. Chỳng ta xem xột trƣờng hợp phƣơng trỡnh xỏc minh chữ kớ (3.6) trƣớc. Với phƣơng trỡnh này cặp chữ kớ số hợp lệ trờn thụng điệp M. Nếu ta tớnh wq(α) =δ, wr(β) =q và mod δ từ phƣơng trỡnh xỏc minh chữ kớ ta cú:

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Từ k‟ = k ta thấy phƣơng trinh xỏc minh chữ kớ đó cho kết quả chớnh xỏc. Nhƣ vậy phƣơng trỡnh (3.6) là hoàn toàn đỳng.

Với phƣơng trỡnh xỏc minh chữ kớ (3.5), cặp chữ kớ (k, g) với thụng điệp M kết hợp với phƣơng trỡnh (3.2) chỳng ta cú:

k-g = H

Nhƣ vậy H‟ = H phƣơng trỡnh xỏc minh chữ kớ của sơ đồ (3.5) cũng đỳng.

3.3.3. Thảo luận về độ an toàn sơ đồ chữ kớ số

Với giỏ trị β của sơ đồ chữ kớ số trờn phải đỏp ứng đƣợc những yờu cầu về bảo mật sau: Giỏ trị wn(α) phải đủ lớn, >160 bit. Cỏc cuộc tấn cụng vào sơ đồ (3.5) và sơ đồ (3.6) là nhƣ nhau. Sau đõy ta sẽ xem ba bƣớc tấn cụng vào sơ đồ (3.6):

Bước 1: Tớnh giỏ trị y = αkg (mod n)

Bước 2: Tớnh giỏ trị x = logαy (mod n)

Bước 3: Tớnh giỏ trị δ là ƣớc số của kg-x

Nếu wn(α) > 160 bit (điều kiện này đủ để đảm bảo tớnh bảo mật, từ phƣơng trỡnh sau wn(α) = δ(q-1). Nhƣ vậy việc tớnh toỏn ở bƣớc 2 là khụng khả thi, vỡ với phần từ n khụng thể phõn tớch ra thừa số nguyờn tố của giỏ trị wn(α). Đồng thời chỳng ta cũng sử dụng hai cặp số nguyờn tố mạnh q và p để tạo ra n. Với q là số nguyờn tố mạnh đồng nghĩa với việc q-1 chứa một lƣợng lớn số nguyờn tố là ƣớc số của nú, nhƣ vậy việc giải logarit rời rạc để tỡm x = logαy (mod n) khú cú thể làm đƣợc ngay cả khi chỳng ta biết giỏ trị wn(α).

Ta sẽ xem xột một cuộc tấn cụng khỏc vào sơ đồ chữ kớ trờn là cố gắng tỡm giỏ trị x‟ = logβK (mod p), với K = và tớnh giỏ trị q là ƣớc của giỏ trị

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

(αkg

mod n) – x‟. Sau đú sẽ tỡm khúa bớ mật δ bằng việc tỡm ƣớc của giỏ trị q-1. Do giỏ trị và đủ lớn nờn việc tấn cụng vào sơ đồ trờn là khụng khả thi.

Nhƣ vậy việc tấn cụng vào sơ đồ chữ kớ số mới là khú cú thể xảy ra. Ta sẽ chứng minh cỏc cuộc tấn cụng vào sơ đồ trờn đều dựa trờn độ khú của bài toỏn phõn tớch một số nguyờn lớn ra thừa số nguyờn tố.

Bộ đề 2: Cuộc tấn cụng vào khúa bớ mật δ cũng khú khăn nhƣ việc phõn tớch n

ra thừa số nguyờn tố.

Chứng minh:

Giả sử cú cuộc tấn cụng vào giỏ trị δ. Khi đú ta cú

Thỡ 

Vỡ vậy độ khú của việc tấn cụng vào sơ đồ chữ kớ mới chớnh là độ khú của việc phõn tớch n ra cỏc thừa số nguyờn tố.

Ở sơ đồ chữ kớ mới (phần 3.2) thỡ hàm băm đƣợc tớnh toỏn sau khi tớnh đƣợc giỏ trị . Vỡ vậy ngƣời giả mạo chữ kớ phải tớnh giỏ trị U trƣớc khi xỏc định hàm băm (Ở đõy hàm băm đƣợc sử dụng là đạt tiờu chuẩn an toàn, hay FH là hàm một chiều). Vỡ vậy, chỳng ta cú thể ỏp dụng đối số tƣơng tự nhƣ sử dụng trong sơ đồ chữ kớ của phần 2. Việc kẻ giả mạo chữ kớ tỡm ra đƣợc δ thỡ sau đú sẽ tỡm ra đƣợc n. Nhƣ vậy sơ đồ chữ kớ mới đƣợc trỡnh bày bởi cụng thức (3.5) và (3.6) độ an toàn của chỳng dựa trờn độ khú của việc phõn tớch n ra thừa số nguyờn tố.

3.3.4. Đỏnh giỏ về độ an toàn của sơ đồ chữ kớ số mới.

Ở phần này chỳng ta sẽ đỏnh giỏ độ an toàn của sơ đồ chữ kớ số mới đƣợc trỡnh bày ở cụng thức (3.5) và (3.6). Sự phức tạp nhất của thuật toỏn là việc tớnh toỏn giỏ trị δ đƣợc cho bởi hàm . Nhƣ vậy việc xõy dựng „cặp đụi lũy thừa‟ của hàm này dựa trờn việc tớnh toỏn logarit rời rạc là khụng hiệu quả, tƣơng đối mất nhiều thời gian. Sau đõy sẽ trỡnh bày một phƣơng phỏp hiệu quả hơn.

Một phần của tài liệu nghiên cứu và phát triển phương pháp rút gọn chữ kí số (Trang 54 - 79)

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

(79 trang)