Sơ đồ chữ ký kết hợp RSA và rabin

Trên vành

có hai sơ đồ chữ ký số điển hình, một là sơ đồ RSA [1] và hai là sơ đồ

Rabin cùng các phát triển của nó [2], [3], .

Đặc điểm nổi bật của hai sơ đồ trên là:

Thứ nhất. Chi phí cho việc kiểm tra chữ ký thấp.

Cụ thể với sơ đồ của Rabin và sơ đồ của Williams chỉ cần cỡ một phép nhân; với sơ đồ

RSA số mũ kiểm tra e = 3 chỉ cần cỡ hai phép nhân trên .

Thứ hai. Có độ an toàn dựa trên độ khó của việc phân tích n theo nghĩa:

Nếu phân tích được n ra thừa số thì sẽ phá được các sơ đồ này và cho đến nay vẫn

chưa tồn tại thuật toán hiệu quả (thời gian đa thức) cho phép nếu phá được một trong các

sơ đồ chữ ký nêu trên.

Chính nhờ đặc điểm thứ nhất nên các sơ đồ trên luôn được sử dụng trong chứng chỉ số

và trong những giao dịch mật mã kiểu “nhiều-một” (nhiều người gửi thông tin đến một

người: chẳng hạn tại các đầu mối tiếp nhận hồ sơ; xác nhận tính hợp lệ của phiếu bầu cử

trong việc bầu cử điện tử .).

pdf 6 trang kimcuc 19800
Bạn đang xem tài liệu "Sơ đồ chữ ký kết hợp RSA và rabin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Sơ đồ chữ ký kết hợp RSA và rabin

