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

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 70 - 75)

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

1.4. Kp[i]yi

2. Return KS , KP

2.4.1.3. Chứng nhận các thành viên tham gia ký

Trước khi tạo các chữ ký (trước khi ký) thì CA cấp chứng nhận (chứng chỉ số) cho các thành viên. Chứng nhận của thành viên Ui là cặp số (u vi, i)và được tính theo thuật toán sau:

Thuật toán 2.3. Input: n, N, IDi, KP, xca. Output: (u vi, i) 1. For i = 1 to N do 1.1. uiH y( i ||IDi) 1.2.  xca mod i i vu n 2. Return (u vi, i)

2.4.1.4. Kiểm tra tính hợp pháp của các thành viên

Quá trình kiểm tra tính hợp pháp cho các đối tượng ký và xác nhận là thành viên của hệ thống được thực hiện theo thuật toán sau:

Thuật toán 2.4.

Input: n, N, yi, yca, IDi, (u vi, i)

Output: (TV TV1, 2,...TVN) (các biến này có giá trị logic: true, false). 1. For i = 1 to N do

1.1. uiH y( i ||IDi) 1.2.  yca mod

i i

uv n

1.3. If (uiui) Then TVi = True Else TVi = false

2. Return (TV TV1, 2,...TVN) Trong đó:

- TVi = true: đối tượng ký Ui được xác nhận là thành viên của hệ thống.

- TVi = false: Ui là một đối tượng giả mạo.

2.4.1.5. Tạo chữ ký IFP-RSAP tập thể

Chữ ký tập thể được hình thành trên cơ sở chữ ký của một nhóm đối tượng ký và chữ ký của CA được kết hợp với nhau. Quá trình hình thành được thực hiện như sau:

Thuật toán 2.5.

Input: n, t, N, M, xca, KS, KP.

Output: ( , )E S – chữ ký của U và CA lên M. 1. For i = 1 to N do

1.1. kiH(xi || M)

1.2. Ri  ki t modn (2.19)

2. R ← 1; For i = 1 to N do RRRimodn (2.20) 3. EH(M || R), send E to {U1, U2,...., Ui,..., UN}; 4. For i = 1 to N do 4.1. Si ki  xi Emodn (2.21) 4.2. Send Si to CA 5. Su← 1; For i = 1 to N do

5.1. If (Ri    Si tyi Emodn) Then {return (0,0)}

5.2. Su SuSimodn 6. If E0 Then S  S xca n u mod  (2.22) 7. Return ( , )E S Trong đó:

- Các bước 1, 4 được thực hiện bởi các đối tượng ký.

- Các bước 2, 3, 5, 6 và 7 được thực hiện bởi CA.

2.4.1.6. Kiểm tra chữ ký IFP-RSAP tập thể

Kiểm tra tính hợp lệ của chữ ký tập thể được thực hiện theo thuật toán 2.6. Kết quả true/false sẽ xác định được chữ ký là hợp lệ hoặc bị giả mạo.

Thuật toán 2.6.

Input: n, t, yca,M, KP, ( , )E S . Output: ( , )E S = true / false.

1. If (E = 0 or S = 0) Then {return false} 2. y ← 1; For i = 1 to N do yyyimodn (2.23) 3. u Syca n mod  (2.24) 4. vutyEmodn (2.25) 5. EH(M ||v)

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. Các bước thực hiện quá trình tạo chữ ký tập thể của lược đồ IFP-RSAP tập thể mới đề xuất được minh họa trong Hình 2.8.

Tập thể người ký

(KS, KP) Dữ liệu

Người yêu cầu CA

(n, p, q, t, m, xca) Chọn x∈ (1, n) ( || ) i i kH x M  t mod i i Rk n Ri E mod i R R R n ( || ) EH M R    Emod i i i Skx n Si    t Emod i i i RSy n  mod u u i SSS n  xca mod u SS n Chữ ký số ( , )E S

Hình 2.8. Tóm tắt thuật toán ký của lược đồ IFP-RSAP tập thể

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 70 - 75)