Một số nghiên cứu cho một thay thế của phép biến đổi shiftrows trong các mã pháp hạng nhẹ dạng AES

Gần đây, có nhiều mã khối hạng nhẹ được đề xuất có cấu trúc giống

AES như mã khối LED[3], KLEIN, . Trong đó, tầng tuyến tính của cấu trúc này rất

được quan tâm trong đó có nhiều kết quả nghiên cứu phép biến đổi MixColumns tuy

nhiên, đối với ShiftRows lại không được như vậy. Trong bài báo này, chúng tôi đề

xuất một mô hình mã pháp có cấu trúc SPN sử dụng biến đổi kiểu ShiftRows trong

cấu trúc AES xuất phát từ ý tưởng trong bài báo [4]. Trong đó, chúng tôi đưa ra chi

tiết chứng minh độ an toàn cho các mã pháp có dạng này đối với hai thám mã quan

trọng là thám mã lượng sai và tuyến tính. Đồng thời, chúng tôi đưa ra một số phân

tích đánh giá cài đặt phần mềm cho mô hình cụ thể khi phép biến đổi trong trường

hợp cụ thể là 44 trên trường 4 với mục đích xây dựng một tầng khuếch tán phù

hợp cho mã khối hạng nhẹ có cấu trúc SPN với độ dài khối 64 bit.

pdf 9 trang dienloan 5520
Bạn đang xem tài liệu "Một số nghiên cứu cho một thay thế của phép biến đổi shiftrows trong các mã pháp hạng nhẹ dạng AES", để 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: Một số nghiên cứu cho một thay thế của phép biến đổi shiftrows trong các mã pháp hạng nhẹ dạng AES

