Về một giải pháp cứng hóa phép tính lũy thừa modulo

Nghiên cứu Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
Về  ột giải pháp cứng h a phép t nh   y thừa  
modulo  
Trần Văn Thắng, Hoàng Văn Thức  
Keywords: RSA; Montgomery multiplication;  
FPGA.  
Tóm tắt—  h p t nh     th    o u o  à ph p  
t nh      n trong     ngu  n th     t         
     à ph p t nh phứ  t p, ti u t n tài ngu  n và  
th i gi n th   hi n       i t v i     s    n   Th   
thi  ứng h   ph p t nh     th    o u o tr n  
     gi p n ng   o t           , gi   th i gi n  
 ho ph p t nh,   p ứng   u  ầu trong  ài to n  
th   t   Tr ng t   ph p t nh     th    à ph p  
nh n  o u o s    n  Trong n i  ung  ài   o  
 h ng tôi trình  à  gi i thi u, ph n t  h,      h n  
thu t to n     th    o u o và ph p nh n  o u o  
Montgo er      tr n   t s   ông trình nghi n  
 ứu tr n th  gi i   h p t nh     th    o u o  
 ượ  th   thi  ằng ngôn ngữ  ô t  phần  ứng  
HDL Veri og s   o u o      h n 2048  it,  hip  
     XC7z045  K t qu  th   hi n ph p t nh     
th    o u o v i h i gi i ph p thi t k   õi I  nh n  
Montgo er  kh   nh u  ượ  tổng hợp ngắn g n  
tr n B ng 1 và B ng 2.  
I. GIỚI THIỆU  
   thể n i cho đến th i điể  hiện t i RS  
 à hệ  ật     h a c ng  hai đang được ứng  
dụng rộng r i nhất trong các sản ph   bảo  ật  
và an toàn th ng tin. Để hệ thống  ật    RS  
được ứng dụng  ột cách hiệu quả và an toàn,  
trên thế giới đ  c  nhiều c ng tr nh nghiên cứu  
cải tiến thuật toán t nh   y thừa  odu o trên  
ph n cứng và ph n  ề , đ y  à phép t nh c  
bản tiêu tốn nhiều th i gian t nh toán nhất trong  
các nguyên th y  ật    RS . Trên c  sở các  
 ết quả đ  được c ng bố trên thế giới, trong bài  
viết này chúng t i tr nh bày việc ph n t ch,  ựa  
chọn và triển  hai cài đặt cứng h a thuật toán  
tính   y thừa  odu o với độ dài  odu o  à 2048  
bit, đưa ra  ột số đánh giá ban đ u  hi  ết quả  
cài đặt được thực thi trên  hip Xi inx X 7z045.  
Abstract— Modular exponentiation is the  
basic operation in cryptography algorithm RSA.  
This’s  
   o p i  te    gorith ,  onsu ing  
Để thực hiện phép   y thừa  odu o, chúng  
ta c  thể sử dụng  ột trong các thuật toán: phép  
  y thừa nhị ph n từ trái qua phải (Left-to-right  
Binary Exponentiation), phép   y thừa nhị ph n  
từ phải qua trái (Right-to-left Binary  
Exponentiation) phép   y thừa cửa sổ trượt  
(Slide-window Exponentiation). Tùy thuộc vào  
  i trư ng cài đặt  à  ỗi thuật toán c  những  
điể    nh yếu  hác nhau. Dưới đ y chúng t i  
xin giới thiệu  ột số thuật toán t nh   y thừa  
 odu o đưa ra ph n t ch,  ựa chọn ra  ột thuật  
