Quy trình chung

Một phần của tài liệu (Luận án tiến sĩ) xây dựng một số lược đồ chữ ký số tập thể dựa trên bài toán phân tích số (Trang 62)

Qui trình chung của lược đồ gồm các bước: chọn các tham số, tạo chữ ký, kiểm tra chữ ký.

2.3.1.1. Lựa chọn các tham số và các khóa

Các bước thực hiện lựa chọn các tham số và khóa như sau: 1. Chọn cặp số nguyên tố lớn p q.

b R M f2( , )

Đặt: lplen p( ), lqlen q( ); lp, lq là độ dài số p, q tính theo bit nhị phân trong biểu diễn các số p, q trên máy tính.

Tính: np q. và ( )n (p1)(q1) là hàm Euler của n.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 2.2.1.1 trong lược đồ IFP-RSAP cơ sở I.

2. Chọn một số nguyên x1 trong khoảng (1, )n thỏa mãn điều kiện 1

) ,

gcd(x1 n  và tính tham số khóa y theo thuật toán sau:

2.1. Chọn một số nguyên t nguyên tố cùng nhau với n, tức là,

1 ) ,

gcd(t n  .

2.2. Tính y  x1 t modn.

2.3. Nếuy (n) hoặc gcd(y,(n))1 thì quay lại bước 2.1 (tức là chọn lại t).

3. Tính giá trị x2 theo công thức:

x2  y1 mod(n). 4. Chọn một hàm băm H:  Zh

1 ,

0 , với: hn

Hàm băm H(.) có thể chọn theo FIPS 180 - 4 [50] như: SHA - 1, SHA - 256, SHA - 512, … với các kích thước dữ liệu đầu ra tương ứng là: 160 bit, 256 bit, 512 bit, …

Trong đó:

- len(.) là hàm tính độ dài (theo bit) của một số;

- y là khóa công khai; n, t là các tham số công khai;

- x1, x2 là các khóa bí mật; p, q và (n) là các tham số bí mật.

2.3.1.2. Tạo chữ ký IFP-RSAP cơ sở II

Thuật toán tạo chữ ký IFP-RSAP cơ sở II

Input: n, t, x1, x2, M - thông điệp dữ liệu cần ký. Output: ( , )E S - chữ ký.

2. Tính giá trị R theo: Rkt modn

3. Thành phần thứ nhất (E) của chữ ký được tính theo công thức: )