Một số nghiên cứu cho một thay thế của phép biến đổi shiftrows trong các mã pháp hạng nhẹ dạng AES
Công nghệ thông tin & Khoa học máy tính 
N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu  hạng nhẹ dạng AES.” 182 
MỘT SỐ NGHIÊN CỨU CHO MỘT THAY THẾ CỦA PHÉP BIẾN 
ĐỔI SHIFTROWS TRONG CÁC MÃ PHÁP HẠNG NHẸ DẠNG AES 
Nguyễn Văn Long1, Trần Duy Lai1, Nguyễn Bùi Cương1* 
Tóm tắt: Gần đây, có nhiều mã khối hạng nhẹ được đề xuất có cấu trúc giống 
AES như mã khối LED[3], KLEIN, ... Trong đó, tầng tuyến tính của cấu trúc này rất 
được quan tâm trong đó có nhiều kết quả nghiên cứu phép biến đổi MixColumns tuy 
nhiên, đối với ShiftRows lại không được như vậy. Trong bài báo này, chúng tôi đề 
xuất một mô hình mã pháp có cấu trúc SPN sử dụng biến đổi kiểu ShiftRows trong 
cấu trúc AES xuất phát từ ý tưởng trong bài báo [4]. Trong đó, chúng tôi đưa ra chi 
tiết chứng minh độ an toàn cho các mã pháp có dạng này đối với hai thám mã quan 
trọng là thám mã lượng sai và tuyến tính. Đồng thời, chúng tôi đưa ra một số phân 
tích đánh giá cài đặt phần mềm cho mô hình cụ thể khi phép biến đổi trong trường 
hợp cụ thể là 4 4 trên trường 4 với mục đích xây dựng một tầng khuếch tán phù 
hợp cho mã khối hạng nhẹ có cấu trúc SPN với độ dài khối 64 bit. 
Từ khóa: Mã pháp dạng AES, Phép biển đổi dạng ShiftRows, Chứng minh an toàn, Cài đặt hiệu quả. 
1. GIỚI THIỆU 
Hiện nay, rất nhiều thuật toán mã hóa được đề xuất cho các thiết bị có tài 
nguyên hạn chế trên thế giới tiêu biểu như chuẩn mật mã hạng nhẹ ISO/IEC 
29192-2 PRESENT [2], LED [3], . Các thuật toán này thường được thiết kế dựa 
trên nguyên lý chung với kích thước khối giảm đi và kích cỡ khóa nhỏ nhằm đạt 
cài đặt cứng tối thiểu cùng với hiệu năng cần thiết và độ an toàn phù hợp. Các mã 
khối có cấu trúc SPN với kích cỡ khối 64 bit là một sự lựa chọn an toàn do cấu trúc 
này đạt được hiệu năng tốt cũng như các kết quả đánh giá độ an toàn tường minh, 
nhất là các cấu trúc dạng AES với hàm vòng gồm các phép biến đổi định hướng từ 
(word-oriented) như AddRoundKey, SubBytes, ShiftRows, MixColumns. Hiện nay, 
có rất nhiều bài báo nghiên cứu cho hai phép biến đổi SubBytes và MixColumns 
trong khi đó phép biến đổi ShiftRows, từ khi các nhà thiết kế đề xuất cho đến nay, 
hầu như không có sự thay đổi và cải tiến ở mức sâu. Dường như các nhà thiết kế 
thỏa mãn với những đóng góp của ShiftRows cho toàn bộ mã pháp, cụ thể là các 
chứng minh của chiến lược vết lan rộng đều dựa vào sự khuếch tán của các byte 
chủ động của ShiftRows [1]. Gần đây, trong bài báo [4], đã đưa ra ý tưởng về một 
phép biến đổi có vai trò giống ShiftRows cho tầng tuyến tính của một nhân mã khối 
bên trong có cấu trúc SPN với nhiều lợi ích cài đặt. Tuy nhiên, các chứng minh 
tường minh về độ an toàn không được đưa ra trong chuẩn này. 
Trong bài báo này, chúng tôi sẽ đưa ra các kết quả lý thuyết làm rõ độ an toàn 
của các mã khối dạng AES sử dụng phép biến đổi thay thế ShiftRows này. Đồng 
thời đưa ra một số giải pháp cài đặt hiệu quả cho mã khối có tầng khuếch tán mới. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 183
Bố cục bài báo như sau, phần đầu chứng tôi đưa ra mô hình mã pháp SPN kích cỡ 
khối 64 bit với phép biến đổi thay thế mới. Tiếp theo là các chứng minh độ an toàn 
cho mã pháp SPN này. Cuối cùng là giải pháp cài đặt trên nền tảng 16 bit và 32 bit. 
2. ĐỀ XUẤT MÔ HÌNH KHUẾCH TÁN 64 BIT 
 SỬ DỤNG MA TRẬN MDS 4 4 
2.1. Mô hình mã pháp dạng AES cho kích thước 64 bit 
Các mã pháp dạng AES là các mã pháp sử dụng cấu trúc SPN với các phép toán 
xử lý định hướng từ (cụ thể trong trường hợp 64 bit là các “mẩu” (nibble) có kích 
thước là 4 bit, mà chúng tôi gọi là cell) gồm AddRoundKey, SubCells, ShiftRows, 
MixColumns. Trong đó, các phép toán này thường được lựa chọn để thỏa mãn một 
số tính chất cụ thể nhằm đạt được độ an toàn theo các yêu cầu của chứng minh 
trong chiến lược vệt lan rộng. Các tác giả của AES cũng đã đưa ra lập luận cho 
việc lựa chọn tối ưu của mình, cụ thể như tầng ShiftRows là các biến đổi dòng của 
bảng trạng thái cần có tính khuếch tán tối ưu, MixColumns biến đổi cột dựa trên 
một ma trận MDS có số nhánh cực đại. Khối dữ liệu đầu vào 64 bit (8 byte) được 
chia làm 16 mẩu, mỗi mẩu 4 bit tương đương với một phần tử trên trường 42 . Mỗi 
mẩu này được sắp xếp vào một khối hình vuông gồm có 16 ô nhớ (về sau gọi là 
cell) như hình vẽ dưới đây, trong đó 00x - là 4 bit thấp của byte đầu tiên trong 8 
byte khối dữ liệu, 10x - là 4 bit cao của byte này, 20x - là 4 bit thấp của byte thứ 2, 
30x - là 4 bit cao của byte thứ 2 này ... Ma trận dữ liệu được xử lý lần lượt qua các 
phép biến đổi AddRoundKeys, SubBytes, ShitfRows, MixColumns trong mỗi vòng 
mã hóa. 
S S S S
S S S S
S S S S
S S S S
4 ô
4 bit
Subcells ShiftRows MixColumns
x00 x01 x02 x03
x10 x11 x12 x13
x20 x21 x22 x23
x30 x31 x32 x33
Ki
AddRoundKey
Hình 1. Cách bố trí dữ liệu và các phép biến đổi 
 trong hàm vòng của mã pháp dạng AES. 