toán hiệu quả thực thi trên nền tảng ph n cứng  
FPGA.  
resource and time to implement (especially with  
large number). Hardware implementation of  
modular exponentiation on the FPGA would  
increase speed, reduce computation time that is  
required by the practice. The heart of modular  
operand is modular multiplication of large  
number. In this paper we presented introduction,  
the analysis, choosing modular exponentiation  
algorithm  
and  
modular  
multiplication  
Montgomery based on several public researchs  
on the world. Modular exponentiation operation  
is implemented with hardware language HDL  
Verilog with the modulus is chosen as 2048 bit,  
chip FPGA XC7z045. Implementation results of  
modular exponentiation with two different  
designs of IPcore Montgomery is briefly  
presented in Table 1 and Table 2.  
Ph n tiếp theo c a bài báo sẽ c  bố cục như  
sau: Mục II sẽ tr nh bày  ột số thuật toán   y  
thừa  odu o và một số cải biên cho phép nh n  
nhanh Montgomery. Tiếp theo Mục III sẽ tr nh  
bày cách triển  hai thực hiện. Kết quả thực hiện  
sẽ được tr nh bày trong Mục IV và cuối cùng  à  
Mục Kết  uận.  
Từ khóa: RSA; Montgomery multiplication;  
FPGA.  
Bài báo được nhận ngày 01/11/2018. Bài báo được gửi  
nhận xét và được chấp nhận đăng bởi phản biện thứ nhất vào  
ngày 02/12/2018 và 20/12/2018. Bài báo được gửi nhận xét  
và được chấp nhận đăng bởi phản biện thứ hai vào ngày  
5/12/2018 và 28/12/2018.  
Số 2.CS (08) 2018 45  
Journal of Science and Technology on Information Security  
II. THUẬT TOÁN LŨY THỪ  MODULO  
A. Một số thuật toán lũy thừa modulo  
Thuật toán [3]. Lũy thừa nhị phân từ trái  
qua phải  
Đ u vào: g ϵ G, A  à  ột số nguyên dư ng  
và e = (et et-1....e1 e0 )2  
Thuật toán [1]. Thuật toán lũy thừa từ trái  
qua phải k-ary  
Đ u ra: ge  
Đ u vào: g và e = (et et-1....e1 e0 )b ở đ y b =  
2k và k ≥ 1;  
1. A ← 1  
Đ u ra: ge  
2. Cho i ch y từ t giả  d n về 0 thực hiện  
như sau:  
1. T nh toán trước  
1.1. g0 ← 1  
2.1. A← A.A  
1.2. Cho i ch y từ 1 tới (2k - 1) thực hiện:  
g0 ← gi-1 do đ , gi = gi  
2. A ← 1  
2.2. Nếu ei = 1 thì A← A.g  
3. Trả   i  ết quả A  
Thuật toán [4]. Lũy thừa nhị phân từ phải  
qua trái  
3. Cho i ch y từ t giả  về 0 thực hiện như  
Đ u vào: g ϵ G và  ột số nguyên dư ng  
e>>1  
sau:  
3.1. A ← A2k  
3.2. A ← A.gi  
Đ u ra: ge  
1. A ← 1, S ← g  
4. Trả   i  ết quả A  
2. Trong khi e ≠ 0 thực hiện như sau:  
2.1. Nếu e  ẻ th  A ← A . S  
2.2. e← e/2  
Thuật toán [2]. Thuật toán lũy thừa sliding-  
window  
Đ u vào: g và e = (et et-1....e1 e0 )2 với et = 1,  
và  ột số nguyên k >> 1  
2.3. Nếu e ≠ 0 th  S ← S . S  
3. Trả   i  ết quả A  
Đ u ra: ge  
1. T nh toán trước  
Đối với Thuật toán 3, trong vòng  ặp t i  
bước 2.1 và 2.2  ết quả phép t nh A trong bước  
2.1  à  giá trị đ u vào cho bước 2.2. Do vậy  
quá tr nh thực hiện phải t nh toán tr nh tự nối  
tiếp  ết thúc bước 2.1 rồi  ới đến bước 2.2.  
Trong  hi đ ,  hác với Thuật toán 3, ở Thuật  
toán 4, trong vòng  ặp t i bước 2  ết quả phép  
tính bước 2.1 và 2.3 c  thể thực hiện t nh toán  
song song để n ng cao tốc độ thực thi phép t nh.  
Trọng t   phép   y thừa  à phép nh n  odu o  
và phép b nh phư ng  odu o số  ớn. Trên thế  
giới g n đ y đ  c  nhiều c ng tr nh c ng bố  iên  
quan đến việc n ng cao t nh hiệu quả phép nh n  
và phép b nh phư ng  odu o, trong đ  phải  ể  
tới thuật toán nh n Montgo ery  odu o. Trong  
ph n tiếp theo chúng t i xin giới thiệu  ột giải  
pháp cải biên cho phép nh n Montgomery  
 odu o số  ớn, đồng th i đưa ra  ết quả thực  