Sơ đồ chữ ký kết hợp RSA và rabin
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 53, 02 - 2018 143
SƠ ĐỒ CHỮ KÝ KẾT HỢP RSA VÀ RABIN 
Hoàng Thị Mai* 
Tóm tắt: Bài báo này đưa ra một tiếp cận mới cho việc xây dựng các sơ đồ chữ 
ký trên vành ℤ, đó là kết hợp hai sơ đồ RSA và Rabin. Nếu như trong sơ đồ RSA, 
số mũ kiểm tra e cần nguyên tố cùng nhau với p – 1 và q – 1, trong sơ đồ Rabin e 
cần là ước của cả p – 1 lẫn q – 1 thì trong sơ đồ đưa ra ở bài báo này, số mũ kiểm 
tra e chỉ là ước của một trong hai giá trị p – 1 hoặc q – 1. 
Từ khóa: Sơ đồ chữ ký trên ℤ
∗ , Số mũ kiểm tra, Độ an toàn của sơ đồ chữ ký, Chi phí kiểm tra và chi phí tạo 
chữ ký. 
1. ĐẶT VẤN ĐỀ 
Trên vành ℤ, có hai sơ đồ chữ ký số điển hình, một là sơ đồ RSA [1] và hai là sơ đồ 
Rabin cùng các phát triển của nó [2], [3], .... 
Đặc điểm nổi bật của hai sơ đồ trên là: 
Thứ nhất. Chi phí cho việc kiểm tra chữ ký thấp. 
Cụ thể với sơ đồ của Rabin và sơ đồ của Williams chỉ cần cỡ một phép nhân; với sơ đồ 
RSA số mũ kiểm tra e = 3 chỉ cần cỡ hai phép nhân trên ℤ ... 
Thứ hai. Có độ an toàn dựa trên độ khó của việc phân tích n theo nghĩa: 
Nếu phân tích được n ra thừa số thì sẽ phá được các sơ đồ này và cho đến nay vẫn 
chưa tồn tại thuật toán hiệu quả (thời gian đa thức) cho phép nếu phá được một trong các 
sơ đồ chữ ký nêu trên. 
Chính nhờ đặc điểm thứ nhất nên các sơ đồ trên luôn được sử dụng trong chứng chỉ số 
và trong những giao dịch mật mã kiểu “nhiều-một” (nhiều người gửi thông tin đến một 
người: chẳng hạn tại các đầu mối tiếp nhận hồ sơ; xác nhận tính hợp lệ của phiếu bầu cử 
trong việc bầu cử điện tử ...). 
Nếu như sơ đồ RSA kể từ khi xuất hiện đến nay hầu như không có một phát triển nào 
thì sơ đồ Rabin đã có hàng loạt những cải biên đáng kể theo các định hướng như: 
- Mở rộng các modulo dùng được như của L. Harn và T. Kiesler [7], của Kaoru 
Kurosawa và Wakaha Ogata [5], của M. Ela - M. Piva - D. Schipani [6], của Hoàng Thị 
Mai [9]... trong đó triệt để nhất là đóng góp của M. Ela, M. Piva và D. Schipani đưa ra 
năm 2013 cho phép xây dựng được hệ mật kiểu Rabin với modulo n là tích của hai số 
nguyên tố bất kỳ bởi việc dùng tổng Dedekind thay cho kí hiệu Jacobi. 
- Cải tiến thuật toán tạo chữ ký bằng cách kết hợp công thức tính căn và kí hiệu 
Jacobi của L. Harn và T. Kiesler [7] hoặc dùng kỹ thuật “tránh được” việc tính kí hiệu 
Jacobi của Hoàng Thị Mai [9]... 
- Thay số mũ kiểm tra từ 2 thành 3 của J. H. Loxton, David S. P. Khoo, Gregory J. Bird 
và Jennifer Seberry đưa ra năm 1992 [10] và của R. Scheidler đưa ra năm 1998 [11], 
Trong bài báo này, chúng tôi đưa ra một tiếp cận mới cho việc xây dựng các sơ đồ chữ 
ký trên vành ℤ, đó là kết hợp hai sơ đồ RSA và Rabin. Nếu như trong sơ đồ RSA, số mũ 
kiểm tra e cần nguyên tố cùng nhau với p – 1 và q – 1, sơ đồ Rabin thì e cần là ước của cả 
p – 1 lẫn q – 1 thì trong sơ đồ đưa ra ở bài báo này, ý nghĩa kết hợp thể hiện ở việc số mũ 
kiểm tra e chỉ là ước của một trong hai giá trị p – 1 hoặc q – 1. 
Trong mục 2, bài báo trình bày cơ sở toán học. Sơ đồ chữ ký kết hợp RSA và Rabin 
với số mũ kiểm tra e=3 được đề xuất trong mục 3. Mục 4 của bài báo đưa ra kết luận và 
hướng nghiên cứu phát triển. 
2. CƠ SỞ TOÁN HỌC 
2.1. Một số thống nhất và ký hiệu 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Hoàng Thị Mai, “Sơ đồ chữ ký kết hợp RSA và Rabin.” 144 
Trong bài viết này thống nhất sử dụng một số tham số và ký hiệu sau: 
- Tham số n: n = p.q với p, q là hai số nguyên tố sao cho 
 p = 3.t + 1 với gcd(t,3) = 1 và gcd(3, q – 1) = 1 (1) 
Nhắc lại rằng với mọi a ∈ℤ tương ứng duy nhất với cặp a, a ∈ ℤ × ℤ với a = 
a mod p, a = a mod q và ánh xạ ngược, ký hiệu là CRT, được xác định theo công thức 
sau. 
 CRT(u,v) = (. (  ).  + . (  ). )   (2) 
- Ánh xạ trên bảo toàn phép nhân, tức là: 
 CRT(u.x mod p,v.y mod q) = CRT(u,v). CRT(x,y) mod n (3) 
2.2. Hàm CR và việc khai căn bậc 3 trên GF(p) với p ≠ 1 (mod 3) là số nguyên tố 
Định nghĩa 1. (Hàm CR) 
Cho p ≠ 1 (mod 9) là số nguyên tố lẻ, ký hiệu 
 d = 
⎣
⎢
⎢
⎡3
  ( – 1) ế  ≠ 1 ( 3)