2.2. Mô hình tầng khuếch tán sử dụng phép biến đổi thay thế ShiftRows được 
đề xuất 
Tầng khuếch tán đề xuất sẽ bao gồm 2 biến đổi chính, đó là biến đổi chuyển vị 
các ô nhớ, ký hiệu là TranCells, biến đổi này được minh họa như hình 2 
Công nghệ thông tin & Khoa học máy tính 
N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu  hạng nhẹ dạng AES.” 184 
(Tranposition là chuyển vị, một dạng đặc biệt của hoán vị) và biến đổi MixColumns, 
cái mà được xây dựng trực tiếp trên cơ sở ma trận MDS 4 4 trên 42 . 
Hình 2. Biến đổi TranCells lên khối dữ liệu 64 bit 
 (hàng cột hoặc cột hàng). 
Mô hình này giống với của AES nhưng thay thế biến đổi ShiftRows bằng biến 
đổi TranCells. Lý do lựa chọn biến đổi này thay vì ShiftRows như trong AES là 
ngoài việc chỉ phải sử dụng duy nhất một module TranCells cho cả quá trình mã 
hóa và giải mã thì lựa chọn này sẽ ảnh hưởng trực tiếp đến việc cài đặt trên các 
thanh ghi 16 và 32 bit. Vấn đề này sẽ được giải thích trong phần phân tích cài đặt 
của tầng khuếch tán đề xuất dạng này. Nhưng trước tiên chúng ta phân tích thiết kế 
của AES. 
Như chúng ta đã biết, chuẩn mã hóa AES là một thuật toán hướng byte. Tầng 
khuếch tán được tạo thành từ 2 biến đổi: ShiftRows và MixColumns. Sự thay đổi 
các byte trong khối dữ liệu trong AES dưới tác động của tầng khuếch tán trong hai 
vòng mã liên tiếp được minh họa như trong hình 3. Cũng tương tự như vậy sự thay 
đổi các Cell trong khối dữ liệu trong hình 4 của mô hình đề xuất cũng tạo ra hiệu 
ứng tương tự. Trong mục tiếp theo chúng tôi sẽ xem xét sự xuất hiện các mẫu chủ 
động trong mô hình tầng khuếch tán đề xuất này so với mô hình của của AES và 
chứng minh chặt chẽ lý thuyết cho độ an toàn của tầng khuếch tán đề xuất này. 
2.3. Độ an toàn của các mã pháp SPN sử dụng tầng khuếch tán đề xuất 
Trong mục này sử dụng ký hiệu W a là số lượng các cell chủ động trong mẫu 
a có kích thước 64 bit được sắp xếp theo dạng hình vuông (hình 1). Các cell được 
gọi là chủ động nếu giá trị của nó khác không. Một cột trong mẫu a được gọi là chủ 
động nếu nó chứa ít nhất một cell khác không. Ký hiệu colW a là số lượng các cột 
chủ động của mẫu a. Số lượng các cell chủ động trong cột thứ j ký hiệu là jW a . 
Các biến đổi SubCells (tầng S-hộp) sử dụng S-hộp 4 bit và tầng cộng khóa 
AddRoundKey thực hiện phép XOR với khóa kích thước 64 bit. Theo đó mỗi biến 
đổi này sẽ có các tính chất như sau: SubCells và AddRoundKey không làm thay đổi 
giá trị của W a và colW a . TranCells không làm thay đổi giá trị của W a vì 
bản thân biến đổi này chỉ thay đổi vị trí các cell mà không thay đổi giá trị của nó. 
Nhưng giá trị của colW a sẽ bị thay đổi dưới tác động của biến đổi chuyển vị cell 
này. MixColumns làm thay đổi đổi giá trị của W a vì biến đổi này làm thay đổi 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 185
giá trị các cell. Nhưng giá trị của colW a sẽ không bị thay đổi dưới tác động của 
biến đổi này. 
Hình 3. Sự thay đổi các byte dưới tác 
động của tầng khuếch tán trong AES, 
Hình 4. Sự thay đổi các Cells dưới tác 
động của tầng khuếch tán trong mô 
hình đề xuất. 
Do vậy, các biến đổi SubCells và AddRoundKey không tham gia vào quá trình 
tạo các mẫu chủ động. Cho nên trong các phân tích tiếp theo sẽ không xem xét đến 
chúng mà chỉ quan tâm đến biến đổi TranCells và MixColums ở mỗi vòng mà thôi. 
Ngoài ra, ma trận trong biến đổi MixColumns là ma trận MDS 4 4 trên 42 , do 
vậy, số nhánh cực đại nó đem lại là bằng 5. Như vậy, đối với một cột chủ động bất 
kỳ của mẫu chủ động a tổng cell chủ động ở đầu vào và ra của MixColums là lớn 
hơn hoặc bằng 5. 
Đối với vòng biến đổi thứ i, khối đầu vào ký hiệu là 1ia , đầu ra sau khi áp 
dụng TranCells ký hiệu là 1ib . Số thứ tự các vòng bắt đầu từ i = 1, như vậy mẫu 
chủ động đầu tiên sẽ là 0a . Khi đó bi nhận được từ ai qua biến đổi TranCells và chúng 
có cùng số lượng các cell chủ động (tức là i iW a W b ). Còn giữa 1ib và ia là 
MixColumns và chúng có cùng số lượng các cột chủ động (cùng giá trị colW ). 
Bằng những ký hiệu và phân tích như vậy chúng tôi sẽ chứng minh lại các định 
lý về sự xuất hiện của các mẫu chủ động của AES được đưa ra trong [1], nhưng đối 
với mô hình tầng khuếch tán đề xuất. 
Mệnh đề 1. Số lượng các cell chủ động của hai vòng mã liên tiếp nhau bị chặn 
dưới bởi 5Q, trong đó Q là số lượng các cột chủ động ở đầu vào của vòng thứ 2. 
Chứng minh. Biến đổi MixColums có số nhánh bằng 5, do vậy tổng số cell chủ 
động trong mỗi cột chủ động của mẫu 0b và 1a là lớn hơn hoặc bằng 5. Cho nên 
nếu số lượng cột chủ động của mẫu 1a bằng Q thì tổng số cell chủ động của tất cả 
các cột chủ động của mẫu 0b và 1a sẽ bị chặn dưới bởi 5Q, vì biến đổi MixColums 
không làm thay đổi số cột chủ động. Hơn nữa 0 0W a W b do biến đổi 
Công nghệ thông tin & Khoa học máy tính 
N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu  hạng nhẹ dạng AES.” 186 
TranCells không làm thay đổi số cell chủ động. Do đó ta có 0 1 5W a W a Q . 
■ 
Bổ đề 1. Trong hai vòng mã liên tiếp, tổng số cột chủ động ở đầu vào và đầu ra 
không nhỏ hơn 5. Nói một cách khác 0 2 5col colW a W a . 
Chứng minh: Biến đổi TranCells thực hiện hoán vị các cell theo nguyên tắc 
chuyển vị của ma trận vuông 4 4, theo đó các hàng của ma trận sẽ trở thành cột 
dưới tác động của biến đổi này. Từ đấy ta thấy số cột chủ động của mẫu chủ động 
ia sẽ bị chặn dưới bởi số cell chủ động của mỗi cột chủ động trong mẫu ib , có 
nghĩa là 
0 3
col i j i
j
W a max W b
 , tương tự như vậy ta cũng có 