hiện và đánh giá việc cài đặt thuật toán   y thừa  
 odu o trên ng n ngữ    tả ph n cứng FPG .  
1.1. g1← g, g2 ← g2  
1.2. Cho i ch y từ 1 tới (2k-1 - 1) thực hiện:  
g2i+1 ← g2i-1.g2  
2. A ← 1, i ← t  
3. Trong khi i >> 0 thực hiện:  
3.1. Nếu ei = 0 thì A ← A2, i ← i-1  
3.2. Nếu không ( ei ≠ 0), t   chuỗi bit dài  
nhất ei ei-l..... el sao cho i - l+1 ≤ k và ei = 1 thực  
hiện như sau:  
A ← A2i-l +1. g(eiei-1....e1)2, i ← l-1  
4. Trả   i  ết quả A  
Thuật toán   y thừa từ trái qua phải k-ary và  
thuật toán s iding-window thực hiện phép t nh  
  y thừa qua bốn bước t nh toán và hai vòng  ặp  
thực hiện t i bước 1 và bước 3. Trong đ , Bước  
1 thực hiện t nh toán trước giá trị gi và g2i+1 làm  
giá trị đ u vào trong vòng  ặp t i bước 3. Việc  
thực hiện t nh toán trước giá trị c a gi và g2i+1  
giúp quá tr nh thực hiện thuật toán nhanh, giải  
pháp này rất phù hợp với việc cài đặt thực trên  
ph n  ề , bằng cách ta  ưu trữ các giá trị t nh  
toán trước.  
46 Số 2.CS (08) 2018  
Nghiên cứu Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
B. Một số cải biên cho phép nhân nhanh  
Montgomery  
Thuật toán [5]. Thuật toán nhân  
Nếu (S0 ^ C0 ^ Y0) & ~Xi thì I = N + Y  
2.2. (S,C) := CSA( S, C , I );  
2.3. S:= S Div 2 ; C:= C Div 2  
3. P = S + C;  
Montgomery cơ bản  
Đ u vào: X,Y,N với 0 ≤ X,Y < N  
Đ u ra: P = (X*Y(2-n)) mod N  
N: số  odu o  
4. Nếu P > N thì P = P - N;  
Điể  nổi bật c a thuật toán Faster  
Montgo ery so với thuật toán Montgomery c  
bản đ  là trong vòng  ặp thay thế hai bộ cộng có  
nhớ bằng  ột bộ cộng  S , với sự thay thế này  
giả  được tài nguyên thiết  ế, giả  được độ trễ  
c  nhớ trong bộ cộng số  ớn nâng cao được t n  
số ho t động c a  õi IP  hi thực hiện giải pháp  
này. H n chế trong thuật toán Faster  
Montgo ery vẫn sử dụng  ột bộ cộng có nhớ ở  
ngoài vòng  ặp trong Bước 3, vì vậy t n số tổng  
hợp c a IPcore Faster Montgo ey vẫn phụ  
thuộc vào t n số bộ cộng này. Tiếp theo chúng  
tôi sẽ giới thiệu  ột  ết quả được công bố trong  
bài báo [3] để cải tiến bộ cộng trên.  
n: độ dài theo bit c a N  
Xi: bit thứ i c a X  
1. P := 0  
2. Với (i=0; i < n; i = i++) thực hiện  
2.1. P = P + Xi*Y  
2.2. Nếu P0= 1 thì P = P + N;  
2.3. P = P/2 ;  
3. Nếu P > N thì P = P - N  
H n chế c a thuật toán nh n Montgo ery  
c  bản  à sử dụng 2 bộ cộng c  nhớ trong vòng  
 ặp ở bước 2.1 và 2.2, do đ  độ trễ  an truyền  