ế  ≡ 4 ( 9)


ế  ≡ 7 ( 9)
 (4) 
Hàm CR(., p): GF(p) → GF(p) được xác định theo công thức sau 
 CR(a, ) =  mod p. (5) 
Khi đó ta có bổ đề sau: 
Bổ đề 1. Cho p ≠ 1 (mod 9) là số nguyên tố lẻ. Khi đó với mọi a ∈ GF*(p) ta có: 
Nếu p ≠ 1 (mod 3) thì 
 (, ) ≡ a (mod p). (6) 
Nếu p ≡ 4 (mod 9) thì 
 (, ) ≡ a.

 

(mod p). (7) 
Nếu p ≡ 7 (mod 9) thì 
 (, ) ≡ a.

 (mod p). (8) 
Chứng minh 
Từ (5) thì CR(a, p) = a., nên thay d từ (4) vào đẳng thức trên ta có: 
Nếu p ≠ 1 mod 3 thì d.3 ≡ 1 (mod (p – 1)) hay (6) được chứng minh. 
Nếu p ≡ 4 (mod 9) thì d.3 = 


= 1 + 2


 hay (7) được chứng minh. 
Nếu p ≡ 7 (mod 9) thì d.3 = 


= 1 +


 hay (8) được chứng minh. 
2.3. Các tập E(β) và B(β) 
Mệnh đề 1. Cho β∈ℤ
∗ sao cho 
  = 

 ≠ 1 (mod p). (9) 
Ký hiệu 
 () =  = 
  
,,
. (10) 
 () =  = 
  
,,
. (11) 
Ta có: 
Thứ nhất. E(β) là tập các căn bậc 3 của đơn vị trong GF(p). 
Thứ hai. Với mọi a ∈ℤ
∗ , nếu 
 

   = , (12) 
lấy j = – i mod 3 (13) 
thì điều kiện sau được thỏa mãn. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 53, 02 - 2018 145
 . 

   = 1 (14) 
Chứng minh: 
Từ (9) ta có ε = β ≡ 1 (mod p) nên ε ≠ 1 chính là căn bậc 3 của đơn vị trong 
GF(p) và do 3 là số nguyên tố nên tập B(β) chính là tập các căn bậc 3 của đơn vị trong 
GF(p). 
Xét a. b

 mod p. 
Theo (11) thì b = β
 mod n, do p là ước của n nên 
b ≡ β
 (mod p). 
Cho nên a. b

 ≡ a

 . β

 ≡ a

 β

 

 (mod p). 
Theo (9) và (12) thì vế phải của đồng dư thức trên trở thành e. ε
, lại theo (10) và (13) 
thì e = ε
 mod p nên 
 a. b

 ≡ e. ε
 ≡ ε ≡ ε ≡ 1 (mod p). (15) 
Như vậy, đẳng thức (14) đã được chứng minh. 
2.4. Quan hệ giữa việc giải phương trình đồng dư bậc 3 trên ℤ và việc phân tích n ra 
thừa số nguyên tố 
Xét phương trình với a ∈ℤ. 
 x ≡ a (mod n). (16) 
Ta có kết quả sau. 
Bổ đề 2. Điều kiện cần và đủ để (16) có nghiệm là 
 

   = 1 (17) 
Khi này một nghiệm của (16) được cho bởi công thức sau 
 x = CRT(CR(a mod p, p), CR(a mod q, q)). (18) 
Chứng minh: 
Ký hiệu a = a mod p và a = a mod q. Điều kiện (17) là tương đương với 
a

 mod p = 1. 
Theo (7) và (8) thì đây cũng là điều kiện cần và đủ để CR(a mod p, p) thỏa mãn
 (a, p)
 ≡ a (mod p). 
Còn theo (6) ta luôn có đồng dư thức sau 
 (a, q)
 ≡ a (mod q). 
Như vậy: 
(a mod p, p), (a mod q, q)

= ((a, p), (a, q))

=  a, p

mod p, a, q

