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.
Nội dung trích xuất từ 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
Công nghệ thông tin & Khoa học máy tính
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à 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
x10 x11 x12 x13 S S S S
x20 x21 x22 x23 S S S S
x30 x31 x32 x33 S S S S
4ô
4 bit
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
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ậ ...