Sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng
giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và
ứng dụng điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan
trọng. Các kết quả của khoa học mật mã ngày càng được triển khai trong
nhiều lĩnh vực khác nhau của đời sống xã hội, trong đó phải kể đến rất
nhiều ứng dụng dân sự, thương mại, quân sự… Các ứng ụng mã hoá thông
tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện tử
qua mạng…đã trở nên gần gũi và quen thuộc với mọi người. Nhất là trong
lĩnh vực quân sự cần phải có độ bảo mật cao.
Với sự phát triển của công nghệ hiện nay, các bộ xử lý có tốc độ và
khả năng xử lý ngày càng cao, nhiều phương pháp mã hoá đã không còn
đảm bảo độ an toàn cao, đòi hỏi cần phải có một phương pháp mã hoá mới
có thể đảm bảo độ an toàn cho thông tin. Phương pháp mã hoá
CRYPT(D_128) ra đời đã đáp ứng được phần nào độ an toàn mà các
phương pháp mật mã trước còn hạn chế.
Bên cạnh đó, các phương pháp thiết kế với trợ giúp đắc lực của máy
tính dựa trên nền tảng công nghệ FPGA đã và đang tỏ rõ tính ưu việt của
nó. Không những chúng đáp ứng được yêu cầu về mặt tích hợp, về tính bảo
mật mà còn giúp giảm thiểu giá thành thiết kế và rút ngẵn thời gian thiết
kế. Mặc dù ra đời từ cách đây hơn 2 thập kỷ, công nghệ FPGA ở nước ta
vẫn còn là một lĩnh vực tương đối mới mẻ, đặc biệt là đối với các sinh viên.
Vì thế tôi chọn đề tài: “Nghiên cứu và đánh giá hiệu quả tích hợp trên công
nghệ FPGA thuật toán mật mã CRYPT(D-128)”.
Nhệm vụ đặt ra của đề tài là: nghiên cứu về công nghệ FPGA, tìm
hiểu về thuật toán mật mã CRYPT(D-128) và cài đặt thuật toán bằng ngôn
ngữ mô tả phần cứng VHDL, sử dụng phần mềm tích hợp để mô phỏng
1
thực hiện của thuật toán khi tích hợp trên FPGA. Từ nhiệm vụ đặt ra đó đề
tài chia làm 3 chương sau:
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.
9 &'() #"
':8;!&'()+*
#$<=>8? @&'()+
+$<A9B=>&'()+
/9 9 CD47 +#
(! !! +#
++
CD47 ! 9 9 !
++
#$ , 9E 9 CD47 " +F
#GHI /('D / $DD 'H.J$ )2H7H/2#$ % & ' ( ) #
#9 ! H.J +
#$!! ! H.J
3
##/9 8 E %! F*
#+$ ! $IK'34L"5!
8MF
;<=,./E;G;HB/IJKLMNO@;,@!!!!!!!!!!!!PP
# $ 34"5&'() FF
# !! $ 34L"5* 1*
##N OP D $DH /+ , - . 1
BF;-/L;O?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QA
4
;<=,;>?@
!ổ8R1ề2ạ1ịRSế
!!/2T6URVW2XYSZ[&'(4\2]1^RS7!
Cấu trúc mạng hoán vị thay thế với 3 vòng mã hóa của một khối dữ
liệu 16 bit đầu vào. Trong đó S-box là các hộp thay thế, P-box là các hộp
hoán vị và K là các khóa vòng.
Lý do của sự khuyếch tán: nếu như thay đổi một bít của bản rõ sau
đó đưa vào một S-box sẽ làm thay đổi một vài bít đầu ra, sau khi thay đổi
6
được phân phối bởi P-box giữa một vài S-box, kể từ đấy tất cả các đầu ra
của S-box lại được thay đổi một vài bit.vv. thực hiện một vài vòng mồi bit
sẽ thay đổi sau một thời gian kết thúc thì bản rõ được thay đổi hoàn toàn.
Lý do của sự xáo trộn cũng giống với sự khuyếch tán sự thay đổi bit
khóa của các khóa vòng mỗi sự thay đổi sẽ lan truyền qua tất cả các bít sự
thay đổi bản mã rất phức tạp. Ngược lại nếu thay đổi một bit trong bản mã
sẽ thay đổi khóa hoàn toàn.
Hộp S là một hệ thống phi tuyến của hệ mật và là một yếu tố quan
trọng quyết định độ mật của hệ. Cho đến nay vẩn chưa có các tiêu chuẩn
chung đầy đủ để thiết kế hôp S. Trong thuật toán chúng ta đang nghiên cứu
sử dụng các hộp S của thuật toán DES.
Cấu trúc của các S-Box
Mỗi S-box như một bộ biến đổi gồm 4 bảng biến đổi, mỗi bảng biến
đổi 1 đầu vào 4 bit thành đầu ra cũng 4 bit (bảng 16 dòng).
Đầu vào 4 bit chính là lấy từ các bit 2-5 của nhóm 6 bit.
Các bit 1 và 6 sẽ dùng để xác định 1 trong 4 bảng biến đổi của S-
box. Vì thế chúng được gọi là các bit điều khiển (CL và CR: left control và
right control bit).
Các thuộc tính của S-Box Các nguyên tắc thiết kế của 8 S-boxes được
đưa vào lớp ‘Classified information’ ở Mỹ.
NSA đã tiết lộ 3 thuộc tính của S-boxes, những thuộc tính này bảo
đảm tính confusion & diffusion của thuật toán.
7
1. Các bít vào (input bit) luôn phụ thuộc không tuyến tính vào các bít
ra (output bit).
2. Sửa đổi ở một bit vào làm thay đổi ít nhất là hai bit ra.
3. Khi một bit vào được giữ cố định và 5 bit con lại cho thay đổi thì
2/1
trong phần cứng. Các phần tử được điều
chỉnh F
2/1
có thể lựa chọn như 2 sự thay thế tuyến tính khác nhau S
1
(nếu
=0) và S
2
(nếu
=1) với kích thước 2x2 (Hình 3.1c).Mối quan hệ giữa các
biểu di‡n được đề cập của các phần tử được điều chỉnh được CEs đưa ra
biểu di‡n bằng các công thức trong (Hình 1.2d).
8
Hình1. 2. Hộp cơ sở F
2/1
: (a) Trường hợp tổng quát; (b) Chi tiết; (c) Đại
diện bởi cặp của hai thay thế 2x2; (d) Biểu thức mô tả mối quan hệ giữa
đại diện b và c; (e) Hàm logic thay thế hộp P
2/1
; (f) Sự khác nhau tương
ứng với sai phân(vi phân) đặc trưng của phần tử F
2/1
.
Các đầu ra của hộp S
1
có thể được mô tả bằng cập các BFs trong 2 biến:
Các đầu ra của hộp S
(0)
hoặc F
2/1
(1)
). Các công thức được
chỉ ra trong hình 3.1d mô tả việc lựa chọn sự thay đổi hiện tại trong 1 số
dạng rõ ràng. Các công thức có thể được viết lại như sau:
9
Sử dụng một số cấu trúc mạng đã cho của hộp P
n/m
và việc thay thế
các khối P
2/1
bởi các phần tử của các kiểu khác nhau F
2/1
, có thể thu được
các thay đổi khác nhau của các hộp thực hiện được điều chỉnh F
n/m
thực
hiện các biến đổi của các kiểu khác nhau, có nghĩa là, trong trường hợp
tổng quát không bảo toàn trọng lượng của các vectơ nhị phân được biến
đổi. Một hộp F
n/m
không đồng nhất có thể được soạn sử dụng các hộp F
2/1
cơ sở với một vài kiểu khác nhau ví dụ mỗi tầng hoạt động có thể duy nhất.
Thông thường chúng ta xem xét các hộp F
n/m
với cấu trúc chuẩn mà được
2/1
với F
-1
2/1
trong cấu trúc mạng hộp P
-1
n/m
, thu được hộp F
-
1
n/m
). Để xác định cấu trúc d‡ dàng của quan hệ các phép toán đảo ngược,
có thể sử dụng các khối F
2/1
là phép đối hợp được điều chỉnh cơ sở
!!.(_`a$#b6#c$d(_ed_1f#1#*(("#$%+,-!
Trong trường hợp thực hiện cài đặt trên FPGA, tất cả các phần tử
điều khiển được CE F
2/1
được cài đặt sử dụng các ô nhớ 4 bit, mỗi ô nhớ
thực hiện 1 BF trong 3 biến. Tuy nhiên, mỗi ô như thế co sthể thực hiện bất
10
kˆ BF nào trong 4 biến. Các cặp hàm như thế có thể được sử dụng để dựng
các CE F
2/2
điều khiển được với vectơ điều khiển 2 bit (v,z) xác định việc
lựa chọn một trong 4 biến đổi cơ sở có thể S1, S2, S3, S4 (Hình 3.3).
Hình 1.3. Phần tử F
2/2
(v,z)
φ
, chúng ta có thể sử dụng các cấu trúc
mạng của các hộp P
m/n
và 3 máy xây dựng đệ quy được xem xét trong phần
trước. Hai dạng mô tả của các CE F
2/2
được kết nối với biểu thức sau:
Đầu ra của các CE F
2/2
có thể được mô tả như sau:
Cho các giá trị n và s, thực hiện FPGA của các hộp F
m/n
và
2/
φ
yêu cầu sử
dụng số lượng tài nguyên phần cứng như nhau. Tuy nhiên, tổng quát, hộp
2/
φ
là phép mã hoá hiệu quả hơn.
12
Để chọn CE F
2/2
phù hợp như các khối xây dựng cơ sở trong thiết kế
của CSPN thực hiện mã hoá các phép biến đổi, thích hợp để sử dụng tiêu
chuẩn sau:
1. Mỗi 2 đầu ra của CE F
2/2
là một BF cân bằng phi tuyến trong 4
2x2.
13
Số các BF cân bằng trong 4 biến là 12870; vì vậy, trong trường hợp
đầu tiên phải xem xét hơn 10
8
biến thể. Thật vậy, có 10920 hàm có NL 4 và
1920 hàm có NL 2 (bảng 1.5).
Hình 1. 5. Hàm Boolean trong bốn biến phân loại
(x
1
, x
2
, x
3
, x
4
) trên
giá trị đường phi tuyến NL(
)
Tìm kiếm vét cạn của tất cả các nghịch đảo có thể CE F
2/2
việc thoả
mãn tiêu chuẩn lựa chọn là hiệu quả hơn trong trường hợp 2. Thật vậy, số
tập {S1,S2,S3,S4} có thể là ít hơn 340000. sử dụng phương pháp cuối
cùng, các phần tử F
2/2
được phân loại tương ứng với các thuộc tính phi
tuyến của nó. Trong sự phân loại, khái niệm NL toàn bộ được sử dụng,
∆∆>−−∆
/
) Để đánh giá tất cả
các xác suất như vậy tương ứng với cùng CE sử dụng một số giá trị toạn
bộ, khái niệm entropy trung bình được giới thiệu như sau:
Trong đó các tập riêng biệt của các DC được đặc trưng bởi giá trị entropy
15
Trong trường hợp k=0, tất cả các DC của các phần tử F
2/2
được quy vào 5
tập A, B, C, D, E được biểu di‡n trong bảng 1.9.
Hình 1.9. Phân phối đặc trưng của các xác suất p
ij0
các DC của phép đối hợp được điều chỉnh F
2/2
có NL toàn bộ lớn nhất.
2208 phần tử này được chia vào 16 tập có các giá trị khác nhau của các
entropy trung bình mà được biểu di‡n trong bảng 1.9, trong đó cột 3 chỉ ra
các sự thay thế 2x2 được thực hiện với các phần tử F
2/2
của các tập tương
ứng.
Trong khi tổ chức bit điều khiển z trong hộp F
2/2
, biến đổi CE F
2/2
vào phần tử F
2/2
(0,z)
với bit điều khiển z, và F
2/2
(v,0)
với bit điều khiển v, có thể được đưa vào các
kiểu R
2/1
, Q
2/1
, Z
2/1
hoặc các kiểu khác. Vì vậy có thể đưa ra một số đặc
16
điểm chính quy của các phần tử F
2/2
như tập 4 từ biểu thị các kiểu của các
thay đổi được điều chỉnh được chỉ ra. Ví dụ (Q, Q, Q, Q) (R, R, R, R) và
(R, R, Q, Q). Nói chung, một số phần tử của F
2/1
khi các thay đổi điều chỉnh
cơ sở của các phần tử F
2/2
có thể ra ngoài tiêu chuẩn NL được giới thiệu để
chọn các phần tử F
2/1
như các bản gốc để thiết kể các phép toán điều chỉnh.
Vì vậy việc xem xét CE F
2/2
nên đưa vào tài khoản khác nhau của các phần
tử F
z
các phần tử điều khiển được, trong đó z là 1 số tự nhiên. Chúng được
biểu di‡n như L, L
n
,L
(z)
. Cấu trúc chung của một số hộp F
m/n
và các nghịch
đảo của nó có thể nhận được d‡ dàng từ cấu trúc chung của các hộp P
m/n
va
P
m/n
-1
. Khái niệm về thứ tự các hộp DDO có thể được mở rộng theo cách
sau:
^lR! !"
#$%
&'()*+,-'../0'
12345 -&65 !73&89
45,:
Các cấu trúc mạng có biểu di‡n đối xứng gương được quan tâm đáng
kể cho việc thiết kế các mã khối lặp lại. Trong khi xem xét các hộp F
m/n
,
chúng ta đưa vào tài khoản thực, các phần tử F
2/1
không là các phép đối
hợp. Vì vậy, trong các cấu trúc mạng đối xứng nên sử dụng ít nhất 2 biến
*+&,-';0<=%>?>@%. &A'5B5'C
=
@F%
17.JK'L&'!45 !7317"
$
!:
Nếu số các tầng hoạt động là lẻ thì trong một hộp đối xứng tầng L
s/2+1
là một phép đối hợp, nghĩa là các CE được tạo ra là các phép đối hợp. Nếu
hộp F
m/n
có cấu trúc đối xứng bao gồm các phần tử F
2/1
không là các phép
đối hợp thì nó cũng bao gồm ít phần tử F
2/1
-1
. Nếu trong các hộp F
m/n
chúng
ta có số tầng hoạt động lẻ thì nó bao gồm ít nhất 3 biến thể khác nhau của
các CE: F
2/1
và F
2/1
-1
và các phép đối hợp được điều chỉnh cơ sở. Việc thay
thế trong các hộp này tất cả các phần tử chuyển mạch bởi các phép đối hợp
-1
32/96
(d)
20
Việc thay thế các hộp F
8/12
và F
8/12
-1
, các phần tử F
2/1
và F
2/1
-1
bởi các
nghịch đảo các phần tử F
2/2
và F
2/2
-1
có các hộp
12/8
φ
và
1
12/8
−
φ
chuẩn bậc
nhất. Các hộp
12/8
−
φ
được xây dựng sử dụng cùng các phần tử F
2/2
).
Hình 1.12. Cấu trúc của hộp
96/32
Φ
(a),
1
96/32
−
Φ
(b),
384/64
Φ
(c), và
1
384/64
−
Φ
Các hộp
192/32
φ
và
384/64
φ
có thể được biểu di‡n như sau:
21
22
Hình 1.13. Cấu trúc của hộp đối xứng F
2n/4m
(a), P
16/32
(b), F
64/256
(c)
Trong đó F
n/m
|| F
n/m
biểu di‡n sự kết hợp của 2 hộp F
n/m
trong một
tầng đơn. Các hộp F
n/m
và F
n/m
-1
bậc nhất và phép đối hợp được mô tả như
sau:
23
Trong đó i=1,2, …,n/4 và j=1,2, … , n/4. Ví dụ trong trường hợp n=32
chúng ta có:
Trong đó =1,2 ,… ,8 và =1,2,….,8. Vì hoán vị I
’
3
nằm ngoài tập
các hoán vị được cố định tương ứng với các máy xây dựng đệ quy thứ nhất,
8/16
P
16/48
P
32/128
… (dòng này tương ứng với
giá trị bậc h=n/4, nó được xây dựng sử dụng máy đệ quy
kiểu 3, tại bước đầu tiên, hộp P
4/4
được sử dụng)
c. P
16/32
P
32/96
P
64/256
P
128/768
… (dòng này tương ứng
với giá trị bậc h=n/16, nó được xây dựng sử dụng máy đệ
quy kiểu 3, tại bước đầu tiên, hộp P
16/32
được sử dụng)
d. P
64/192
P
128/512
… (dòng này tương ứng với giá trị bậc
h=n/64, nó được xây dựng sử dụng máy đệ quy kiểu 3, tại
bước đầu tiên, hộp P