mod q 
= a, a = a. 
Bổ đề đã được chứng minh. 
Từ bổ đề trên ta thu được hệ quả sau. 
Hệ quả 1. Nếu phân tích được n ra các thừa số p và q thì luôn giải được phương 
trình (16). 
Cho đến nay chưa có một công bố nào cho phép tìm được 1 nghiệm nào đó của (16) 
mà không cần biết phân tích của n. Ngược lại, cũng chưa tồn tại một công bố nào cho phép 
phân tích được n nếu luôn giải được phương trình (16). Ở đây, chúng tôi đưa ra một kết 
quả có lẽ là gần nhất để giải quyết vấn đề ngược lại như sau. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Hoàng Thị Mai, “Sơ đồ chữ ký kết hợp RSA và Rabin.” 146 
Mệnh đề 2. Nếu tìm được hai nghiệm khác nhau của phương trình (16) thì sẽ phân 
tích được n. 
Chứng minh: 
Nếu a∉ℤ
∗ thì ta có luôn một ước của n là gcd(a, n), và do đó, phân tích được n. 
Ngược lại, giả sử u ≠ v là hai nghiệm của (16) với a∈ℤ
∗ nào đó, khi đó u và v đều 
thuộc ℤ
∗ cho nên w = u/v mod n sẽ là một căn bậc 3 không tầm thường của đơn vị theo 
modulo n. Tức là: 
 w ≠ 1 và (19) 
  ≡ 1 ( ). (20) 
Từ (20) ta có w mod q = 1 và do gcd(3, q – 1) = 1 nên ta có 
 w mod q = 1. (21) 
Còn từ (19) nên 
 w mod p≠ 1. (22) 
Từ (21) và (22) ta thu được: 
q = gcd(w – 1,n) 
Như vậy, tìm được ước q của n,và do đó, phân tích được n. 
Vậy, Mệnh đề2 đã được chứng minh. 
3. SƠ ĐỒ RSA-RABIN3 
Trong phần này chúng tôi đưa ra sơ đồ kết hợp giữa RSA và Rabin với số mũ kiểm tra 
bằng 3, ký hiệu là sơ đồ RSA-Rabin3. 
3.1. Mô tả sơ đồ RSA-Rabin3 
Sơ đồ được mô tả qua 3 mục con đó là: Tham số hệ thống, thuật toán tạo chữ ký và 
thuật toán kiểm tra chữ ký. Sơ đồ RSA-Rabin3 được mô tả dưới dạng một sơ đồ nguyên 
thủy theo nghĩa tập các văn bản chính là ℤ 
3.1.1. Tham số hệ thống 
Mỗi thành viên tự chọn số nguyên n = p.q với p và q như đã nêu trong điều kiện (1) 
sao cho việc phân tích n ra thừa số là khó. 
d và d được tính theo như giá trị d tương ứng trong công thức (4). 
Tìm giá trị β nhỏ nhất thỏa mãn điều kiện (9) và xây dựng các tập E=E(β), B=B(β) 
theo hai công thức (10) và (11). 
Khi này: 
Tham số mật của người ký là bộ (p, q, E) còn tham số công khai tương ứng là bộ 
(n,B). 
3.1.2. Thuật toán tạo chữ ký 
Thuật toán 1. 
Input: a ∈ℤ là văn bản cần ký. 
Output: (s, j) ∈ℤ × ℤ là chữ ký lên m. 
1. r = a

 mod p (23) 
