Bài viết trình bày một phương pháp cài đặt hiệu quả cho tầng tuyến tính có kích thước lớn. Đặc biệt, đối với tầng tuyến tính kích thước lớn phương pháp đề xuất cho phép giữ nguyên số phép toán cơ sở, nhưng bộ nhớ giảm một nửa so với cách tiếp cận tra bảng thường được áp dụng trong các mã pháp SPN hiện đại.
Nội dung trích xuất từ tài liệu:
Đề xuất phương pháp cài đặt hiệu quả cho tầng tuyến tính kích thước lớn trong mã khối
Nghiên cứu khoa học công nghệ
ĐỀ XUẤT PHƯƠNG PHÁP CÀI ĐẶT HIỆU QUẢ CHO TẦNG
TUYẾN TÍNH KÍCH THƯỚC LỚN TRONG MÃ KHỐI
Trần Hồng Thái*, Phạm Đình Trọng
Tóm tắt: Bài báo trình bày một phương pháp cài đặt hiệu quả cho tầng tuyến
tính có kích thước lớn. Đặc biệt, đối với tầng tuyến tính kích thước lớn phương pháp
đề xuất cho phép giữ nguyên số phép toán cơ sở, nhưng bộ nhớ giảm một nửa so với
cách tiếp cận tra bảng thường được áp dụng trong các mã pháp SPN hiện đại. Cách
tiếp cận trong bài báo là sử dụng kỹ thuật tra bảng khi khai thác các tính chất của
ma trận tuyến tính truy hồi, ma trận Hadamard và ma trận dịch vòng.
Từ khóa: Tầng tuyến tính, Ma trận MDS, Cài đặt hiệu quả, Mã pháp SPN.
1. GIỚI THIỆU
Trong mật mã ứng dụng, các mã khối ngoài việc phải đảm bảo độ an toàn cần phải có
tính chất mềm dẻo trong cài đặt trên các platform khác nhau. Hiện nay, cài đặt thường
được áp dụng đối với các mã khối hiện đại khi kết hợp đồng thời cả hai phép tuyến tính và
phi tuyến như AES [2, 5], GOST R 34.12-2015 [7], LED [3], ... là cách sử dụng bảng tra
được tính trước. Nếu như trong AES sử dụng tầng tuyến tính với ma trận MDS kích thước
4×4, thì kích thước bảng tra yêu cầu là 8 KB [2, 5], còn trong GOST R 34.11-2012 là 128
KB đối với ma trận kích thước 16×16 [6, 8]. Đối với hai mã pháp trên, với kích thước khối
là 128 bit, số phép truy cập bộ nhớ là 16 và số phép XOR các số 32 bit (cho AES) hoặc 64
bit (cho GOST R 34.12-2015) tương ứng là 16 và 32. Qua đó, có thể thấy rằng khi kích
thước tầng tuyến tính tăng lên nhằm đảm bảo độ an toàn cần thiết thì độ phức tạp tính toán
và đặc biệt là độ phức tạp bộ nhớ tăng lên đáng kể. Điều này trở thành vấn đề tác động lên
tính mềm dẻo khi cài đặt các mã pháp trong các môi trường với năng lực tính toán và tài
nguyên khác nhau.
Những năm gần đây, nhằm đạt được các lợi thế trong cài đặt chủ yếu là trong phần
cứng, có nhiều công trình tập trung nghiên cứu xây dựng các tầng tuyến tính truy hồi [1].
Theo đó, ma trận tuyến tính của chúng là lũy thừa của một ma trận đồng hành có dạng đơn
giản và dễ dàng cài đặt phần cứng. Trong [8], nhóm tác giả đã đề xuất và đưa ra một loạt
các phương pháp khai thác tính truy hồi đối với ma trận tuyến tính trong mã pháp
Kuznyechik của nhóm tác giả Cơ quan FSB, Liên bang Nga đề xuất.
Đã có một số lượng lớn các nghiên cứu tập trung lên việc sinh các ma trận truy hồi
kích thước nhỏ, thường là 4×4, có lợi thế trong cài đặt phần cứng [11, 12, 13, 14]. Tuy
nhiên, cài đặt phần mềm khi khai thác tính truy hồi của những ma trận này dường như
chưa được quan tâm nhiều, đặc biệt là theo khía cạnh sử dụng các bảng tra được tính
trước. Ở một hướng nghiên cứu khác liên quan đến xây dựng tầng tuyến tính sử dụng các
ma trận MDS có dạng đặc biệt như các ma trận dịch vòng [15], ma trận Hadamard [16,
17]. Các ma trận này tuy không có tính truy hồi nhưng chúng lại có đặc điểm là tập các
phần tử ở mỗi hàng hoặc mỗi cột trong ma trận tuyến tính là giống nhau mặc dù thứ tự của
chúng là khác nhau. Trong cài đặt phần cứng tính chất này được khai thác một cách triệt
để, còn trong cài đặt phần mềm sử dụng kỹ thuật tra bảng chủ yếu áp dụng cho những ma
trận kích thước nhỏ, cỡ 4×4, hoặc 8×8. Khi kích thước ma trận tuyến tính tăng lên, sẽ phát
sinh các vấn đề liên quan đến bộ nhớ cần lưu những bảng tra đã được tính trước. Điều này
dường như là một điểm hạn chế khi cài đặt các ma trận lớn trong môi trường có năng lực
tính toán hạn chế. Trên cơ sở khai thác tính chất các tầng tuyến tính truy hồi, các tầng
tuyến tính sử dụng ma trận Hadamard hoặc dịch vòng, trong bài báo này chúng tôi sẽ khảo
sát một số đặc điểm của chúng và sau đó đề xuất phương pháp cài đặt hiệu quả tổng quát
cho các tầng tuyến tính kích thước lớn dạng này.
Tạp chí Nghiên cứu KH&CN quân sự, Số 53, 02 - 2018 149
Công nghệ thông tin & Cơ sở toán học cho tin học
Đóng góp của chúng tôi: Đề xuất phương pháp cài đặt hiệu quả tổng quát cho các tầng
tuyến tính truy hồi kích thước lớn, trong đó tầng tuyến tính được xây dựng sử dụng các ma
trận truy hồi, Hadamard hoặc dịch vòng.
Bố cục các phần còn lại của bài báo như sau: Mục 2 trình bày về tầng tuyến tính truy
hồi, tầng tuyến tính sử dụng ma trận Hadamard hoặc dịch vòng. Mục 3 trình bày lại cách
sử dụng bảng tra để cài đặt cho các tầng tuyến tính với biểu diễn thông qua một ma trận
tuyến tính trên trường hữu hạn. Đề xuất phương pháp cài đặt hiệu quả tầng tuyến tính truy
hồi và tầng tuyến tính sử dụng ma trận Hadamard hoặc dịch vòng sẽ được đưa ra ở mục 4
của. Cuối cùng là một số kết luận và danh mục tài liệu tham khảo.
2. MỘT SỐ CHIẾN LƯỢC THIẾT KẾ TẦNG TUYẾN TÍNH
CHO THUẬT TOÁN MÃ KHỐI
2.1. Tần ...