0 3
col i j i
j
W b max W a
 . Bây giờ, trong mẫu a1 có ít nhất một cột chủ động, ta gọi 
cột đó là “cột g”. Vì số nhánh của MixColums bằng 5 cho nên tổng số cell chủ 
động trong mẫu 0b và mẫu 1a là lớn hơn hoặc bằng 5, có nghĩa là 
 0 1 5g gW b W a . Hơn nữa theo lập luận ở trên có 0 0col gW a W b và 
 1 1col gW b W a . Từ đây ta nhận được 0 1 0 1 5col col g gW a W b W b W a . 
Mặt khác 2 1col colW a W b do biến đổi MixColumns không làm thay đổi số cột 
chủ động. Do vậy ta có 0 2 5col colW a W a ■ 
Mệnh đề 2. Bốn vòng mã liên tiếp bất kỳ có số cell chủ động nhỏ nhất bằng 25. 
Chứng minh: Tổng số cell chủ động trong 4 vòng mã liên tiếp bằng 
 0 1 2 3W a W a W a W a . Áp dụng mệnh đề 1 cho 2 vòng đầu tiên ta có: 
 0 1 15 colW a W a W a và cho 2 vòng tiếp theo ta có: 
 2 3 35 colW a W a W a . 
Mặt khác theo bổ đề 1 ta nhận được: 1 3 5col colW a W a . Từ đây suy ra: 
 0 1 2 3 1 35 25col colW a W a W a W a W a W a .■ 
