Professional Documents
Culture Documents
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ó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à 44 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.
182 N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu … hạng nhẹ dạng AES.”
Nghiên cứu khoa học công nghệ
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 44
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 24 . 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 đó x00 - là 4 bit thấp của byte đầu tiên trong 8
byte khối dữ liệu, x10 - là 4 bit cao của byte này, x20 - là 4 bit thấp của byte thứ 2,
x30 - 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.
AddRoundKey Subcells ShiftRows MixColumns
Ki
x00 x01 x02 x03 S S S S
4ô
4 bit
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 183
Công nghệ thông tin & Khoa học máy tính
(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 44 trên 24 .
184 N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu … hạng nhẹ dạng AES.”
Nghiên cứu khoa học công nghệ
giá trị các cell. Nhưng giá trị của Wcol 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 Hình 4. Sự thay đổi các Cells dưới tác
động của tầng khuếch tán trong AES, độ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 44 trên 24 , 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à ai 1 , đầu ra sau khi áp
dụng TranCells ký hiệu là bi 1 . 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à a0 . 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à W ai W bi ). Còn giữa bi 1 và ai là
MixColumns và chúng có cùng số lượng các cột chủ động (cùng giá trị Wcol ).
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 b0 và a1 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 a1 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 b0 và a1 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 W a0 W b0 do biến đổi
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 185
Công nghệ thông tin & Khoa học máy tính
Wcol bi max W j ai . Bây giờ, trong mẫu a1 có ít nhất một cột chủ động, ta gọi
0 j 3
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 b0 và mẫu a1 là lớn hơn hoặc bằng 5, có nghĩa là
Wg b0 Wg a1 5 . Hơn nữa theo lập luận ở trên có Wcol a0 Wg b0 và
Wcol b1 Wg a1 . Từ đây ta nhận được Wcol a0 Wcol b1 Wg b0 Wg a1 5 .
Mặt khác Wcol a2 Wcol b1 do biến đổi MixColumns không làm thay đổi số cột
chủ động. Do vậy ta có Wcol a0 Wcol a2 5 ■
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
W a0 W a1 W a2 W a3 . Áp dụng mệnh đề 1 cho 2 vòng đầu tiên ta có:
W a0 W a1 5Wcol a1 và cho 2 vòng tiếp theo ta có:
W a2 W a3 5Wcol a3 .
Mặt khác theo bổ đề 1 ta nhận được: Wcol a1 Wcol a3 5 . Từ đây suy ra:
W a0 W a1 W a2 W a3 5 Wcol a1 Wcol a3 25 .■
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 24 .
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á
186 N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu … hạng nhẹ dạng AES.”
Nghiên cứu khoa học công nghệ
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 28 , 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 24 ). Đố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 M mij , 0 i, j 3 , đó là ma trận MDS 44 được lựa chọn trên 24 . Như
4 4
vậy, ta có các biểu thức sau biến đổi SubCells, bij S aij , biến đổi TranCells
cij=bji 0 i, j 3 , 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 đó,
e0 j m00 m01 m02 m03
e m m m
1 j S [a ] 10 S [a ] 11 S [a ] 12 S [a ] m13 ,
j0 j1 j2 j3
e2 j m20 m21 m22 m23
e3 j m30 m31 m32 m33
Ký hiệu
S[a] m00 S [a ] m01 S [a ] m02 S [a ] m03
S[a] m S[a] m S[a] m S[a] m
T0 [a] 10
, T1[a] 11
, T2 [a] 12
, T3[a] 13
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 187
Công nghệ thông tin & Khoa học máy tính
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
188 N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu … hạng nhẹ dạng AES.”
Nghiên cứu khoa học công nghệ
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 T0* T0 T0 , T1* T1 T1 , T2* T2 T2 , T3* T3 T3 . 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 byte0 a10 || a00 , byte2 a11 || a01 … 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.
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 24 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
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 189
Công nghệ thông tin & Khoa học máy tính
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.
190 N. V. Long, T. D. Lai, N. B. Cương, “Một số nghiên cứu … hạng nhẹ dạng AES.”