2. if (r == e) j = – i mod 3; (24) 
3. u = a.b mod n; (25) 
4. s = CRT(CR(u mod p, p),CR(u mod q, q)); (26) 
5. return (s, j); (27) 
3.1.3. Thuật toán kiểm tra 
Thuật toán 2. 
Input: (s, j) là chữ ký lên a của người có tham số công khai (n, B). 
Output: Accept∈ {0,1} theo nghĩa Accept = 1 khi và chỉ khi chấp nhận (s, j) là chữ ký 
lên a của người có tham số công khai là (n, B). 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 53, 02 - 2018 147
1. u = a.b mod n; 
2. if (u == s mod n)Accept = 1; else Accept = 0; (28) 
3. return Accept 
3.2. Phân tích sơ đồ RSA-Rabin3 
3.2.1. Sơ đồ RSA-Rabin3 là đúng đắn 
Tính đúng đắn của sơ đồ RSA-Rabin3 được cho bởi kết quả sau. 
Mệnh đề 3. Mọi chữ ký (s, j) lên văn bản a được tạo từ thuật toán 1 đều có giá trị đầu 
ra bằng 1 theo thuật toán 2. 
Chứng minh: 
Với công thức (23) ở bước 1 và điều kiện (24) đưa ra trong bước 2 của thuật toán 1 thì 
văn bản a thỏa mãn điều kiện (12) đưa ra trong mệnh đề 1. Từ đó với j xác định trong bước 
2 thì theo kết luận thứ hai của mệnh đề 1, ta có giá trị u tính theo (25) sẽ thỏa mãn điều 
kiện u

 mod p = 1. Như vậy, theo bổ đề 1 thì giá trị s tính theo (26) chính là một 
nghiệm của phương trình (16), nói một cách khác ta sẽ có đồng dư thức: 
 u ≡ s (mod n). (29) 
Do giá trị u tính được tại bước 1 của thuật toán 2 cũng chính là giá trị u tính theo (25), 
nên từ đồng dư thức (29) ta có điều kiện ở bước 2 của thuật toán 2 là đúng. 
Vì vậy Accept =1. Đây là điều cần chứng minh. 
3.2.2.Độ an toàn của sơ đồ RSA-Rabin3 
Rõ ràng để tạo ra một chữ ký hợp lệ lên văn bản a theo sơ đồ RSA-Rabin3 thì người 
giả mạo (không có bộ tham số mật (p, q, E)) cần tìm được một nghiệm của phương trình 
(16) với vế phải là a.b mod n (i = 0, 1, 2). Như đã nêu sau hệ quả 1 thì chưa tồn tại thuật 
toán nào ngoài thuật toán biết phân tích n ra thừa số cho nên chúng ta có được kết quả sau. 
Mệnh đề 4. Độ an toàn của sơ đồ RSA-Rabin3 được dựa vào tính khó phân tích của 
tham số n ra thừa số. 
3.2.3. Chi phí tính toán cho việc tạo và việc kiểm tra chữ ký trong sơ đồ RSA-Rabin3 
Xét chi phí tính toán của thuật toán tạo chữ ký (thuật toán 1) 
 Từ (23) cần một phép tính lũy thừa 
 Từ (25) cần một phép nhân 
 Từ (26) cần một phép tính hàm CRT và hai phép tính CR(.,p) và CR(.,q). Theo (5) 
thì hai phép tính CR(.,p) và CR(.,q) chính là hai phép lũy thừa trên GF(p) và GF(q). 
Như vậy, thuật toán tạo chữ ký cần đến một phép nhân, ba phép tính lũy thừa và một 
phép tính hàm CRT. 
Xét chi phí tính toán của thuật toán kiểm tra chữ ký (thuật toán 2) 
 Ở bước 1 cần một phép nhân 
 Ở bước 2 cần một phép lũy thừa 3 trên ℤ (bằng 2 phép nhân) 
Vậy thuật toánkiểm tra chữ ký cần đến ba phép nhân. 
Nếu ký hiệu t, t và t lần lượt là thời gian thực hiện một phép nhân, phép lũy 
thừa và phép tính hàm CRT ta thu được kết quả sau. 
Mệnh đề 5. Chi phí của thuật toán tạo chữ ký, ký hiệu , và của thuật toán kiểm tra, 
ký hiệu , trong sơ đồ RSA-Rabin3 được cho theo công thức sau 
  =  + 3.  +  (30) 
  = 3. . (31) 
