Tài liệu Đề xuất ma trận MDS đạt hiệu năng cao khi cài đặt trên phần cứng cho các mã pháp dạng AES: Công nghệ thông tin & Khoa học máy tính
Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 118
ĐỀ XUẤT MA TRẬN MDS ĐẠT HIỆU NĂNG CAO KHI
CÀI ĐẶT TRÊN PHẦN CỨNG CHO CÁC MÃ PHÁP DẠNG AES
Hoàng Văn Quân*
Tóm tắt: Trong bài báo này, chúng tôi phân tích, đánh giá một số kết quả đã có
về ma trận MDS có cấu trúc dịch vòng cho phép biến đổi MixColumns trong tầng
tuyến tính của mã pháp dạng AES. Dựa trên các phân tích này, chúng tôi đề xuất
một ma trận mới có khả năng cài đặt hiệu quả trên phần cứng, đồng thời đánh giá
số lượng điểm bất động và tính khuếch tán của tầng tuyến tính sử dụng ma trận đề
xuất. Kết quả này được áp dụng để chọn ra một ma trận phù hợp cho việc xây dựng
một tầng tuyến tính cho mã khối có cấu trúc SPN kích thức khối 128 bít dạng AES
đạt hiệu quả cao khi thực hiện trên phần cứng.
Từ khóa: Ma trận MDS vòng, Tầng tuyến tính, Cài đặt phần cứng, AES.
1. MỞ ĐẦU
Hầu hết các mã khối được thiết kế đều dựa trên 2 nguyên tắc ...
8 trang |
Chia sẻ: quangot475 | Lượt xem: 513 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Đề xuất ma trận MDS đạt hiệu năng cao khi cài đặt trên phần cứng cho các mã pháp dạng AES, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Công nghệ thông tin & Khoa học máy tính
Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 118
ĐỀ XUẤT MA TRẬN MDS ĐẠT HIỆU NĂNG CAO KHI
CÀI ĐẶT TRÊN PHẦN CỨNG CHO CÁC MÃ PHÁP DẠNG AES
Hoàng Văn Quân*
Tóm tắt: Trong bài báo này, chúng tôi phân tích, đánh giá một số kết quả đã có
về ma trận MDS có cấu trúc dịch vòng cho phép biến đổi MixColumns trong tầng
tuyến tính của mã pháp dạng AES. Dựa trên các phân tích này, chúng tôi đề xuất
một ma trận mới có khả năng cài đặt hiệu quả trên phần cứng, đồng thời đánh giá
số lượng điểm bất động và tính khuếch tán của tầng tuyến tính sử dụng ma trận đề
xuất. Kết quả này được áp dụng để chọn ra một ma trận phù hợp cho việc xây dựng
một tầng tuyến tính cho mã khối có cấu trúc SPN kích thức khối 128 bít dạng AES
đạt hiệu quả cao khi thực hiện trên phần cứng.
Từ khóa: Ma trận MDS vòng, Tầng tuyến tính, Cài đặt phần cứng, AES.
1. MỞ ĐẦU
Hầu hết các mã khối được thiết kế đều dựa trên 2 nguyên tắc xây dựng cơ bản của
Shannon, đó là tính xáo trộn (confusion) và tính khuếch tán (diffusion) [5]. Nếu như tính
xáo trộn được đảm bảo bởi các hộp thế thì tính khuếch tán được đảm bảo bởi tầng biến đổi
tuyến tính (được gọi là tầng tuyến tính). Mặt khác tầng tuyến tính là thành phần nguyên
thủy mật mã chậm nhất trong một mã khối, vì vậy việc nghiên cứu lựa chọn tầng tuyến
tính không những liên quan trực tiếp đến độ an toàn của mã khối kháng lại một số thám
mã quan trọng như thám mã lượng sai và thám mã tuyến tính mà còn ảnh hưởng đến việc
cài đặt hiệu quả của mã khối.
Đối với các mã pháp dạng AES, tầng tuyến tính bao gồm phép biến đổi AES
ShiftRows và phép biến đổi AES MixColumns. Trong đó ShiftRow là một hoán vị các từ
của trạng thái và MixColumns là phép nhân ma trận với một cột của trạng thái và cũng là
phép tính phức tạp tiêu tốn nhiều thời gian trong tầng tuyến tính [8]. Trong tầng tuyến tính
của AES, ma trận MDS sử dụng là một ma trận có cấu trúc dịch vòng được lựa chọn kỹ
lưỡng trên cơ sở đảm bảo độ an toàn và khả năng cài đặt. Tuy nhiên, theo đánh giá trên
quan điểm điểm bất động của tác giả Z’aba M. R. [7] thì tầng khuếch tán này lại có 216
điểm bất động, cũng trong [7] tác giả cũng đã chỉ ra sự tương quan tỷ lệ nghịch giữa độ
khuếch tán và số điểm bất động, đó là càng nhiều điểm bất động thì độ khuếch tán càng
thấp, điều này ảnh hưởng trực tiếp đến tính an toàn của thuật toán mã khối.
Trong một số công trình nghiên cứu về khả năng cài đặt cứng hóa trên FPGA đối với
AES [1], [2], [3], các phương pháp cài đặt tầng tuyến tính chủ yếu dựa trực tiếp trên phép
nhân với các hằng số của ma trận trong biến đổi MixColumns. Mặc dù các hằng số của ma
trận này được lựa chọn để dễ dàng cài đặt, tuy nhiên phép nhân trực tiếp khi cứng hóa là
chưa tối ưu và chưa đưa ra được một đánh giá trực quan về chiều sâu thiết kế của mạch
phần cứng nhận được.
Trong [6] nhóm tác giả đề xuất một số ma trận MDS và MDS cuộn có dạng Hadamard
hiệu quả trong cài đặt phần cứng. Cụ thể trong tài liệu này đưa ra số cổng XOR cần thiết đối
với mỗi một ma trận đề xuất, tuy nhiên, những đánh giá cho tài nguyên cài đặt phần cứng
của nhóm tác giả này là chưa chặt, chưa đưa ra chiều sâu thiết kế (số xung nhịp), đây là yếu
tố có ảnh hưởng trực tiếp đến tốc độ xử lý của mạch phần cứng. Hơn nữa tầng tuyến tính mà
mã pháp dạng AES sử dụng ma trận MDS Hadamard cuộn lại có nhiều điểm bất động.
Trong bài báo này chúng tôi đề xuất một ma trận sử dụng trong biến đổi MixColumns
đạt hiệu quả cài đặt trên phần cứng tốt hơn so với ma trận đang sử dụng trong AES. Đây
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 119
cũng là một ma trận MDS 4x4 có cấu trúc dịch vòng, nhưng tầng tuyến tính nhận được
ngoài khả năng đạt hiệu năng cao khi cài đặt cứng hóa nó còn không có điểm bất động.
2. ĐỘ PHỨC TẠP CỦA BIẾN ĐỔI MIXCOLUMNS SỬ DỤNG MA TRẬN MDS
CÓ CẤU TRÚC DỊCH VÒNG KHI CÀI ĐẶT TRÊN PHẦN CỨNG
Đối với tầng tuyến tính của mã pháp dạng AES, phép biến đổi MixColumns thực hiện
phép nhân ma trận Y M X :
00 01 02 03 00 01 02 03
10 11 12 13 10 11 12 13
20 21 22 23 20 21 22 23
30 31 32 33 30 31 32 33
1 1
1 1
1 1
1 1
y y y y x x x xa b
y y y y x x x xa b
y y y y x x x xa b
y y y y x x x xb a
, (1)
trong đó
2
, , , , 0 , 3nij ijy x a b i j . Để tính được một phần tử, ví dụ 00y , ta cần thực
hiện 00 00 10 20 30y x a x b x x . Ký hiệu M=Cir(a,b,1,1)
Phép cộng XOR 4 số hạng yêu cầu 2 xung nhịp (2 clock cycle). Như vậy số xung nhịp
để tính phần tử này là t +2, trong đó t là số xung nhịp lớn nhất yêu cầu khi thực hiện với
phép nhân với a hoặc b. Số cổng XOR yêu cầu để tính 00y là # # 3a b n , ở đây
# là ký hiệu số cổng XOR khi thực hiện phép nhân với phân tử trong
2n
. Do vậy
để thực hiện tính toàn bộ giá trị đầu ra cần tiến hành 16 phép tính song song với nhau (do
các hàng trong ma trận có các phần tử giống nhau). Nhưng số xung nhịp yêu cầu chỉ là
t+2, còn tổng số cổng XOR yêu cầu là 16 # # 3a b n .
3. PHÂN TÍCH HIỆU QUẢ CÀI ĐẶT CỦA HAI MA TRẬN
MDS CIR(2,3,1,1) VÀ HAD(1,2,4,145)
Ma trận tuyến tính trong biến đổi MixColumns của chuẩn mã hóa AES là một ma trận
4×4 với các phần tử thuộc trường hữu hạn 82 với đa thức sinh là
8 4 3 1f x x x x x .
2 3 1 1
1 2 3 1
1 1 2 3
3 1 1 2
M
Để thực hiện phép biến đổi này ta cần thực hiện phép nhân với phần tử 2 và 3 (biểu
diễn ở dạng cơ số 10) trong 82 . Trong một số cài đặt phần cứng [1], [2], [3] được công bố
phép nhân với 2 và 3 được thực hiện theo sơ đồ trong hình 1–a), b). Biểu thức phép nhân
phần tử a với 2 trên trường đang xét như trong công thức (2);
trong đó 7 0 7 0,..., , ,..., , x , 0,1 , 0,1,...,7i ix x x y y y y i . Như vậy, phép
nhân này cần xử dụng 3 cổng XOR với đầu vào 2 bit và đầu ra 1 bit và yêu cầu một xung
nhịp (1 clock cycle). Khi thực hiện phép nhân với 3 yêu cầu 11 cổng XOR và hai xung
nhịp (hình 1–b).
Công nghệ thông tin & Khoa học máy tính
Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 120
7 6
6 5
5 4
4 7 3
3 7 2
2 1
1 7 0
0 7
y x
y x
y x
y x x
y x x
y x
y x x
y x
(2)
7 6 7
6 5 6
5 4 5
4 3 4 7
3 2 3 7
2 1 2
1 1 0 7
0 0 7
y x x
y x x
y x x
y x x x
y x x x
y x x
y x x x
y x x
(3)
3 7 0 0 7
7 6 7
6 5 6
5 4 5
4 4
3 2
2 1 2
1 1
, u x x y x x
y x x
y x x
y x x
y x u
y x u
y x x
y x v
(4)
Trong (3) ta thấy biểu thức tính các cặp bit 3 4,y y hoặc 0 1,y y có các thành phần
giống nhau. Do vậy, có thể viết công thức (3) thành (4). Theo đó phép nhân này cũng cần
2 xung nhịp để thực hiện và chỉ cần 9 cổng XOR thay vì 11 như cài đặt trước đó. Minh
họa cho phép nhân này được thể hiện trong hình 1–c).
Hình 1. Phép nhân với 2 và 3 trên 82 với
8 4 3 1f x x x x x .
Như vậy, số cổng XOR cần thiết cho cài đặt phép nhân một hàng của ma trận trong
MixColumns với một cột của ma trận dữ liệu bằng 12 + 3x8 = 36. Còn số xung nhịp yêu
cầu khi đó sẽ là 2 + 2 = 4, trong đó 2 xung nhịp đầu tiên là để thực hiện phép nhân với 3,
còn 2 xung nhịp tiếp theo là yêu cầu khi cộng XOR 4 byte để nhận được 1 byte đầu ra.
Hình 2. Phép nhân với 2, 4 và 145 trên 82 với
8 7 6 1f x x x x x .
Trong [6] nhóm tác giả đề xuất ma trận Had(1,2,4,145), trên 82 với đa thức sinh
là 8 7 6 1f x x x x x . Phép nhân phần tử x với 2, 4 và 145 trường này tương
ứng có biểu thức (5), (6) và (7) và hình 2. Các ma trận Hadamard cũng có mỗi hàng (hoặc
mỗi cột) có các phần tử giống nhau, đây chính là một lợi thế trong cài đặt của nó. Trong
[6] đã đánh giá số tài nguyên cài đặt của phép nhân một hàng của ma trận Had(1,2,4,145)
với một cột của khối dữ liệu cần
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 121
7 6 7
6 5 7
5 4
4 3
3 2
2 1
1 0 7
0 7
y x x
y x x
y x
y x
y x
y x
y x x
y x
(5)
7 5 6
6 4 6 7
5 3
4 2
3 1
2 0 7
1 6
0 6 7
y x x
y x x x
y x
y x
y x
y x x
y x
y x x
(6)
7 0 1
6 1
5 1 7
4 0 6
3 5
2 4
1 3
0 0 1 2
y x x
y x
y x x
y x x
y x
y x
y x
y x x x
(7)
số cổng XOR là 13 + 3x8 = 37. Tuy nhiên, theo chúng tôi đánh giá này là chưa chặt vì
nhóm tác giả không xét đến sự trùng lặp trong những biểu thức trong phép nhân với 4 và
145. Như vậy thực chất số cổng XOR cần thiết chỉ là 11 + 3x8 = 35. Theo (6), (7) phép
nhân với 4 hoặc 145 cần 2 xung nhịp, do vậy để cài đặt ma trận Had(1,2,4,145) cần 2+2 =
4 xung nhịp. Giá trị này cũng chính bằng số xung nhịp khi cài đặt ma trận sử dụng trong
biến đổi MixColumns của thuật toán AES, tuy nhiên ma trận Hadamard nói trên khi cài
đặt tốn ít tài nguyên hơn.
4. ĐỀ XUẤT MA TRẬN MDS HIỆU QUẢ KHI CÀI ĐẶT TRÊN PHẦN CỨNG
CHO MÃ PHÁP DẠNG AES
4.1 Đề xuất ma trận
Độ phức tạp trong cài đặt ma trận tuyến tính trên phần cứng chính là việc cài đặt phép
nhân với các phần tử của ma trận trong trường hữu hạn. Các nguyên thủy mật mã được sử
dụng trong thực tế phải lựa chọn sao cho chúng dễ dàng cài đặt cả trên phần cứng và phần
mềm. Như vậy khi cài đặt các ma trận tuyến tính việc lựa chọn các hệ số trong mỗi ma
trận sẽ quyết định tính chất cài đặt của nó. Trong bất kỳ trường hữu hạn
2n
, với đa thức
sinh là đa thức bậc n thì phép nhân với phần tử 1, 2 và 2-1 là dễ cài đặt [8]. Trong cài đặt
trên phần cứng phép nhân với 2 và 2-1 có độ phức tạp như nhau và chỉ cần duy nhất 1 xung
nhịp, do vậy nó đạt được hiệu quả cao nhất về mặt tốc độ.
Như chúng ta biết để nhận được số nhánh cực đại ma trận vòng M trong (1) phải có
tính MDS [4], tức là tất cả các ma trận con vuông của nó phải không suy biến. Từ đây,
điều kiện để M có tính MDS là:
2 2
0,1 , 0,1
, , 1
a b
a b b a ab
(8)
Thông thường những phần tử là bội trên trường hữu hạn của phần tử 2 hoặc nghịch đảo
của nó được ưu tiên lựa chọn. Trong biểu thức (8) ta thấy cặp giá trị 2 1, 2 , 2a b
luôn thỏa mãn trên trường
2n
bất kỳ. Tuy nhiên, phải lựa chọn đa thức sinh của trường
này làm sao cho phép nhân với phần tử 22 khi cài đặt trong phần cứng chỉ yêu cầu 1 xung
nhịp. Với giá trị n = 8 chỉ có duy nhất một đa thức thỏa mãn yêu cầu này đó là đa thức
8 5 3 1f x x x x x . Đây là một đa thức nguyên thủy trong tổng số
82 1 / 8 16 đa thức nguyên thủy có thể có bậc bằng 8 (bảng 1), trong đó là
hàm Euler [8]. Do vậy, nó có thể được sử dụng trong vài trò đa thức sinh của trường 82 .
Công nghệ thông tin & Khoa học máy tính
Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 122
Bảng 1. Danh sách 16 đa thức nguyên thủy bậc 8 trên 2 .
TT Đa thức TT Đa thức
1 8 6 5 2 1x x x x 9 8 6 5 3 1x x x x
2 8 7 2 1x x x x 10 8 7 6 5 4 2 1x x x x x x
3 8 6 4 3 2 1x x x x x x 11 8 7 5 3 1x x x x
4 8 6 5 1x x x x 12 8 5 3 2 1x x x x
5 8 7 6 3 2 1x x x x x x 13 8 7 6 1x x x x
6 8 6 3 2 1x x x x 14 8 6 5 4 1x x x x
7 8 4 3 2 1x x x x 15 8 7 6 5 2 1x x x x x x
8 8 7 3 2 1x x x x 16 8 5 3 1x x x x
Bây giờ chúng tôi sẽ giải thích vì sao lại chọn đa thức số 16 trong bảng 1 cũng như
chứng tỏ vì sao cặp 2 1, 2 , 2 4,149a b lại tạo được lợi thế khi cài đặt trên phần
cứng trong trường hữu hạn nhận được. Tương tự như trong mục 3, phép nhân a với 2, 4,
149 trong 82 với đa thức sinh là
8 5 3 1f x x x x x được minh họa trong
hình 3.
Hình 3. Phép nhân với 2, 4 và 149 trên 82 với
8 5 3 1f x x x x x .
Ta thấy phép nhân với phần tử 4 chỉ yêu cầu 1 xung nhịp, điều này nhận được là do
tính chất của đa thức sinh của trường 82 . Thật vậy, giả sử đa thức sinh xác định phép
nhân đang xét là
78
21
1,ii iif x x x . Khi thực hiện phép nhân
2y x (hình 2) cần thực hiện việc kiểm tra “true-false” đối với bit x7, là bit cao nhất của
x. Kết quả là một số trong số các bit đầu ra của 2y x được xác định bằng tổng theo
modul 2 của bit x7 với bít đầu vào tương ứng , 0 7ix i như sau:
0 7
1 7
,
, 1 7i i i
y x
y x x i
Tiếp theo khi thực hiện phép 2 2 2z y x có dạng:
0 7 6 7 7
1 0 1 7 7 6 7 7 1 7 1 7 6 1
1 7 2 6 1 7 7
,
1
, 2 7.i i i i i i i
z y x x
z y y x x x x x
z y y x x x i
Ta cần điều kiện làm sao cho biểu thức các bit của z không chứa 3 số hạng, như vậy phép
nhân với 4 chỉ cần 1 clock. Từ biểu thức trên, ta có điều kiện như sau:
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 123
1 7 0, 2 7i i i i
Nếu 7 0 , ta có: 1 0, 2 7i i i (9)
Nếu 7 1 , ta có; 1 0, 2 7i i i i điều này dẫn đến 1,1 7i i tuy
nhiên trong trường hợp này đa thức nhận được
78
1
1i
i
f x x x
là không bất khả
quy, do đó trong trường hợp này không thỏa mãn điều kiện cần.
Từ phân tích trên chúng tôi sử dụng điều kiện (9) đối với đa thức sinh của trường
2n
để nhận được phép nhân với 22 mà chỉ yêu cầu 1 xung nhịp. Với đa thức
8 5 3 1f x x x x x điều kiện (9) nói trên là thỏa mãn và đây cũng là đa thức
nguyên thủy duy nhất có bậc bằng 8 thỏa mãn yêu cầu này.
Như vậy ta có thể tính được số xung nhịp cho cài đặt phép nhân một hàng của ma trận
đề xuất với một cột của ma trận dữ liệu sẽ là 1 + 2 = 3 và số cổng XOR yêu cầu là 9 + 8x3
= 33, giảm được 1 xung nhịp và 3 cổng XOR so với ma trận đang sử dụng trong AES,
giảm được 1 xung nhịp và 2 cổng XOR so với ma trận được đề xuất trong [6].
4.2. Điểm bất động của tầng tuyến tính theo ma trận đề xuất
Ta biết rằng số nhánh là tham số quan trọng nhất của tầng tuyến tính, bên cạnh đó số
lượng điểm bất động của tầng tuyến tính [7] sẽ là một tham số quan trọng khác khi lựa
chọn tầng tuyến tính, nó ảnh hưởng đến độ an toàn và được xem như là một tham số bổ
sung cho khái niệm số nhánh của tầng tuyến tính.
Tầng tuyến tính trong AES gồm 2 biến đổi: ShiftRows và MixColumns. Khi kết hợp cả
hai biến đổi này có thể biểu diễn bởi phép nhân một ma trận A16x16 với một véc tơ cột.
Theo [7] số lượng điểm bất động phụ thuộc vào rank A I , trong đó I là ma trận đơn
vị. Đối với tầng tuyến tính của AES có 16rank A và 14rank A I , như vậy nó
có
8 16 14 16
_ 2 2 2
n rank A rank A I
Cir AESN
điểm bất động. Tương tự đối với ma trận
đề xuất Cir(4, 149, 1, 1) và ma trận Had(1, 2, 4, 145) có
8 16 16
4,149,1,1
2 1
Cir
N và
8 16 16
1,2,4,145
2 1
Had
N
.
Như vậy là, nếu sử dụng hai ma trận này để thay thế ma trận trong biến đổi
MixColumns trong AES thì sẽ nhận được tầng tuyến tính mà chỉ có một điểm bất động và
đây chính là điểm 0 tầm thường.
5. KẾT QUẢ CÀI ĐẶT THỰC NGHIỆM TRÊN FPGA
Chúng tôi đã thực hiện thiết kế các chức năng của biến đổi MixColumns khi sử dụng
ma trận đề xuất và một số ma trận đã xem xét trong nghiên cứu này. Chương trình được
viết trên ngôn ngữ VHDL cho FPGA của Xilinx. Công cụ thiết kế là Xilinx ISE phiên bản
14.3. Kết quả cụ thể như sau:
5.1. Đối với ma trận đề xuất
Hình 4 là kết quả mô phỏng ModelIsim đối với ma trận đề xuất, trong cài đặt này ta
thấy sau 3 xung nhịp ta sẽ nhận được kết quả đầu ra tính từ thời điểm xuất hiện tín hiệu
đầu vào. Kết quả thực nghiệm này bằng đúng giá trị mà chúng tôi đánh giá lý thuyết ở
mục trước.
Tài nguyên cần tiêu tốn khi thiết kế biến đổi MixColumns sử dụng ma trận đề xuất
Cir(4, 149, 1, 1) được thống kê trong bảng 2. Số LUT cần sử dụng là 528 cho cài đặt toàn
bộ biến đổi MixColums, giá trị này đúng bằng 16x33 như đánh giá lý thuyết cho cài đặt
Công nghệ thông tin & Khoa học máy tính
Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 124
phần cứng ở mục trước.
Hình 4. Kết quả mô phỏng đối với ma trận đề xuất Cir(4, 149, 1, 1).
5.2. Đối với ma trận đang sử dụng trong AES
Đối với ma trận Cir(2, 3, 1, 1) sử dụng trong AES. Tiến hành đánh giá chúng tôi cũng
nhận được số xung nhịp và tài nguyên yêu cầu thực tế đúng với giá trị phân tích lý thuyết.
Hình 6 là kết quả mô phỏng ModelIsim về số xung nhịp và bảng 2 là tài nguyên yêu cầu
cho cài đặt thực nghiệm này.
Hình 6. Kết quả mô phỏng đối với ma trận trong AES Cir(2, 3, 1, 1).
Chúng tôi cũng thực hiện cài đặt tương tự cho trường hợp khi sử dụng ma trận Had(1,
2, 4, 145) và nhận được kết quả thực nghiệm giống như đánh giá lý thuyết.
Bảng 2. Tham số cài đặt phần cứng trên FPGA của Xilinx.
Ma trận
Slice
Registers
LUT-FF
pairs
LUTs
Clock
cycles
Maximum
Frequency
(MHz)
Speed
(Mbps)
Cir(2,3,1,1) 728 566 576 4 1225.415 39213
Cir(4,149,1,1) 656 520 528 3 1225.415 52284
Had(1,2,4,145) 702 546 560 4 1225.415 39213
Kết quả nhận được cho thấy ma trận đề xuất có tham số cài đặt phần cứng tốt nhất, tốc
độ xử lý dữ liệu vượt trội khi so sánh với những ma trận cùng xét.
6. KẾT LUẬN
Bài báo đề xuất một ma trận MDS có tính chất mật mã tốt có thể thay thế ma trận
trong biến đổi MixColumns trong các mã pháp dạng AES. Về đánh giá lý thuyết và kết quả
cài đặt thực tế cho thấy ma trận đề xuất không những yêu cầu tài nguyên ít hơn mà còn có
tốc độ xử lý dữ liệu cao hơn ma trận gốc trong AES và ma trận đề xuất trong [6]. Kết quả
nghiên cứu có ý nghĩa rất lớn trong việc thực hiện nâng cao hiệu quả mã hóa, giải mã dữ
liệu khi sử dụng mã khối cho các ứng dụng trên thực tế, đặc biệt là đối với các mạng
truyền thông có bảo mật yêu cầu tốc độ cao, băng thông rộng, đa dịch vụ và yêu cầu thời
gian thực.
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 125
TÀI LIỆU THAM KHẢO
[1]. Chodowiec Paweł and Kris Gaj, “Very compact FPGA implementation of the AES
algorithm”, in Cryptographic Hardware and Embedded Systems-CHES 2003. 2003,
Springer. p. 319-333.
[2]. Elbirt Adam J, et al., “An FPGA-based performance evaluation of the AES block
cipher candidate algorithm finalists”. Very Large Scale Integration (VLSI) Systems,
IEEE Transactions on, 2001. 9(4): p. 545-557.
[3]. Liu Bozhong, et al., “On the security of 4-bit involutive S-boxes for lightweight
designs”, in Information Security Practice and Experience. 2011, Springer. p. 247-256.
[4]. Mac Williams Florence Jessie and Neil James Alexander Sloane, “The theory of
error-correcting codes”. Vol. 16. 1977: Elsevier.
[5]. Shannon Claude E, “Communication theory of secrecy systems”. Bell system
technical journal, 1949. 28(4): p. 656-715.
[6]. Sim Siang Meng, et al. “Lightweight MDS Involution Matrices”.in Fast Software
Encryption. 2015.
[7]. Z'aba Muhammad Reza, Ph.D, “Analysis of linear relationships in block ciphers”.
Queensland University of Technology, 2010.
[8]. Зензин ОС and МА Иванов, “Стардарт криптографической защиты-AES.
Конечные поля”. 2002: КУДРИЦ-ОБРАЗ М 2002, 179p.
ABSTRACT
A MATRIX MDS PROPOSE ARCHIEVING HIGH PERFORMANCE WHEN
IMPLEMENTED ON HARDWARE FOR AES-LIKE BLOCK CIPHERS
In this paper, we analyze, evaluate some current results of the circulant MDS
matrix which used in the linear layer of AES-like block ciphers. Based on this
analysis, we propose a new matrix with the ability of efficient installation on
hardware, and evaluate the amount of points estate and diffusion property of linear
transformations using proposed matrix. This result is applied to select a suitable
matrix for building a linear layer for block ciphers, in SPN structure with 128-bit
block-size, archieving high performance when implemented on hardware.
Keywords: Matrix MDS, Linear layer, Hardware implementation, AES.
Nhận bài ngày 17 tháng 11 năm 2015
Hoàn thiện ngày 01 tháng 12 năm 2015
Chấp nhận đăng ngày 25 tháng 12 năm 2015
Địa chỉ: Cục Cơ yếu – BTTM;
* Email: hoangvanquan@gmail.com ;
Các file đính kèm theo tài liệu này:
- 16_quan_9478_2149273.pdf