Như vậy về tính chất mật mã thì cấu trúc tầng khuếch tán được đề xuất này 
giống với cấu trúc của tầng khuếch tán trong AES. Trong phần tiếp theo chúng tôi 
sẽ xem xét một số lợi thế về cài đặt của cấu trúc này trên trường 42 . 
3. MỘT SỐ PHÂN TÍCH CÀI ĐẶT CỦA CẤU TRÚC ĐỀ XUẤT 
Bản chất của phép chuyển vị TranCells cho đầu ra là ma trận chuyển vị của ma 
trận dữ liệu đầu vào. Với tính chất như thế, chỉ cần phải thiết kế duy nhất một 
module TranCells và dùng cho cả quá trình mã và giải mã. Điều này thì không 
giống với các mã pháp dạng AES có kích cỡ khối là 64 bit như LED, cụ thể quá 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 187
trình giải mã ở LED phải dùng InvShiftCells. Đây là một lợi thế của cấu trúc mới. 
Xin phép được nhắc lại rằng AES là một thuật toán hướng byte và các phép toán 
thực hiện trên 82 , thuật toán này có lợi thế khi cài đặt trên các môi trường với 
thanh ghi 32 bit. Do đó, các mã pháp được xây dựng dựa trên nguyên lý này cho 
kích cỡ 64 bit cũng có lợi thế cài đặt trên các môi trường với thanh ghi 16 bit (vì 
các biến đổi của nó là trên 42 ). Đối với tầng khuếch tán đề xuất cũng vậy, khi cài 
đặt trên môi trường với các thanh ghi 16 bit cũng hoạt động theo nguyên tắc tương 
tự như trong AES hoặc như trong LED. Chúng tôi sẽ mô tả quá trình cài đặt đối 
với cấu trúc đề xuất trên môi trường khác nhau. 
3.1. Phân tích cài đặt trên môi trường với thanh ghi 16 bit cho cấu trúc tầng 
khuếch tán được đề xuất 
Thứ tự biến đổi trong một vòng mã (không tính biến đổi cộng khóa 
AddRoundKey) được thực hiện lần lượt qua các phép biến đổi SubCells, TranCells, 
MixColumns. Bây giờ ta sẽ xem xét quá trình thay đổi dữ liệu lần lượt qua các 
phép biến đổi này: ký hiệu a là đầu vào của SubCells, b là đầu ra của SubCells 
cũng là đầu vào của phép TranCells, còn c là kết quả của biến đổi TranCells, sau 
biến đổi MixColumns cho kết quả là e. Biến đổi MixColumns có biểu diễn là ma 
trận 
4 4
,0 , 3ijM m i j 
 , đó là ma trận MDS 4 4 được lựa chọn trên 42 . Như 