|| (M R H

E (2.12) 4. Thành phần thứ hai (S) của chữ ký được tính theo công thức:

 

k xn

S   1 E x2 mod (2.13)

5. Return ( , )E S

Trong đó:

- Toán tử “||” là phép nối 2 xâu bit.

2.3.1.3. Kiểm tra chữ ký IFP-RSAP cơ sở II

Thuật toán kiểm tra chữ ký IFP-RSAP cơ sở II

Input: n, t, y,( , )E S , M - thông điệp dữ liệu cần thẩm tra. Output: ( , )E S = true / false.

1. Tính giá trị S theo (2.14): S  S y modn (2.14) 2. Tính giá trị R theo (2.15): R  S t y E modn (2.15) 3. Tính giá trị E theo (2.16): EH(M ||R) (2.16) 4. Kiểm tra: If (EE) Then {return true} Else {return false}

Trong đó:

- ( , )E S = true: chữ ký hợp lệ, thông điệp dữ liệu M được xác thực về nguồn gốc và tính toàn vẹn.

- ( , )E S = false: chữ ký hoặc/và thông điệp dữ liệu M bị giả mạo.

2.3.2. Tính đúng đắn của lược đồ IFP-RSAP cơ sở II

Tính đúng đắn của các phương pháp hình thành và kiểm tra chữ ký của lược đồ IFP-RSAP cơ sở II được chứng minh qua định lý 2.3, cụ thể như sau:

Định lý 2.3.

Giả sử ta có các tham số và các khóa cùng cặp chữ ký ( , )E S được chọn

và tạo bởi các bước trong lược đồ IFP-RSAP cơ sở II. Thành phần E là giá trị được sinh ra do thuật toán kiểm tra theo công thức 2.16.

Khi đó ta có:

E E  .

Chứng minh.

Theo thuật toán hình thành tham số, thì các tham số yx2 được tính như sau:

 x n

y  1 t mod , x2  y1 mod(n)

Theo các công thức (2.13), (2.14) và (2.15) ta thực hiện các biến đổi tương đương như sau:

                               2 2 1 1 . . 1 1 . . . 1 1 1 1

mod mod mod

mod mod mod mod

mod mod

mod mod mod

mod t t E y E t y x E E t t x y E t E t E t E t t E t E t R S y n S n y n k x n n x n n k x n x n k x n x n k x x n k n R                                     Từ (2.12) và (2.16) suy ra EH(M || R) H(M || R) E Đây là điều cần chứng minh∎

2.3.3. Mức độ an toàn của lược đồ IFP-RSAP cơ sở II

2.3.3.1. Tấn công khóa bí mật

Ở lược đồ cơ sở, khóa bí mật của một đối tượng ký là cặp (x1,x2), tính an toàn của lược đồ sẽ bị phá vỡ hoàn toàn khi cặp khóa này có thể tính được bởi một hay các đối tượng không mong muốn. Từ thuật toán hình thành tham số và

khóa trong lược đồ IFP-RSAP cơ sở II cho thấy, để tìm được x2 cần phải tính được tham số φ(n), nghĩa là phải giải được bài toán phân tích số IFP(n), còn để tính được x1 cần phải giải được bài toán RSAP(n,e). Như vậy, độ an toàn về khóa của lược đồ cơ sở được quyết định bởi mức độ khó của việc giải các bài toán IFP(n) và RSAP(n,e).

2.3.3.2. Tấn công giả mạo chữ ký

Từ điều kiện của thuật toán kiểm tra chữ ký trong lược đồ được đề xuất, một cặp ( , )E S bất kỳ sẽ được coi là chữ ký hợp lệ của đối tượng sở hữu các tham số công khai ( , , )n t y lên thông điệp dữ liệu M nếu thỏa mãn:

 

 

M S y n

H

E || y.tEmod (2.17) Từ điều kiện trên cho thấy, nếu H(.) được chọn là hàm băm có độ an toàn

cao (SHA 256/512,...) thì việc chọn ngẫu nhiên cặp ( , )E S thỏa mãn điều kiện đã được chỉ ra là hoàn toàn không khả thi trong các ứng dụng thực tế.

2.3.4. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II

Để đánh giá về độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP cơ sở II, luận án sẽ đánh giá chi phí tính toán cho các phép toán thực hiện trong các thuật toán tạo chữ ký và kiểm tra chữ ký. Các ký hiệu được sử dụng để tính chi phí cụ thể như sau:

- Chi phí tính toán cho phép nhân trên Zn ký hiệu là Mn và độ dài xâu bit của n ký hiệu là len n( )Ln.

- Chi phí tính toán cho phép lũy thừa trong Zn, với len n( )Ln có độ phức tạp xấp xỉ Ln.Mn.

Trong thuật toán tạo chữ ký IFP-RSAP cơ sở II, chi phí tính toán tập trung ở một phép nhân và ba phép lũy thừa. Vậy tổng chi phí tính toán của thuật toán tạo chữ ký ước lượng như sau:

(1 3 ).

sig n n

Trong thuật toán kiểm tra chữ ký IFP-RSAP cơ sở II, chi phí tính toán tập trung ở ba phép lũy thừa và một phép nhân. Vậy tổng chi phí tính toán của thuật toán kiểm tra chữ ký ước lượng như sau:

er (3 1).

v n n

CLM

Như vậy, tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và kiểm tra chữ ký của lược đồ IFP-RSAP cơ sở II được ước lượng như sau:

(6 n 2) n

CLM

2.3.5. Hiệu quả thực hiện của lược đồ IFP-RSAP cơ sở II

2.3.5.1. Tính hiệu quả của lược đồ IFP-RSAP cơ sở II so với lược đồ chữ ký RSA

Đánh giá sơ bộ về hiệu quả thực hiện của lược đồ IFP-RSAP cơ sở II, có thể dựa trên một số phân tích so sánh với hiệu quả thực hiện của lược đồ chữ ký RSA [57] khi lựa chọn cùng bộ tham số như sau:

- Chọn các tham số p, q với: |p| = |q| = 1024 bit, khi đó: |n| = |φ(n)| = 2048 bit, kích thước các khóa bí mật (x1, x2), khóa công khai y của lược đồ cơ sở và khóa bí mật d của lược đồ RSA: |x1| = |x2| = |y| = |d| = 2048 bit.

- Chọn kích thước khóa công khai e của RSA và số mũ t của lược đồ cơ sở: |e| = |t| = 16 bit.

- Chọn hàm băm SHA - 1 với kích thước dữ liệu ra 160 bit.

Với các tham số như trên, thuật toán ký của lược đồ cơ sở cần thực hiện ba phép lũy thừa: một phép lũy thừa với kích thước số mũ 16 bit

 

(Rk tmod )n phép lũy thừa thứ hai có kích thước số mũ 160 bit (x1Emod )n

và phép lũy thừa thứ ba có kích thước 2048 bit (Sax2 modn, với:

 x n

k

a  1 Emod ), trong khi đó thuật toán ký của RSA chỉ thực hiện một phép tính lũy thừa duy nhất với kích thước số mũ 2048 bit (Smd modn). Tuy phải thực hiện nhiều hơn hai phép lũy thừa so với RSA, song do kích thước số mũ của hai phép lũy thừa đầu khá nhỏ so với kích thước số mũ 2048 bit của phép lũy thừa thứ ba trong lược đồ cơ sở cũng như kích thước số mũ của phép lũy

thừa trong RSA, nên có thể coi tốc độ thực hiện thuật toán ký của lược đồ cơ sở và RSA là tương đương.

Ở thuật toán kiểm tra, lược đồ cơ sở phải thực hiện nhiều phép lũy thừa hơn so với RSA nên tốc độ thực hiện thuật toán kiểm tra của lược đồ cơ sở là chậm hơn so với RSA.

Tuy nhiên, độ an toàn của RSA sẽ bị phá vỡ hoàn toàn nếu kẻ tấn công chỉ cần giải được một trong hai bài toán IFP(n) hoặc RSAP(n,e). Đối với lược đồ IFP-RSAP cơ sở, kẻ tấn công muốn phá vỡ được độ an toàn của lược đồ thì buộc phải giải được cả hai bài toán IFP(n) và RSAP(n,e). Ngoài ra, việc thực hiện các phép toán lũy thừa với kích thước số mũ 2048 bit hay 4096 bit như ở lược đồ RSA và lược đồ cơ sở là hoàn toàn khả thi trong các ứng dụng thực tế.

2.3.5.2. Đánh giá độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP cơ sở II so với lược đồ chữ ký khác

Để đánh giá hiệu quả thực hiện của lược đồ chữ ký đề xuất với các lược đồ khác, luận án sẽ đánh giá độ phức tạp thời gian của các lược đồ chữ ký thông qua số phép toán cần thực hiện, hay tổng thời gian cần thực hiện các phép toán để tạo chữ ký và kiểm tra chữ ký. Nếu chi phí thời gian thực hiện các phép toán càng thấp thì hiệu quả thực hiện của lược đồ càng cao. Qui ước sử dụng các ký hiệu như sau:

Texp: thời gian thực hiện phép tính lũy thừa modulo.

Tinv: thời gian thực hiện phép nghịch đảo modulo.

Th: thời gian thực hiện hàm băm.

Tmul: thời gian thực hiện phép nhân modulo.

Trong phần này, luận án so sánh độ phức tạp thời gian của lược đồ IFP- RSAP cơ sở II và lược đồ LD 15.9-01 [10] với giả định các lược đồ đó được tính toán cùng tham số an toàn trong Zn. Kết quả so sánh được trình bày trong các bảng bên dưới.

Bảng 2.1. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II

Các phép tính Thuật toán ký Thuật toán kiểm tra

Phép tính lũy thừa modulo 3 3

Phép tính nghịch đảo 0 0

Phép tính hàm băm 1 1

Phép tính nhân modulo 1 1

Bảng 2.2 Độ phức tạp thời gian của lược đồ LD15.9-01 [10]

Các phép tính Thuật toán ký Thuật toán kiểm tra

Phép tính lũy thừa modulo 5 3

Phép tính nghịch đảo 2 0

Phép tính hàm băm 1 1

Phép tính nhân modulo 2 1

Tổng hợp chi phí thời gian thực hiện của các thuật toán tạo chữ ký và kiểm tra chữ ký được minh họa qua bảng 2.3.

Bảng 2.3. So sánh chi phí thời gian thực hiện của các lược đồ IFP-RSAP cơ sở II và LD15.9-01 [10]

Các phép tính Lược đồ IFP-RSAP

cơ sở II

Lược đồ LD15.9-01 [10]

Phép tính lũy thừa modulo 6 Texp 8 Texp

Phép tính nghịch đảo 0 2 Tinv

Phép tính hàm băm 2 Th 2 Th

Phép tính nhân modulo 2 Tmul 3 Tmul

Theo bảng 2.3 thì độ phức tạp thời gian tổng chi phí cho thuật toán sinh chữ ký và kiểm tra chữ ký của lược đồ chữ ký số IFP-RSAP cơ sở II thấp hơn so với lược đồ LD15.9-01 [10]. Từ các đánh giá, so sánh ở trên cho thấy lược đồ chữ ký số IFP-RSAP cơ sở II có thể tiếp tục nghiên cứu, phát triển thành lược đồ chữ ký số tập thể, đáp ứng các nhu cầu ứng dụng trong thực tế.

2.4. Đề xuất lược đồ chữ ký IFP-RSAP tập thể

Trên cơ sở nghiên cứu quá trình phát triển của chữ ký số, để đẩy mạnh việc áp dụng chữ ký số cho nhiều người tham ký vào các văn bản, dữ liệu tại các cơ quan nhà nước, trường học, các đơn vị hành chính sự nghiệp, các doanh nghiệp…, luận án đề xuất xây dựng lược đồ chữ ký số tập thể theo mô hình chữ ký số tập thể dạng kết hợp đã đề xuất trong mục 2.1 của chương 2. Lược đồ chữ ký IFP-RSAP tập thể được phát triển từ lược đồ chữ ký số IFP-RSAP cơ sở II. Trong lược đồ chữ ký số tập thể được đề xuất, các thông điệp dữ liệu được chứng thực ở các cấp độ:

- Thực thể tạo ra các thông điệp dữ liệu;

- Tổ chức mà thực thể tạo ra thông điệp dữ liệu là một thành viên trong đó. Lược đồ chữ ký IFP-RSAP tập thể được xây dựng dựa trên tính khó của việc giải bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố và bài toán khai căn trên Zn.

2.4.1. Các bước triển khai lược đồ chữ ký IFP-RSAP tập thể

Giả sử có văn bản M và có N người tham gia ký vào văn bản M. Bài toán đặt ra là xây dựng các chữ ký số cho văn bản M với N thành viên tham gia ký cùng CA của tổ chức. Tập các thành viên tham gia ký đặt là U U U1, 2,...,UN

trong đó, thành viên thứ i có mã thành viên là U ii( 1, 2,..., )N . Các thành viên nhóm ký có khóa bí mật: KS x ii| 1, 2,...,N và các khóa công khai tương ứng: KP y ii| 1, 2,...,N. Trong đó, CA có cặp khóa bí mật/công khai tương ứng

xca,yca.

Lược đồ được xây dựng theo các bước sau:

- Hình thành các tham số hệ thống và khóa của CA; - Hình thành khóa của các đối tượng ký;

- Chứng nhận các đối tượng ký;

- Hình thành chữ ký tập thể; - Kiểm tra chữ ký tập thể.

2.4.1.1. Lựa chọn các tham số và khóa của CA

Để hình thành các tham số hệ thống và khóa của CA được thực hiện theo thuật toán 2.1.

Thuật toán 2.1.

Input: lp, lq – độ dài (tính theo bit) của số nguyên tố p, q. Output: n, t,xca, yca.

1. Chọn một cặp số nguyên tố lớn p, q có các độ dài tương ứng là lp, lq

cho trước, sao cho bài toán phân tích số trên Zn p q . là khó giải.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 2.2.1.1 trong lược đồ IFP-RSAP cơ sở I.

2. Tính : npq và: (n)(p1)(q1)

3. Chọn ngẫu nhiên một số t là số nguyên lớn trong khoảng (1, )n thỏa mãn gcd( , )t n 1.

4. Chọn khóa công khai yca ngẫu nhiên và là số nguyên lớn trong khoảng 1, ( ) n và gcdyca, ( ) n 1

5. Tính khóa bí mật xca theo công thức: xca  yca 1mod(n) (2.18) 6. Chọn hàm băm H:  Zh

1 ,

0 , với: (hn)

Hàm băm H(.) được lựa chọn theo bước 4, mục 2.3.1.1 trong lược đồ IFP-RSAP cơ sở II.

Trong đó:

- yca là khóa công khai;

- n, t là các tham số công khai;

- xca là khóa bí mật;

2.4.1.2. Lựa chọn các tham số và các khóa của các thành viên

Giả sử, các tham số n, t được chọn trong thuật toán 2.1. Khi đó, khóa của các thành viên được hình thành theo thuật toán 2.2

Thuật toán 2.2.

Input: n, t, N.

Output: KS x ii| 1, 2,...,N,KP y ii | 1, 2,...,N. 1. For i = 1 to N do

1.1. Chọn một số xi trong khoảng (1, )n với gcd( , )x ni 1 1.2. K iS[ ]xi

1.3. yi  xitmodn

Một phần của tài liệu (Luận án tiến sĩ) xây dựng một số lược đồ chữ ký số tập thể dựa trên bài toán phân tích số (Trang 62)