trong cài đặt cứng h a sẽ bằng n độ trễ  an  
truyền c a  ột F  (Full Adder)  ột bit.    rất  
nhiều phư ng pháp trong thiết  ế để tăng hiệu  
quả t nh toán và giả  th i gian trễ cho bộ cộng  
trong đ  phải  ể tới phư ng pháp sử dụng bộ  
cộng  S  (Carry Save Adder). Bộ cộng  S  
 h ng phụ thuộc vào c  nhớ  an truyền nên th i  
gian trễ trong  ỗi phép t nh đúng bằng độ trễ  
c a  ột bộ cộng F   ột bit. Tuy nhiên  ết quả  
đ u ra c a bộ cộng  S   à  ết quả trung gian  
chưa phải  à  ết quả cuối cùng c a phép t nh.  
Để thấy được việc ứng dụng bộ cộng  S  vào  
thuật toán nh n Montgo ery c  bản như thế  
nào, chúng ta xe  xét các cải biên dưới đây.  
Thuật toán [7]. Thuật toán Semi Carry Save  
Adder Montgomery  
Đ u vào: X,Y,N với 0 ≤ X,Y < N  
Đ u ra: SS[k+2]= (X*Y(2-n)) mod N  
N: số  odu o  
n: độ dài theo bit N  
1. (SS,SC) = CSA(Y,N,0);  
2. Trong khi (SC!= 0)  
(SS,SC) = CSA(SS,SC,0);  
3. D = SS;  
4. SS[0] = 0; SC[0] = 0;  
5. Với (i=0; i<n+1; i++) thực hiện  
qi = (S[i]0 + C[i]0 + Xi* Y0 ) mod 2;  
Nếu (Xi = 0 và qi = 0) thì I = 0;  
Thuật toán [6]. Thuật toán Faster  
Montgomery  
Đ u vào: X,Y,N với 0 ≤ X,Y < N  
Đ u ra: P = (X*Y(2-n)) mod N  
N: số  odu o  
Nếu (Xi = 0 và qi = 1) thì I = N;  
Nếu (Xi = 1 và qi = 0) thì I = Y;  
Nếu (Xi = 1 và qi = 1) thì I = D;  
(SS[i+1], SC[i+1] ) = CSA(SS[i], SC[i],I )/2;  
6. Trong khi (SC[k+2] != 0)  
n: độ dài theo bit c a N  
Xi: bit thứ i c a X  
1. S = 0, C = 0;  
(SS[k+2], SC[k+2]) = CSA(SS[k+2],SC[k+2], 0);  
7. Trả l i kết quả SS[k+2];  
2. Với (i=0; i < n; i = i++) thực hiện  
2.1.  
Điểm nổi bật giải pháp Semi Carry Save  
Adder Montgomery (SCSAMM) là thay thế bộ  
cộng có nhớ trong Bước 3 c a thuật toán Faster  
Montgomery bằng bộ cộng SCSA t i Bước 6  
trong thuật toán SCSA Montgomery. Với giải  
Nếu ((S0 = C0) và ( Xi)) thì I = 0  
Nếu ((S0 != C0) và ~Xi thì I = N  
Nếu ((S0 ^ C0 ^ Y0) & Xi) thì I = Y  
Số 2.CS (08) 2018 47  
Journal of Science and Technology on Information Security  
BẢNG 1. KẾT QUẢ THỰ  THI LÕI IP  
pháp thiết kế này thuật toán không còn sử dụng  
bộ cộng có nhớ. Do đ , sẽ khắc phục được h n  
chế trong thuật toán Faster Montgomery, nâng  
cao t n số ho t động cho lõi IP nhân  
Montgomery sau khi tổng hợp, và giảm th i  
gian thực hiện một phép tính để giải pháp này  
có thể áp dụng hiệu quả với những số modulo  
có kích thước lớn như 2048, 3072, hoặc 4096.  
MONTGOMERY TRÊN FPGA  
T n số  
Chiều  
Tài  
nguyên  
thiết kế  
ho t  
Chip  
FPGA  
dài bit  
Thuật toán  
động  
(k)  
(MHz)  
(LUTs)  
25.279  
20.241  
TT[6]  
Faster MM  
TT[7]  
194  
XC7  
2048  
Z045  
III. PHƯƠNG PHÁP TRIỂN KHAI THỰC  
HIỆN THUẬT TOÁN LỰA CHỌN  
SCSA MM  
284  
Lõi IP SCSA Montgomery được thiết  ế  
theo Thuật toán [7] đ  giải quyết được h n chế  
trong Thuật toán [6] nâng cao t n số ho t động  
c a  õi IP từ 194 MHz lên 284 MHz đ y là  ột  
A. Thiết kế cứng hóa lõi IP SCSA Montgomery  
Lõi IP S S  được x y dựng thiết  ế dựa  
trên thuật toán [7] với độ dài số  odu o 2048  
bit, dưới đ y  à    h nh thiết  ế  õi IP S S   inh chứng cho thấy tính hiệu quả c a  õi IP  
Montgomery trên FPGA.  
được thiết  ế theo giải pháp SCSA  
Montgomery.  
B. Thực thi phép tính lũy thừa modulo  
1. RSA và phép tính lũy thừa modulo  
N
Y
0
D
>>  
>>  
Phép mã hóa giải  ã RS  thực hiện tính  
toán như sau: C = Me (mod n), M = Cd (mod n)  
trong đ  M là bản rõ, C là bản  ã, e là khóa  
công khai (public key), d là khóa bí  ật (private  
key), n là số  odu o có kích thước k bit. Mối  
quan hệ giữa e,d,n được thể hiện qua biểu thức  
Xi  
qi  
Ctrl_1  
Ctrl_0  
CSA  
Ctrl_1  
e.d = 1(mod(p-1)(q-1),với n = p.q, trong đ  p  
và q là hai số nguyên tố  ớn có kích thước xấp  
xỉ k/2 bit.  
Loop_control  
SC  
SS  
Ctrl_0  
Zero_D  
2. Sử dụng lõi IP SCSA Montgomery trong  
phép tính lũy thừa modulo  
SS[k+2]  
Dựa trên việc phân tích ưu nhược điể  các  
thuật toán cài đặt phép tính   y thừa  odu o,  
trong bài báo nhóm tác giả thực hiện theo thuật  
toán [4] sử dụng song song hai  õi IP SCSA  
Montgomery được  ý hiệu S S _M1,  
SCSA_M2 để nâng cao tốc độ cho phép tính   y  
thừa  odu o. Thuật toán [4] được triển  hai như  
sau:  
Hình 1. Mô hình thiết kế lõi  
IP SCSA Montgomery trên FPGA  
Lõi IP SCSA được thiết  ế sử dụng  ột bộ  
cộng trung tâ   S  với ba ngõ đ u vào 1,2,3  
và hệ thống các thanh ghi lưu trữ X, SS, SC, N.  
Trong đ  thanh ghi X, N được thiết  ế để lưu  
giá trị đ u vào, SS và SC lưu  ết quả tính toán  
đ u ra, các thanh ghi được thiết  ế có độ dài  
2048 bit. Bộ điều  hiển vòng  ặp đ ng vai trò là  
máy thái, điều  hiển quá trình ho t động c a  õi  
IP đồng th i sinh ra các tín hiệu điều  hiển  
Ctrl_0, Ctrl_1 được sử dụng để  ựa chọn đ u  
vào cho bộ cộng  S . Kết quả  ỗi vòng thực  
hiện được  ưu ở hai thanh ghi SS, SC đồng th i  
làm giá trị phản hồi cho vòng  ặp tiếp theo. Số  
vòng  ặp phụ thuộc vào kích thước chiều dài  
chuỗi bit c a số  odu o. Dưới đ y là  ết quả  
tổng hợp thực hiện  õi IP SCSA Montgomery  
trên chip FPGA.  
Thuật toán lũy thừa (C,M,d,n)  
K= 22k (mod n)  
k : kích thước chiều dài chuỗi bit  
n: số  odu o  
1. P[0] = SCSA_M1(K, C, n);  
R[0] = SCSA_M2(K, 1, n);  
2. Vòng  ặp cho i ch y từ 0 tới k  
Nếu d[i] = 1 thì  
R[i+1] = SCSA_M2(R[i], P[i], n);  
Kết thúc nếu;  
48 Số 2.CS (08) 2018  
Nghiên cứu Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
BẢNG 3. KẾT QUẢ THỰ  HIỆN MỘT SỐ PHÉP TÍNH  
LŨY THỪ  MODULO  
P[i+1] = SCSA_M1(P[i], P[i], n);  
Kết thúc vòng  ặp  
RSA  
dencrypt  
RSA  
encrypt  
Chiều  
dài bit  
Thuật toán  
[4] sử dụng  
lõi IP  
3. M = SCSA_M1(1, R[k], n);  
Trả   i  ết quả M;  
Chip  
FPGA  
khóa d  
khóa e  
(ms)  
(k)  
(ms)  
Lõi IP phép tính   y thừa  odu o 2048 bit  
được  ập trình bằng ngôn ngữ  ô tả ph n cứng  
HDL Verilog, được thực hiện  iể  tra theo bộ  
tiêu chu n tha  số NIST FIPS 186-3. Dưới đ y  
là  ột số  ết quả thực hiện  õi IP phép tính   y  
thừa modulo:  
IPcore nhân  
Faster MM  
0,24  
0,22  
21,1  
15,6  
XC7  
z045  
IPcore nhân  
SCSA MM  
2048  
BẢNG 2. KẾT QUẢ  ÀI ĐẶT THUẬT TOÁN [4] LŨY  
THỪ  MODULO SỬ DỤNG  Á  IP BỘ NHÂN  
MONTGOMERY KHÁC NHAU TRÊN FPGA  
Để thấy rõ hiệu năng c a thuật toán 6 so với  
các thuật toán 3 và thuật toán 5, nh   nghiên  
cứu đ  tổng hợp và n p  ên chip  
Zynq7z045ffg676-2 thuật toán   y thừa modulo  
sử dụng các thuật toán nêu trên. Một số tiêu ch  
 ỹ thuật so sánh giữa chúng c  thể t    ược  
như trong Bảng 4 dưới đ y (vẫn với các tha  số  
trong [5])  
T n số  
ho t  
động  
Tài  
nguyên  
thiết kế  
Chiều  
dài bit  
Thuật toán  
[4] sử dụng  
IPcore  
Chip  
FPGA  
(k)  
(MHz)  
194,4  
281,2  
(LUTs)  
48.740  
42.311  
IPcore nhân  
Faster MM  
XC7  
z045  
IPcore nhân  
SCSA MM  
BẢNG 4. SO SÁNH  Á  THUẬT TOÁN NHÂN  
2048  
MODULU TRÊN CHIP Zynq7z045ffg676-2  
Lõi IP phép tính   y thừa  odu o 2048 bit  
sử dụng  õi IP nhân  odu o dựa trên giải pháp  
 ới Se i  arry Save  dder (S S )  
Montgomery. Điều này  hắc phục được  ột số  
h n chế trước đ  c a phép nhân modulo được  
thiết  ế theo giải pháp Faster Montgo ery. Kết  
quả tổng hợp  õi IP trên nền tảng ph n cứng  
chip FPGA XC7z045 như sau: số  ượng thanh  
ghi 57.475 chiế  13%, số cổng LUTs sử dụng  
61.929 chiế  28% tổng số tài nguyên c a chip  
FPG , t n số ho t động  ớn nhất c a  õi IP đ t  
281 MHz, được thể hiện trong H nh 2.  
Th i  
gian  
phép  
Th i  
gian  
phép  
Thuật  
toán  
Tài  
T n số  
clock  
MHz  
nguyên  
thiết  ế  
(%)  
nhân  
mã hóa giải    
modulo  
(ms)  
0,338  
0,218  
0,24  
(ms)  
42,00  
21,10  
15,67  
T.Toán 3  
T.Toán 5  
T.Toán 6  
141,36  
225,78  
284,10  
25%  
33 %  
28%  
Trong bảng Bảng 4 cho ta thấy  õi IP   y  
thừa  odu o áp dụng giải pháp thiết  ế  õi IP bộ  
nh n  odu o Montgo ery theo phư ng pháp c  
bản,tài nguyên chiế  23%, t n số ho t động  ớn  
nhất 141 MHz, th i gian thực hiện phép t nh   y  
thừa 42,0  s. Áp dụng giải pháp thiết  ế  õi IP  
bộ nh n  odu o Faster Montgo ery tài nguyên  
chiế  33 %, t n số ho t động 225 MHz, th i  
gian thực hiện phép t nh   y thừa 21,1  s.  òn  
với việc áp dụng thiết  ế  õi IP bộ nh n  odu o  
theo giải pháp S S-based Montgomerytài  
nguyên chiế  28% tổng số ce    ogic, thanh ghi,  
t n số ho t động 284 MHz, th i gian thực hiện  
 ột phép t nh 15,67  s, đ y  à  ột  ết quả  ới  
rất ý nghĩa trong bài toán thực thi hiệu năng cao  
(các  ết quả trên được thực hiện trên chip trên  
chip Zynq7z045ffg676-2)  
H nh 2. Kết quả tổng hợp  õi IP trên nền tảng ph n  
cứng chip FPG  X 7z045  
Số 2.CS (08) 2018 49  
Journal of Science and Technology on Information Security  
IV. KẾT QUẢ THỰ  HIỆN  
Trên c  sở các  ết quả nghiên cứu đ  được  
công bố trên thế giới về tối ưu hóa hiệu năng  
 hi triển  hai các thuật toán tính   y thừa  
 odu o bằng ngôn ngữ  ô tả ph n cứng, nhóm  
nghiên cứu đ  phân tích, đánh giá và  ựa chọn  
và cài đặt thành công thuật toán   y thừa nhị  
phân từ phải qua trái áp dụng giải pháp Semi  
 arry Save  dder trong bộ nhân Montgomery.  
Kết quả thực thi trên dòng chip Zynq  
7z045ffg676-2 cho thấy các ưu điể  về tài  
nguyên thiết  ế, t n số ho t động, th i gian thực  
hiện đ  thể hiện  ết quả tốt h n so với  ột số  
thuật toán được công bố trước đ . Các  ết quả  
trên c ng đ  được chúng tôi tích hợp cho các  
 odu e ph n cứng bảo  ật (HSM) do Viện  
Khoa học  ông nghệ  ật  ã, Ban    yếu  
 h nh ph  ch  trì thiết  ế chế t o.  
V. KẾT LUẬN  
Trong  hu n  hổ bài báo này, nh   tác giả  
trình bày và cập nhật  ột số c ng tr nh nghiên  
cứu  hoa học trên thế giới. Từ đ , ph n t ch  ột  
số thuật toán, để  ựa chọn ra  ột phư ng pháp  
hiệu quả c  thể thiết  ế cứng h a phép t nh   y  
thừa  odu o 2048 bit. Trong ph n thực nghiệ ,  
nh   tác giả triển  hai thực thi phư ng pháp  
này bằng ng n ngữ    tả ph n cứng HDL  
Veri og, sử dụng nền tảng ph n cứng c  sẵn Kit  
FPGA ZynqZC706. Sau đ , đưa ra  ột số  ết  
quả so sánh giữa các giải pháp  à nh   đ  thực  
hiện với các giải pháp đ  c , để  à  rõ t nh ưu  
việt c a giải pháp nghiên cứu  ới  à nh    ựa  
chọn. Trong th i gian tới, hướng nghiên cứu  
tiếp theo nh   sẽ thực hiện giải pháp trên với  
phép tính   y thừa  odu o 4096 bit.  
50 Số 2.CS (08) 2018  
Nghiên cứu Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
SƠ LƯỢ  VỀ TÁ  GIẢ  
TÀI LIỆU TH M KHẢO  
[1]. A. Menezes, P. van Oorschot and S. Vanstone..  
"Handbook of Applied Cryptography", CRC  
Press, 1996.  
[2]. Ranjeet Behera, Pradhan Abhisek, ―FPGA  
Implementation of RSA algorithm and to  
develop a crypto based security system‖,  
National Institute of Technology, Rourkela,  
2012-2013.  
ThS. Trần Văn Thắng  
Đ n vị c ng tác: Viện Khoa học –  
  ng nghệ  ật   , Ban    yếu  
 h nh ph  
Quá tr nh đào t o: Nhận bằng  ỹ sư  
nă  2014 và Th c sĩ nă  2018  
chuyên ngành Kỹ thuật điện tử.  
[3]. D. J. ANITHA, G. SUJATHA, P. JAYARAMI  
REDDY, “High Speed Low Cost New Semi  
Carry Save Adder Montgomery Modular  
Multiplier‖, International Journal of Scientific  
Engineering and Technology Research, 2016.  
[4]. Mclvor, Ciaran, Maire McLoone, and John V.  
Hướng nghiên cứu hiện nay:   ng nghệ vi   ch,  
FPGA.  
TS. Hoàng Văn Thứ  
Đ n vị c ng tác: Viện Khoa học –  
  ng nghệ mật   , Ban    yếu  
 h nh ph .  
McCanny.  
multiplication and RSA cryptographic processor  
architectures.", Signals, Systems and  
"Fast  
Montgomery  
modular  
Computers, 2004. Conference Record of the  
Thirty-Seventh Asilomar Conference on. Vol. 1.  
IEEE, 2003.  
Quá trình đào t o: Nhận bằng  ỹ sư  
nă  1998 và Th c sĩ nă  2004  
chuyên ngành Kỹ thuật  ật   , Học viện Kỹ thuật  ật  
  . Nhận bằng Tiến sĩ Toán học, Viện Khoa học -  
  ng nghệ qu n sự nă  2012.  
[5]. FIPS PUB 186-4. ―Digital Signature Standard  
(DSS‖). July, 2013.  
Hướng nghiên cứu hiện nay: Khoa học -   ng nghệ  
Mật   .  
Số 2.CS (08) 2018 51  
pdf 7 trang yennguyen 26080 Free
Bạn đang xem tài liệu "Về một giải pháp cứng hóa phép tính lũy thừa modulo", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfve_mot_giai_phap_cung_hoa_phep_tinh_luy_thua_modulo.pdf