vậy, ta có các biểu thức sau biến đổi SubCells, ij ijb S a , biến đổi TranCells 
cij=bji 0 , 3i j , biến đổi MixColumns biến véc tơ cột cj thành véc tơ cột ej qua 
ma trận M. Khi đó, 
0 00 01 02 03
1 10 11 12 13
0 1 2 3
2 20 21 22 23
3 30 31 32 33
[ ] [ ] [ ] [ ] ,
j
j
j j j j
j
j
e m m m m
e m m m m
S a S a S a S a
e m m m m
e m m m m
   
Ký hiệu 
00 01 02 03
10 11 12 13
0 1 2 3
20 21 22 23
30 32 32 33
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] , [ ] , [ ] , [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
S a m S a m S a m S a m
S a m S a m S a m S a m
T a T a T a T a
S a m S a m S a m S a m
S a m S a m S a m S a m
    
     
    
    
là các bảng tra cứu, trong đó 42a  . Do vậy, mỗi bảng gồm 16 phần tử, mỗi phần 
tử là các số 16 bit. Bộ nhớ cần thiết để lưu toàn bộ 4 bảng này là 
 4 16 2 128 byte . Như vậy 3 biến đổi SubCellss, TranCells và MixColums 
trong một vòng mã có thể thực hiện như sau: 
Công nghệ thông tin & Khoa học máy tính 
N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu  hạng nhẹ dạng AES.” 188 
 0 0 1 1 2 2 3 3[ ] [ ] [ ] [ ]j j j j je T a T a T a T a    . Ta thấy, việc lập bảng và gộp các biến đổi 
lại cho phép cài đặt hiệu quả trên các thanh ghi 16 bit. 
3.2. Lợi thế của cấu trúc tầng khuếch tán đề xuất khi cài đặt trên môi trường 
với thanh ghi 32 bit 
Thuật toán AES thiết kế trên 82 cho nên mỗi giá trị trong bảng tra cứu Ti là các 
số 32 bit, chỉ số để truy cập vào các bảng này là một số có kích thước 1 byte. Các 
ngôn ngữ lập trình thường hỗ trợ các phép toán trên byte cho nên đây là một lợi thế 
của AES. Do vậy nó cài đặt tối ưu trên môi trường 32 bit này (là môi trường phổ 
biến nhất). Trong khi tầng khuếch tán ta quan tâm thực hiện trên 42 do vậy việc 
cài đặt theo nguyên tắc này chỉ có thể hiệu quả trên các môi trường với thanh ghi 
16 bit mà thôi. Khi truy cập vào các bảng tra cứu lại phải thao tác trên các số 4 bit 
mà các ngôn ngữ lập trình thông dụng không hỗ trợ kiểu dữ liệu 4 bit, do vậy 
không tạo được lợi thế so với của AES mặc dù kích thước khối nhỏ hơn, kích 
thước bảng tra cứu nhỏ hơn và thực hiện phép cộng XOR trên các số có kích thước 
nhỏ hơn. Để khắc phục vấn đề này khi cài đặt trên môi trường với thanh ghi 32 bit, 
chúng tôi đã thực hiện việc ghép nối các bảng tra cứu lại sao cho mỗi phần tử của 
nó là các số 32 bit. Giá trị của chỉ số để truy cập vào các bảng tra cứu này là một số 
1 byte, nhưng byte này lại nhận được từ 2 số 4 bit nằm ở 2 byte khác nhau trong 8 
byte (64 bit) của khối dữ liệu đầu vào. Mặc dù tốc độ của mã pháp SPN 64 bit khi 
đó được cải thiện nhưng nếu theo cách cài đặt của AES thì chưa đạt được tối ưu 
nhất trên môi trường với thanh ghi 32 bit vì thực chất vẫn phải thao tác trên các số 
4 bit. 
Sau đây, chúng tôi sẽ trình bày cách cài đặt hiệu quả của cả mã pháp SPN 64 bit 
sử dụng tầng khuyếch tán đã được đề xuất (sử dụng phép biển đổi TranCells) trên 
nền tảng 32 bit. 
Hình 5. Quá trình biến đổi khi đặt trên thanh ghi 32 bit. 
Do TranCells biến đổi hàng thành cột trong ma trận trạng thái nên khi cài đặt 
trên nền tảng thanh ghi 32 bit ta không phải thao tác trên các số 4 bit hay chính xác 
hơn là địa chỉ khi truy cập vào các bảng tra cứu (sau khi được ghép nối) là 1 trong 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 189
8 byte của khối dữ liệu đầu vào 64 bit mà không cần phải thực hiện việc ghép nối 
từ 2 số 4 bit của 2 byte khác nhau như trong cài đặt của các mã pháp dạng AES sử 
dụng ShiftRows. Đây chính là lợi thế mà phép TranCells đem lại. Như phân tích 
và minh họa trong hình 5, để thực hiện ghép nối các bảng tra cứu lại với nhau, cụ 
thể cần tính 4 bảng * * * *0 0 0 1 1 1 2 2 2 3 3 3, , ,T T T T T T T T T T T T . Mỗi bảng mới 
này có 256 phần tử, mỗi phần tử kích thước 32 bit. Do đó kích thước mỗi bảng tra 
T* là 256 4 (byte) = 1024 byte (1KB), 4 bảng tra sẽ cần dung lượng 4KB. Cần 
chú ý nữa đó là địa chỉ của mỗi bảng tra cứu là 1 trong 8 byte của khối 64 bit, ví dụ 
byte đầu tiên 0 10 00 2 11 01|| , ||byte a a byte a a  Cài đặt này cần 8 phép truy cập địa 
chỉ vào các bảng tra và 6 phép XOR 2 số 32 bit. Hình 6 là minh họa cho cài đặt 
này. 
*
0T
*
1T
*
2T
*
3T
Hình 6. Minh họa cài đặt trên thanh ghi 32 bit. 
Như vậy, là cài đặt trên môi trường với thanh ghi 32 bit của tầng khuếch tán đề 
xuất là tối ưu hơn tầng khuếch tán được thiết kế theo nguyên tắc của AES nhưng 
trên trường 42 . 
Bảng 1. So sánh tốc độ một số mã pháp. 
Mã pháp Tốc độ mã (MBytes/s) Tốc độ giải mã 
(MBytes/s) 
M1 71,8 78,25 
M2 174,6 166,9 
PRESENT [2] 19,6 11,1 
LED [3] 89,9 93,1 
AES 224,9 232,8 
Một số kết quả thực nghiệm. Để thể hiện lợi thế của hiệu năng cài đặt phần mềm 
cho phép biến đổi mới, chúng tôi đã thực hiện việc cài đặt phần mềm mô hình hai 
mã pháp có cấu trúc AES với kích cỡ khối 64 bit thực hiện cùng các phép biến đổi 
SubBytes, MixColumns và cùng lược đồ khóa trên trường 42 tuy nhiên đối với 
thuật toán thứ nhất M1 sử dụng phép biến đổi ShiftRows (mã pháp giống AES) 
còn thuật toán thứ hai M2 sử dụng phép biến đổi TranCells với đề xuất cài đặt như 
trên. Mã nguồn được viết trên ngôn ngữ C++ chuẩn, không chứa bất cứ một lệnh 
Công nghệ thông tin & Khoa học máy tính 
N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu  hạng nhẹ dạng AES.” 190 
assembler nào và được biên dịch trên Visual Studio 2012 trên một nhân của máy 
PC Intel i3-4150 3.5GHz RAM 4G, Win 7. Ngoài ra, chúng tôi cũng so sánh thêm 
một số mã pháp khác trong cùng điều kiện. Các mã pháp này đều chạy trên chế độ 
ECB. Các kết quả được thể hiện trong bảng 1. 
4. KẾT LUẬN 
Như vậy, các mã pháp SPN sử dụng phép biển TranCells có độ an toàn chống 
lại thám mã lượng sai và tuyến tính tương đương với các mã pháp dạng AES sử 
dụng ShiftRows. Hơn nữa, việc sử dụng phép biến đổi này giúp cho các mã pháp 
SPN có độ dài khối là 64 bit không những có lợi thế khi cài đặt phần cứng cụ thể 
như không cần module để tính nghịch đảo cho biến đổi thay thế ShiftRows mà còn 
giúp việc cài đặt phần mềm thuận lợi hơn trên các nền tảng 4 bit, 16 bit và 32 bit so 
với các mã pháp hạng nhẹ được đề xuất hiện nay trên thế giới. 
TÀI LIỆU THAM KHẢO 
[1]. Daemen, Joan, and Vincent Rijmen. The design of Rijndael: AES-the 
advanced encryption standard. Springer Science & Business Media, 2002. 
[2]. Bogdanov, Andrey, et al. PRESENT: An ultra-lightweight block cipher. 
Springer Berlin Heidelberg, 2007. 
[3]. Guo, Jian, et al. "The LED block cipher." Cryptographic Hardware and 
Embedded Systems- CHES 2011. Springer Berlin Heidelberg, 2011. 326-341. 
[4]. Dolmatov, Vasily, and Alexey Degtyarev. "GOST R 34.11-2012: Hash 
Function." (2013). 
ABSTRACT 
SOME STUDIES FOR A REPLACEMENT OF SHITFROWS OPERATOR 
IN AES-LIKE LIGHTWEIGHT CIPHERS 
Recently, there are many lightweight block cipher that have an AES-like structure 
as LED, KLEIN, The linear layer of this structure are was interesting, in which 
many research results for MixColumns operator but not being such ShiftRows 
operator. In this paper, we propose a model of SPN cipher using like-ShiftRows 
operator and give some secure proofs for its resistance to cryptanalysis in general 
case. Moreover, we analysis implementation for this model in specific case (64 bit 
block cipher) for the purpose of construction a diffusion layer of lightweight SPN 
block cipher with 64 bit block-length. 
Keywords: AES-like cipher, ShiftRows-like operator, Secure proofs, Effient implementation. 
Nhận bài ngày 21 tháng 07 năm 2015 
Hoàn thiện ngày 10 tháng 08 năm 2015 
Chấp nhận đăng ngày 07 tháng 09 năm 2015 
Địa chỉ: 1 Viện Khoa học Công nghệ Mật mã - Ban Cơ yếu Chính phủ - Bộ Quốc phòng. 
 *Email: nguyenbuicuong@gmail.com. 

File đính kèm:

  • pdfmot_so_nghien_cuu_cho_mot_thay_the_cua_phep_bien_doi_shiftro.pdf