4. MỘT SỐ VẤN ĐỀ CÓ THỂ PHÁT TRIỂN 
Với ý tưởng được đề xuất trong bài báo này bạn đọc có thể phát triển theo một số 
hướng sau. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Hoàng Thị Mai, “Sơ đồ chữ ký kết hợp RSA và Rabin.” 148 
Thứ nhất. Tìm hiểu khả năng tránh được việc tính giá trị r = a

 mod p trong bước 1 
của thuật toán tạo chữ ký vì bản chất của việc làm này giống hệt như việc phải tính giá trị 
Jacobi 


 = a

 mod p trong các sơ đồ phát triển từ Rabin. 
Thứ hai. Thay số mũ kiểm tra từ 3 thành e là một số nguyên lẻ bất kỳ. 
TÀI LIỆU THAM KHẢO 
[1]. R. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital signatures 
and public-key cryp-tosystems”, Comm. ACM, vol. 21, no. 2 (1978), pp. 120–126. 
[2]. Rabin, M. O. (1978), “Digitalized signatures”, Foundations of Secure 
Computations, R. Lipton and R. DeMillo editors, Academic Press New York, 1978. 
[Rabin M. O. 1978] 
[3]. H. C. Williams, “A modification of the RSA public-key procedure”, IEEE Trans. 
Inform. Theory 26 (1980), 726-729 
[4]. H. C. Williams, “An M3 a public-key encryption scheme, Advances in Cryptology”, 
CRYPTO '85, Lecture Notes in Computer Science, vol. 218, Springer-Verlag, 
Berlin, pp. 358-368. 
[5]. Kaoru Kurosawa; Wakaha Ogata; “Efficient Rabin-type Digital Signature Scheme”, 
Designs, Codes and Cryptgraphy, January 1999, Volume 16, Issue 1, pp53-64 
[6]. M.Ela, M.Piva, D.Schipani, “The Rabin Cryptosystem revisited”, 
https://www.math.uzh.ch/fileadmin/user/davide/publikation/RabinSchemev39.pdf 
[7]. L.Harn; T.Kiesler, “Improved Rabin’s scheme with high efficiency”, Electronics 
Letters (Volume: 25, Issue: 11, 25 May 1989) 
[8]. International Standard ISO/IEC 27005 Information technology – Security techniques- 
Information Security risk management. [ISO/IEC 2008] 
[9]. Hoàng Thị Mai, “Cải biên chữ ký số Rabin”, Tạp chí Nghiên cứu Khoa học và Công 
nghệ Quân sự, số đặc san Công nghệ thông tin, 12-2017, ISSN 1859-1043, pp.73-82 
[10]. J. H. Loxton, David S. P. Khoo, Gregory J. Bird and Jennifer Seberry, “A Cubic 
RSA Code Equivalent to Factorization”, Journal of Cryptology 5 (1992), 139-150. 
[11]. R. Scheidler , “A Public-Key Cryptosystem Using Purely Cubic Fields”, Journal of 
Cryptology 11 (1998), 109–124 
ABSTRACT 
THE SIGNATURE SCHEME IN COMBINATION WITH RSA AND RABIN 
In this paper, a new approach to the development of Zn signature schemes that is 
combining RSA and Rabin is presented. While the exponent e in the RSA is required 
to be the relatively prime with p - 1 and q – 1, or that in the Rabin needs to be a 
divisor of both p - 1 and q – 1; then in this paper, the exponent e is only required to 
be a divisor of either (p – 1) or (q – 1). 
Keywords:Signature schemes inℤ
∗ , The exponent e, Security of signature schema,The cost ofverification, The 
cost of generating signature. 
Nhận bài ngày 25 tháng 01 năm 2018 
Hoàn thiện ngày 20 tháng 02 năm 2018 
Chấp nhận đăng ngày 26 tháng 02 năm 2018 
Địa chỉ: Trường Đại học Thủ đô Hà Nội. 
 *Email: htmai@daihocthudo.edu.vn. 

File đính kèm:

  • pdfso_do_chu_ky_ket_hop_rsa_va_rabin.pdf