Tải bản đầy đủ

Nghiên cứu xây dựng các thành phần mật mã cho thuật toán mã khối hạng nhẹ tt

ii
BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
-----------------------

NGUYỄN BÙI CƯƠNG

NGHIÊN CỨU XÂY DỰNG CÁC THÀNH PHẦN
MẬT MÃ CHO THUẬT TOÁN MÃ KHỐI HẠNG NHẸ

Chuyên ngành:
Mã số:

Cơ sở toán học cho tin học
9460110

TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC


HÀ NỘI – 2018


ii
Công trình được hoàn thành tại:
VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
BỘ QUỐC PHÒNG
Người hướng dẫn khoa học:
1. TS. Trần Duy Lai
2. PGS. TS. Bạch Nhật Hồng
Phản biện 1:
PGS. TS. Lê Mỹ Tú
Học viện Kỹ thuật mật mã
Phản biện 2:
PGS. TS. Nguyễn Trần Lý
Viện Khoa học và Công nghệ Quân sự
Phản biện 3:
TS. Lưu Hồng Dũng
Học viện Kỹ thuật Quân sự
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án
cấp Viện họp tại Viện KH&CN quân sự vào hồi …..
ngày ….. tháng ….. năm ......

Có thể tìm hiểu luận án tại thư viện:
- Thư viện Viện KH&CN quân sự
- Thư viện Quốc gia Việt nam


1
MỞ ĐẦU
1. Tính cấp thiết
Nhu cầu sử dụng ngày càng nhiều các thiết bị có kích cỡ nhỏ,
khả năng tính toán thấp, phục vụ cho những công việc/bài toán chuyên
dụng. Trong khi, các mã khối truyền thống khó có thể sử dụng đa năng
cho mọi kiểu thiết bị được. Vì vậy nhu cầu cần có các hệ mã (mã khóa
công khai, mã khối, mã dòng, hàm băm, ...) riêng sử dụng cho các thiết
bị/hệ thống bị hạn chế (và thông tin cần phải bảo vệ không quá mật) đã
và đang được đặt ra trong những năm qua. Hiện nay, trên thế giới đã có
nhiều mã khối hạng nhẹ với các thiết kế khác nhau đã được đề xuất như
Skipjack, NOEKEON, mCrypton, DESL, DESX, DESXL; PRESENT,


KATAN và KATANTAN; Hummingbird, LED, TWIS, PICCOLO,...
Năm 2012, hai mã khối hạng nhẹ PRESENT và CLEFIA chính thức
được chọn là chuẩn mã khối hạng nhẹ ISO/IEC 29192-2:2012.
Xây dựng một thuật toán mã khối hạng nhẹ mà luận án hướng
tới theo nghĩa thiết kế một hệ mật không quá yếu (và không thay thế các
thuật toán mã truyền thống khác), nhưng phải đủ an toàn (tất nhiên
không thể kháng lại được các đối phương có đủ mọi điều kiện), chi phí
(cài đặt, sản xuất) thấp. Tóm lại, ta cần có một hệ mật cân bằng giữa yêu
tố chi phí, hiệu suất và độ an toàn để đạt được mục đích phù hợp một
cách tốt nhất cho thiết bị có tài nguyên hạn chế. Do đó, các thành phần
mật mã sử dụng trong mã khối hạng nhẹ thực sự đòi hỏi những yêu cầu
an toàn đặc biệt và phải xem xét đánh giá kỹ lưỡng theo những tiêu chí
mà người thiết kế hướng tới.
2. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của Luận án: Luận án tập trung vào hai
đối tượng nghiên cứu đóng vai trò quan trọng trong xây dựng một thuật


2
toán mã khối là:
-

Các S-hộp đóng vai trò xáo trộn trong thuật toán.

-

Tầng tuyến tính sử dụng ma trận có tính chất MDS đóng vai
trò khuếch tán trong thuật toán.

Phạm vi nghiên cứu của Luận án: Luận án thực hiện trong phạm
vi nghiên cứu các thuật toán mã khối hạng nhẹ phù hợp cho các thiết bị
có tài nguyên hạn chế.
3. Mục tiêu nghiên cứu
Xây dựng thành phần phi tuyến S-hộp 4-bit cho các thuật toán
mã khối hạng nhẹ.
Xây dựng thành phần tuyến tính với ma trận biểu diễn kích
thước 4×4 trên trường 24 có tính chất MDS phù hợp cho các thuật toán
mã khối sử dụng trong môi trường có tài nguyên hạn chế.
4. Phương pháp nghiên cứu
Các phương pháp nghiên cứu sử dụng trong luận án gồm phân
tích và tổng hợp các kết quả đã có trên thế giới, xin ý kiến các chuyên
gia trong cùng lĩnh vực hẹp, mở rộng và phát triển các kết quả đã có cho
bài toán của luận án, sử dụng ngôn ngữ lập trình C để nhận các kết quả
thực nghiệm. Các phương pháp thu thập số liệu gồm thu thập số liệu
bằng cách tham khảo tài liệu, thu thập số liệu từ những thực nghiệm.
5. Nội dung nghiên cứu
Nghiên cứu tổng quan nhu cầu sử dụng của thuật toán mật mã
hạng nhẹ và khái lược các nội dung cần nghiên cứu.
Nghiên cứu đảm bảo cơ sở toán học cho việc sinh các S-hộp 4
bit có tính chất mật mã tốt. Một số nghiên cứu về S-hộp 4 bit cho độ an
toàn cài đặt của mã pháp dạng SPN. Phân tích sự ảnh hưởng của độ dư
thừa tuyến tính của S-hộp trong mã pháp dạng SPN.


3
Nghiên cứu đánh giá độ an toàn của mô hình mã pháp dạng AES
có kích cỡ khối 64-bit sử dụng phép biến đổi TranCells. Xây dựng các
ma trận MDS có kích thước 4×4 trên trường

có tính chất MDS theo

một số cách tiếp cận được đề xuất gần đây.
6. Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học:
Nghiên cứu chuyên sâu và có hệ thống về một số tiêu chí an toàn
cho các S-hộp 4 bit. Phân tích rõ cơ sở đánh giá và xây dựng các S-hộp
thỏa mãn các tiêu chí này. Đưa ra một số kết quả lý thuyết mới cho việc
đánh giá độ an toàn và lập trình thực nghiệm lại các kết quả nhận được.
Nghiên cứu phân tích chi tiết mô hình tầng tuyến tính dạng AES
dựa trên ma trận MDS có kích thước 4×4 trên trường

. Đưa ra một số

kết quả mới cho việc đánh giá an toàn của các ma trận này và xây dựng
các ma trận MDS cho mô hình này theo một số phương pháp gần đây.
Ý nghĩa thực tiễn: Đáp ứng nhu cầu bảo mật thông tin trong môi
trường có tài nguyên hạn chế trong các lĩnh vực kinh tế xã hội và an ninh
quốc phòng.
7. Bố cục của luận án
Luận án gồm 03 chương cùng với các phần mở đầu, kết luận,
danh mục các công trình, bài báo khoa học đã được công bố của tác giả
và phần phụ lục.


4
CHƯƠNG 1
TỔNG QUAN VỀ THUẬT TOÁN MÃ KHỐI HẠNG NHẸ
1.1. Tổng quan về nguyên lý thiết kế mã khối
Phần này trình bày sơ lược về một số cấu trúc mã khối và các
thành phần mật mã của một mã khối cụ thể là S-hộp và tầng tuyến tính.
1.2. Phân tích một số đặc điểm của thuật toán mã khối hạng nhẹ
Xu thế và sự bùng nổ của tính toán khắp nơi (UbiComp) đã được
ứng dụng và sử dụng phổ biến trong xã hội hiện đại.
1.2.1. Động lực thúc đẩy sự phát triển của mã khối hạng nhẹ
Bên cạnh các lợi ích của UbiComp đem lại cũng có nhiều rủi ro
vốn có sẵn trong các tính toán phổ thông như có nhiều ứng dụng có tính
nhạy cảm cần phải có giải pháp mật mã đảm bảo an toàn như mạng cảm
biến không dây cho quân sự, ứng dụng tài chính hoặc ứng dụng tự động.
1.2.2. Các yêu cầu trong thiết kế mã khối hạng nhẹ
Trong thiết kế và đánh giá một hệ mã hạng nhẹ ta cần phải xem
xét hai yêu cầu quan trọng độ an toàn và hiệu quả trong cài đặt.
1.2.3. Chiến lược thiết kế mã khối hạng nhẹ
Mọi nhà thiết kế mã khối hạng nhẹ đều phải tập trung cân bằng
giữa độ an toàn, chi phí cài đặt và hiệu suất.

Hình 1.1. Sự thỏa hiệp trong thiết kế mã khối hạng nhẹ
Nói chung, có ba cách tiếp cận để đưa ra một nguyên thủy mật mã


5
cho các ứng dụng hạng nhẹ như các thẻ RFID như sau: tối ưu hóa các cài
đặt cho các thuật toán được tin cậy và đã được chuẩn hóa, thay đổi một
chút với một mã pháp đã được tin cậy và đã được nghiên cứu, thiết kế
các mã pháp mới với mục tiêu chi phí cài đặt phần cứng thấp.
1.3. Tình hình nghiên cứu trong và ngoài nước
1.3.1. Tình hình nghiên cứu ngoài nước.
Để xây dựng được một mã khối hạng nhẹ hiệu quả và đủ an toàn
thì bài toán nghiên cứu xây dựng thành phần mật mã như S-hộp và tầng
tuyến tính là cấp thiết. Gần đây, các nhà thiết kế mã khối trên thế giới đã
đưa ra nhiều phương pháp và kết quả lý thuyết lẫn thực hành để giải
quyết bài toán này, cụ thể là hàng loạt công trình về xây dựng S-hộp 4
bit và tầng tuyến tính dựa trên ma trận MDS.
1.3.2. Tình hình nghiên cứu trong nước
Các kết quả về xây dựng các thành phần cho mã khối trong nước
còn hạn chế. Chủ yếu tập trung cho các mã khối có độ mật cao không
phù hợp với các thiết bị có tài nguyên hạn chế.
1.4. Khái lược về nội dung nghiên cứu
Trong phần này, luận án khái lược về mô hình mã pháp có cấu
trúc SPN dạng AES, tầng phi tuyến sử dụng các S-hộp 4 bit, tầng tuyến
tính dựa trên các ma trận MDS.
1.5. Kết luận chương 1
Trong chương này, luận án đã phân tích một số đặc điểm yêu
cầu cũng như nhu cầu sử dụng của mật mã hạng nhẹ hiện nay. Từ cơ sở
đó kết hợp với các kết quả đã được nghiên cứu trên thế giới, các S-hộp 4
bit và các ma trận MDS hạng nhẹ cho thuật toán mã khối được lựa chọn
cho việc nghiên cứu định hướng xây dựng một mã khối hạng nhẹ dạng
SPN đảm bảo độ an toàn và có hiệu quả cao.


6
CHƯƠNG 2
NGHIÊN CỨU XÂY DỰNG CÁC HỘP THẾ 4 BIT
CHO MÃ KHỐI HẠNG NHẸ
2.1. Cơ sở sinh cho việc sinh các S-hộp có tính chất mật mã tốt
Đầu tiên, các ký hiệu và một số khái niệm sử dụng trong luận án được
trình bày. Sau đó, luận án trình bày các quan hệ tương đương được sử
dụng trong khảo sát các S-hộp, cụ thể là quan hệ tương đương affine
tương đương tuyến tính, quan hệ tương đương hoán vị, ... Cuối cùng, các
tính chất mật mã quan trọng của S-hộp S được định nghĩa là bậc tuyến
tính Lin(S), đặc trưng lượng sai Diff(S), bậc đại số deg(S), bậc vào\ra
degIO(S), bậc trong suốt , độ dư thừa tuyến tính và một số tính chất khác
(số nhánh, điểm bất động, tính chất cuộn).
2.2. Phân tích một số kết quả nghiên cứu đã có cho S-hộp 4 bit
2.2.1. Các S-hộp 4 bit tối ưu chống lại thám mã lượng sai và tuyến tính
Phần này, luận án phân tích về cận dưới của Lin(S), Diff(S) với S là
một S-hộp 4 bit bất kì nhằm đưa ra được các giá trị tối ưu cho khả năng
chống lại thám mã tuyến tính và lượng sai cho các S-hộp này, các kết
quả này đã có song chưa được chi tiết, cụ thể bậc phi tuyến của một Shộp 4 bit song ánh sẽ thỏa mãn Lin(S)8 (Mệnh đề 2.3), còn đối với đặc
trưng lượng sai thỏa mãn Diff(S)  4 (Nhận xét 2.2) với mọi S-hộp 4 bit.
Như vậy, các S-hộp 4 bit có các giá trị tối ưu nhất để chống lại tấn công
tuyến tính sẽ được định nghĩa như sau:
4
4
Định nghĩa 2.14. Giả sử S: 2  2 là một S-hộp. Nếu S thỏa mãn các

điều kiện sau thì ta gọi S là một S-hộp tối ưu chống lại thám mã tuyến
tính và lượng sai: 1. S là một song ánh. 2. Lin(S) = 8. 3. Diff(S) = 4.
Ta có:


7
Mệnh đề 2.6. Giả sử A, B  GL(4, 2) là 2 ma trận khả nghịch 44 và
4
4
4
a,b 2 . Giả sử S: 2  2 là một S-hộp tối ưu chống lại thám mã

tuyến tính và lượng sai. Khi đó, S-hộp S’ với S’(x)=B(S(A(x)a)b cũng
là một S-hộp tối ưu chống lại thám mã tuyến tính và lượng sai.
4
4
Mệnh đề 2.7. Giả sử S: 2  2 , S là tối ưu chống lại thám mã tuyến

tính và lượng sai khi và chỉ khi S-1 là tối ưu chống lại thám mã tuyến tính
và lượng sai.
Bằng thực hành, luận án đã nhận được 16 lớp tương đương affine
cho các S-hộp tối ưu chống lại thám mã tuyến tính và lượng sai, giống
như các kết quả đã có.
2.2.2. Tính Serpent của S-hộp 4 bit
Ngoài các tính chất Diff(S)=4 và Lin(S)=8 ra, ta xem xét một tính chất
quan trọng có trong các S-hộp của thuật toán Serpent
4
4
Định nghĩa 2.15. Giả sử S: 2  2 là một S-hộp. Nếu S thỏa mãn các

điều kiện sau ta gọi S là một S-hộp kiểu Serpent.
1. S là tối ưu chống lại thám mã tuyến tính và lượng sai.
2. Diff1(S) = 0, tức là sai khác đầu vào 1 bit bất kỳ gây ra sai khác
đầu ra ít nhất 2 bit.
với Diff1  S  

max

a  0, b2n
wt  a   wt  b  1

x  

n
2

| S  x   S  x  a   b.

Để khảo sát giá trị này, ta sử dụng quan hệ tương đương hoán vị. Khi
đó, phép tương đương hoán vị bảo toàn tính chất kiểu Serpent của S-hộp
4 bit (Bổ đề 2.2), số nhánh (Bổ đề 2.3), quan hệ nghịch đảo (Bổ đề 2.4),
tính chất không cuộn của các S-hộp kiểu Serpent (Hệ quả 2.1). Để thực
hành phân lớp các S-hộp dạng này, luận án sử dụng thuật toán 2 và nhận
được 2.211.840 S-hộp Serpent được phân theo 20 lớp tương đương hoán
vị.


8
2.2.3. Các S-hộp 4 bit tối ưu có tính chất cuộn
Một số kết quả đánh giá tính tối ưu chống lại thám mã lượng sai và tuyến
tính trong bài báo [45] được giới thiệu; cụ thể là không có S-hộp kiểu
Serpent nào có tính chất cuộn và khi có số điểm bất động lớn hơn 5 thì
S-hộp có tính chất cuộn sẽ không đạt được tính tối ưu. Sau đó, luận án
cũng đã thực hành sinh các S-hộp 4 bit có tính chất cuộn theo các kết quả
nghiên cứu trong bài báo [45].
2.3. Các kết quả phát triển mới trong luận án
2.3.1. Một số đặc trưng đại số của S-hộp 4-bit
Luận án trình bày một số kết quả liên quan tới hai đại lượng bậc đại số
deg(S) và bậc vào ra degIO(S) của một S-hộp. Đầu tiên, số lượng các
phương trình vào/ra của một S-hộp được đánh giá thông qua kết quả sau:
Mệnh đề 2.8. Cho một S-hộp bất kì có kích thước n×m và tập  gồm t
phần tử là các đơn thức cho trước như sau    g1 ,..., gt  , khi đó số
lượng các phương trình đa biến độc lập tuyến tính có các đơn thức trong
 là SL  t  rank  M  , với ma trận M   mi , j  có kích thước 2n×t
n
trong đó mi , j  g j (i, S  i ) i  0,...,2  1; j  1,..., t .

Hệ quả 2.2. Cho một S-hộp bất kì có kích thước n×m, khi đó số lượng
các phương trình đa biến độc lập tuyến tính có bậc không quá d từ m+n
biến x1 ,..., xn , y1 ,..., ym trên 2 là:
d
m  n


  rank  M 
i 
i 0 
Tiếp theo, luận án xem xét một số tính chất đại số của các S-hộp kích
thước nm đối với quan hệ tương đương affine như sau:
Bổ đề 2.7. Cho f là hàm Bool n biến, A là ma trận tuyến tính khả nghịch
kích cỡ nn trên trường F2, còn b  2 . Khi đó, ta có:
n

deg f(x) = deg f(Ax  b).


9
Mệnh đề 2.10. Bậc đại số của một S-hộp là bất biến đối với quan hệ
tương đương affine. Hơn nữa, tập đa giá trị (multiset) D={deg(Sc)|c  2

m

} cũng bất biến khi chịu tác động của phép biến đổi affine.
Mệnh đề 2.11. Bậc vào/ra của một S-hộp là bất biến dưới quan hệ tương
đương affine. Tức là, degIOS1 = degIOS2 với S1 tương đương affine với S2.
Hơn nữa, số lượng các phương trình vào/ra độc lập tuyến tính cũng bất
biến qua quan hệ tương đương affine.
n
n
Mệnh đề 2.12. Nếu S: 2  2 là song ánh thì degIO(S) = degIO(S-1).

Hơn nữa, số lượng các phương trình vào/ra độc lập tuyến tính là không
đổi.
Đối với các S-hộp 4-bit, ta có :
Nhận xét 2.4. Số lượng các phương trình vào/ra bậc hai độc lập tuyến
tính của S-hộp 4 bit bất kỳ ít nhất bằng 21. Như vậy, đối với các S-hộp
này, bậc vào\ra của chúng lớn nhất là bằng 2, tức là degIOS  2.
Tiếp theo, bậc vào/ra của 16 lớp S-hộp được xem xét trên dựa theo kết
quả lý thuyết sau:
Bổ đề 2.9. Bậc vào/ra của S-hộp 4 bit tối ưu ít nhất bằng 2.
Hệ quả 2.5. Cả 16 lớp S-hộp 4 bit tối ưu chống thám mã lượng sai và
tuyến tính có bậc vào/ra là 2 và số lượng các phương trình vào/ra bậc
hai độc lập tuyến tính đạt giá trị tối ưu, tức là bằng 21.
2.3.2. Khảo sát bậc trong suốt của các S-hộp 4-bit kiểu Serpent
Trong phần này, luận án trình bày một số kết quả nghiên cứu về bậc trong
suốt, là đại lượng định lượng cho khả năng chống lại tấn công DPA đối
với mã pháp dạng SPN. Đầu tiên, chúng ta có kết quả mở rộng sau,
Bổ đề 2.10. Đối với các S-hộp có phổ tự tương quan của hàm thành phần
n

Si thỏa mãn a  2n \ 0 ,  i 1  Si  a   2n 1 ; hàm S sẽ đạt cực đại tại
β {0, 2n-1}, tức là  S  S  0   S  2 n  1 .


10
Từ kết quả này, ta có:
Mệnh đề 2.13. Cho S-hộp S1 thỏa mãn điều kiện phổ tương quan của các
S
hàm thành phần fi 1 thỏa mãn   2n \ 0 ,



n
i 1

 f S1    2n 1 và Si

hộp S2 tương đương hoán vị với S1. Khi đó,
1. S-hộp S2 cũng thỏa mãn điều kiện phổ tương quan của các hàm
S
thành phần fi 2 thỏa mãn   2n \ 0 ,

2.



n
i 1

 f S2    2n 1 .
i

 S1   S2 .

Khi đó ta có thể xác định được bậc trong suốt của toàn bộ các S-hộp
kiểu Serpent như sau:
Bảng 2.3: Bậc trong suốt của các S-hộp 4-bit kiểu Serpent
Lớp

Đại diện S
(0123456789ABCDEF)

Số
lượng

R0
R1

R18
R19

03567ABCD4E9812F
035869A7BCE21FD4
………….
0358BC6FE9274AD1
035A7CB6D429E18F

73728
147456
………..
73728
73728

Bậc
trong
suốt
3.53
3.40
……
3.33
3.27

2.3.3. Một số nghiên cứu về độ dư thừa tuyến tính
Trong phần này, một số nghiên cứu về độ dư thừa tuyến tính của S-hộp
và sự ảnh hưởng của nó lên hàm vòng được trình bày.
Mệnh đề 2.14. Cho hai hộp thế tương đương affine S1, S2 có kích thước
n×n bit. Khi đó,   S1     S2  .
Như vậy, các S-hộp trong cũng một lớp tương đương affine sẽ
cùng có độ dư thừa tuyến tính. Khảo sát cho 16 lớp tương đương affine
tối ưu chống thám mã tuyến tính và lượng sai của S-hộp 4 bit, ta nhận
được kết quả sau:


11
Bảng 2.4: Độ dư thừa tuyến tính của 16 lớp S-hộp 4 bit tối ưu
Tên
lớp
LS1
LS2
LS3
LS4
LS5
LS6
LS7
LS8

Phần tử đại diện
(0123456789ABCDEF)
0123469A8BCE7FD5
0123469A8BCED57F
0123469A8BCE5DF7
0123469A8CBD7EF5
0123469A8C5D7EFB
0123469A8CBDE57F
0123469A8CBD5FE7
0123469C85BFED7A

  S 
69
85
85
105
105
105
105
105

Tên
lớp
LS9
LS10
LS11
LS12
LS13
LS14
LS15
LS16

Phần tử đại diện
(0123456789ABCDEF)
0123469A8BCEF75D
0123469A85CEBDF7
0123469C85DAE7BF
0123469C85FDB7AE
0123469A8C5DBEF7
0123469A85CE7DFB
0123469A85CFDBE7
0123469A85CE7FDB

  S 
83
92
92
105
105
34
100
100

Xuất phát từ các kết quả về độ dư thừa tuyến tính của S-hộp sử
dụng trong hàm vòng dạng SPN, luận án đưa ra một số phân tích tính
tương đương affine của các hàm Bool là tổ hợp tuyến tính của các hàm
tọa độ đầu ra của hàm vòng dạng SPN.
Với hàm vòng dạng SPN sử dụng hộp thế sở hữu độ dư thừa
tuyến tính hoàn toàn, ta có kết quả sau:
Mệnh đề 2.15. Tất cả hàm tọa độ của hàm vòng SPN khi sử dụng các
hộp thế có độ dư thừa tuyến tính hoàn toàn đều thuộc cùng một lớp
tương đương affine. Hơn nữa, tổ hợp tuyến tính của chúng cũng cùng
thuộc một lớp tương đương affine đó.
Tiếp theo, chúng ta sẽ xem xét trường hợp S-hộp chỉ sở hữu một số
cặp hàm Bool thành phần là tương đương affine. Ta có thuật toán xác
định 3.
Như vậy, luận án đã chỉ ra sự ảnh hưởng của độ dư thừa tuyến tính
của S-hộp lên tính tương đương affine của các hàm tọa độ đầu ra của
hàm vòng của các mã pháp dạng SPN. Với việc sử dụng các hộp thế có
độ dư thừa hoàn toàn sẽ khiến cho các hàm Bool tọa độ đầu ra cũng như
tổ hợp tuyến tính của chúng đều thuộc cùng một lớp tương đương affine.
Còn trong trường hợp các hộp thế có độ dư thừa tuyến tính với số lượng
lớn các hàm thành phần tương đương affine thì khả năng cao chúng ta sẽ


12
chỉ ra tồn tại và xác định được hàm tọa độ đầu ra tương đương affine. Do
đó, khi xây dựng một mã pháp an toàn người thiết kế nên quan tâm đến
độ dư thừa tuyến tính và có thể xem xét nó như là một tiêu chí cho việc
sinh các hộp thế có tính chất mật mã tốt.
Thuật toán 3: Kiểm tra tính tương đương affine của hai hàm tọa độ
trong hàm vòng SPN
Đầu vào: Chỉ số t, t’ của hai hàm tọa độ với t , t '  1,..., m .
Đầu ra: Trả về 1 khi tương đương cùng với tập D = {D1, ... , Dk, a =
{a1,...,ak}, b = {b1,...,bk}, c}; ngược lại trả về 0 khi không tương đương.
Các bước của thuật toán:
1. D  , a  , b  , c  0
2. For i=1 to k do
2.1. If (checkafffine( Tr  t  ht / n 1,i  S  X   , Tr  t '  ht '/ n  1,i  S  X   ))








2.1.1. Di  Dtemp; ai  atemp; bi  btemp; ci  cctemp;
( Dtemp, atemp, btemp, ctemp đầu ra của thuật toán 1 với đầu vào là
hai hàm Bool Tr  t  ht / n 1,i  S  X   , Tr  t '  ht '/ n  1,i  S  X   )








else Return 0
3. Return 1
2.3.4 Kết quả mở rộng cho việc phân loại các S-hộp 4 bit bất kỳ
n
Mệnh đề 2.16. Mọi lớp tương đương affine trên 2 luôn tồn tại một hộp





thế S thỏa mãn S(i) = i với i∈ 2 j | j  0, n  1  0 .
Dựa vào kết quả trên, ta có thể thực hiện phân lớp tất cả các hộp
thế n bit bất kỳ trên tập các hộp thế thỏa mãn S (i)  i với





i  2 j | j  0, n  1 . Tiếp theo, để giảm chi phí tính toán cho việc xác
định các phần tử trong một lớp, ta xem xét một kết quả lý thuyết sau:
Mệnh đề 2.17. Cho A và B là hai nhóm con của nhóm G và g∈G. Khi đó
tập


13
C  c  B : g  c  A  g

(2.26)

là nhóm con của B và ta có đẳng thức sau:
# A # B
.
# A  g  B  
#C
Để chứng minh mệnh đề này, ta sẽ chứng minh hai Bổ đề sau:
Bổ đề 2.11. Tập C cho bởi (2.26) là nhóm con của nhóm B.
Bổ đề 2.12. Cho A và B là hai nhóm con của nhóm G và nhóm C được
xác định theo (2.26) . Khi đó ∀g∈G và ∀ b, b’ ∈ B, ta có:
A   g  b   A   g  b '  khi và chỉ khi b ' b  C .

Từ Mệnh đề 2.9, ta có hệ quả sau:
Hệ quả 2.7. Cho A và B là hai nhóm con của nhóm G, C là nhóm con
được xác định trong (2.26) và g∈G, C là tập đại diện của các lớp kề
trái của C trong B. Ta có: s | s  A  g  C  s | s  A  g  B .





Dựa trên các kết quả nhận được, luận án đưa ra một số thuật toán xác
định các phần tử của một lớp tương đương affine với một phần tử cho
trước, cùng một số đánh giá độ phức tạp và thực hành. Luận án đã thực
hành và xác định được các đại diện của 302 lớp tương đương affine cùng
số lượng các phần tử trong mỗi lớp của các S-hộp 4 bit.
2.4. Kết luận của chương 2
Trong chương này, luận án đã tập trung xem xét các S-hộp 4
bit. Cụ thể:
 Về mặt lý thuyết, ngoài việc phân tích chi tiết một số kết quả đã có,
luận án đã nghiên cứu đánh giá về mặt lý thuyết các tích chất mật
mã quan trọng của S-hộp như bậc tuyến tính, đặc trưng lượng sai,
đặc trưng đại số (Mệnh đề 2.10, Mệnh đề 2.11, Mệnh đề 2.12), bậc
trong suốt (Mệnh đề 2.13), độ dư thừa tuyến tính (Mệnh đề 2.14).
Ngoài ra, luận án cũng đã phân tích sự ảnh hưởng của độ dư thừa
tuyến tính của S-hộp lên tính tương đương affine của các hàm đầu


14
ra của hàm vòng SPN đảm bảo độ an toàn dự phòng cho các mã
khối được thiết kế (Mệnh đề 2.15, Thuật toán 3). Hơn nữa, luận án
đã chứng minh một số kết quả lý thuyết mới đảm bảo cho việc thực
hiện phân lớp được toàn bộ các S-hộp 4 bit theo quan hệ tương
đương affine (Mệnh đề 2.16, Mệnh đề 2.17).
 Về mặt thực hành, luận án đã xây dựng được đầy đủ các S-hộp
trong 16 lớp tối ưu cũng như trong một lớp bất kì bằng các thuật
toán đề xuất (Thuật toán 4, Thuật toán 5, Thuật toán 6). Ngoài ra,
cũng đã thực hành việc khảo sát bậc trong suốt của các S-hộp 4 bit
dạng Serpent.
Các kết quả nhận được cho phép người thiết kế chủ động lựa chọn
các S-hộp 4 bit phù hợp với thiết bị mà mình hướng tới. Cụ thể, nếu thiết
bị có tài nguyên rất hạn chế, đòi hỏi các thuật toán mã khối siêu nhẹ
(ultralightweight block cipher), thì khi đó người thiết kế có thể sử dụng
các S-hộp tối ưu có tính chất cuộn vì sẽ giảm được chi phí cài đặt; còn
khi thiết bị hạn chế nhưng vẫn đủ chi phí cài đặt cho phép chúng ta tăng
cường độ an toàn thì khi đó ta cần phải xem xét thêm các tính chất mật
mã đối với các lớp S-hộp 4 bit tối ưu nhằm tăng cường độ an toàn của
thuật toán như tính Serpent, bậc trong suốt, độ dư thừa tuyến tính.
Người thiết kế cần cân nhắc lựa chọn các S-hộp 4 bit phù hợp với thiết
kế của mình nhằm đạt được sự tối ưu giữa chi phí cài đặt, độ an toàn và
hiệu quả thực thi. Hơn nữa, với sự phát triển không ngừng của khoa học
thám mã đòi hỏi người thiết kế luôn luôn phải xem xét cập nhật các tiêu
chí cho S-hộp 4 bit đảm bảo cho mã khối hạng nhẹ được thiết kế có đủ
độ an toàn đối với nhu cầu người sử dụng.


15
CHƯƠNG 3
NGHIÊN CỨU XÂY DỰNG TẦNG TUYẾN TÍNH
CHO MÃ KHỐI HẠNG NHẸ
3.1. Cơ sở xây dựng tầng tuyến tính trong mã khối hạng nhẹ
Phần này sẽ xem xét một số khái niệm và kí hiệu liên quan tới
tầng tuyến tính. Những khái niệm này là cơ sở cho việc nghiên cứu và
lựa chọn các phép biến đổi tuyến tính cụ thể nhằm hướng một tầng tuyến
tính an toàn và hiệu quả cho một thuật toán mã khối hạng nhẹ.
3.2. Mô hình tầng tuyến tính hạng nhẹ dạng AES
Các mã pháp sử dụng cấu trúc SPN dạng AES là các mã pháp có
các phép toán xử lý định hướng theo khối bit (cụ thể trong trường hợp 64
bit là các “mẩu” (nibble) có kích thước là 4 bit, mà ta gọi là cell) gồm
các phép biến đổi AddRoundKey, SubCells, ShiftRows, MixColumns.
Tầng khuếch tán đề xuất sẽ bao gồm hai 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 3.2 (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 24 .

Hình 3.2: Biến đổi TranCells lên khối dữ liệu 64 bit


16
Độ an toàn chống thám mã lượng sai và tuyến tính của mã pháp
dạng AES sử dụng mô hình đề xuất được đánh giá dựa trên các kết quả
lý thuyết sau:
Mệnh đề 3.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.
Bổ đề 3.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 Wcol  a0   Wcol  a2   5 .
Mệnh đề 3.2. Bốn vòng mã liên tiếp bất kỳ có số cell chủ động nhỏ nhất
bằng 25.

a)

b)

Hình 3.3: Mô tả sự thay đổi các byte dưới tác động của tầng khuếch tán
trong AES(a) và mô hình đề xuất (b)
Về điểm bất động của mô hình tầng tuyến tính đề xuất, ta có đánh giá
sau:
Nhận xét 3.1. Phép biến đổi TranCells (cũng như ShiftRows) không ảnh
hưởng đến số lượng điểm bất động của của tầng khuếch tán mà nó tham
gia vào.


17
Nhận xét 3.2. Nếu biến đổi tuyến tính có ma trận biểu diễn M có N điểm
bất động thì biến đổi MixColumns có số điểm bất động là N4 cũng chính
là số lượng điểm bất động của tầng khuếch tán.
Trong phần tiếp, luận án cũng đã phân tích một số lợi thế về cài đặt của
cấu trúc này trên các nền tảng 32 bit và 64 bit.
3.3. Xây dựng ma trận MDS cho tầng tuyến tính của mã khối hạng
nhẹ dạng AES
Trong phần trước, ta đang xét xét mô hình tầng tuyến tính cho
mã khối hạng nhẹ có kích thước 64 bit dạng AES với phép MixColumns
là một biến đổi tuyến tính từ không gian 244  244 thực hiện biến đổi
một véc tơ cột biểu diễn trạng thái có dạng (x3,x2,x1,x0)T thành véc tơ cột
biểu diễn trạng thái tiếp theo bằng cách nhân véc tơ này với một ma trận
A (là ma trận biển diễn của phép biến đổi tuyến tính có kích thước 4×4
trên trường 24 ). Do đó, trong phần này trọng tâm sẽ hướng tới việc xem
xét và chọn lựa các ma trận MDS có kích thước 4  4 trên trường 24 .
Những ma trận này là phù hợp cho phép biến đổi MixColumns đối với
mô hình tầng tuyến tính này dựa trên một số chiến lược xây dựng các ma
trận MDS cho mã khối hạng nhẹ như sau:
Xây dựng ma trận MDS 4x4 trên
24 có dạng dịch vòng.

Xây dựng ma trận MDS 4x4 trên
24 có dạng đồng hành.

Ma trận dùng cho
phép biến đổi
MixColumns

Các tiêu chi lựa chọn
 Số nhánh
 Số điểm bất động
 Khả năng cài đặt

Xây dựng ma trận MDS 4x4 trên
24 có dạng Hadamard.

Hình 3.7: Định hướng xây dựng các ma trận MDS.
Để có một độ đo cho hiệu quả cài đặt phần cứng của phép biến
đổi đang xét, luận án sử dụng khái niệm số cổng XOR mà ta sẽ sử dụng


18
như một độ đo để đánh giá tính “nhẹ” của một ma trận cho trước và là cơ
sở cho việc lựa chọn các ma trận MDS phù hợp.
3.3.1. Xây dựng các ma trận MDS dựa trên các ma trận đồng hành
Ma trận
0

0


0
z
 0

1

0

0 

1 0 ... 0 
    

0 0 ... 1 
... ... ... zd 1 

0

0
z1

0

...

được gọi là ma trận đồng hành (companion matrix) của đa thức

z0  z1 x  z2 x2  ...  zd 1 xd 1  x d và kí hiệu là Serial(z0,z1,…,zd-1).
Bảng 3.3: Liệt kê và đánh giá các ma trận Serial(z1,z2,z3,z4) có lũy thừa
bậc 4 là ma trận MDS trên 24
Lớp

1

2

15
16

Số
Số
Lớp Tổng
Số điểm Số lượng
Lớp Tổng
Số điểm
xung
Lớp
xung
con XOR
bất động
con XOR
bất động
nhịp
nhịp
1

31

3

1

2

2

31

1

32

4

1

2

3

16

2

2

32

3

32

4

1

1

4

16

1

45

4

1

2

45

4

16

2

1

46

4

1

115

2

46

4

16

10

Số lượng

1

49

4

1

180

2

49

4

16

5

3

48

4

32

1

5
1
50
20
2
2
50
………………………

4

1

251

4

16

14

66

4

68
125

19

186

265

33

1

63

4

1

8

8

34

1

64

4

1

2

2

35

1

65

4

1

2

2

36

1

66

4

1

4

4

Đối với trường hợp mà luận án xem xét, ta có thể tiến hành tìm
kiếm toàn bộ các ma trận đồng hành thỏa mãn lũy thừa bậc 4 của nó là
những ma trận MDS trên trường 24

với đa thức khả quy là


19
f  x   x 4  x  1 thì có tất cả 3.660 ma trận thỏa mãn. Dễ thấy, việc cài

đặt ma trận MDS nhận được khi lũy thừa các ma trận đồng hành không
phụ thuộc vào các phần tử của ma trận này vì đơn giản nó có thể được
cài đặt truy hồi qua ma trận đồng hành. Cho nên khi lựa chọn ta chỉ cần
quan tâm đến các hệ số trong ma trận đồng hành. Từ việc đánh giá các
cổng XOR cài đặt cho các phép toán nhân được thực hiện, tất cả 3.660
ma trận đồng hành tìm được được thống kê trong bảng 3.3 dựa trên tiêu
chí về điểm bất động, số lượng các cổng XOR và số xung nhịp trong cài
đặt các phép toán thực hiện ma trận. Luận án cũng đã xem xét ma trận có
cài đặt và các tham số mật mã tốt nhất tìm được là Serial(2,1,1,4).
3.3.2. Xây dựng các ma trận MDS dựa trên ma trận Hadamard
Ma trận Hadamard được định nghĩa như sau:
Định nghĩa 3.3. Một ma trận Hadamard trường hữu hạn là một ma trận
kk với k=2s có thể được biểu diễn bởi hai ma trận con H1 và H2 mà
chúng cũng là ma trận Hadamard như sau:
 H1 H 2 
H 

 H 2 H1 
Mệnh đề 3.3. Tầng khuếch tán gồm 2 biến đổi TranCells và
MixColumns, trong đó biến đổi MixColumns sử dụng ma trận Hadamard
MDS cuộn kích thước 44 trên trường 24 , có số điểm bất động là 232.
Để xem xét phân loại các ma trận Hadamard, ta có xem xét một
quan hệ tương đương sau:
Định nghĩa 3.4. Cho hai ma trận Hadamard kích cỡ kk là
'

'

'

H=had(h0,h1,…,hk-1) và H’=had( h0 , h1 ,..., hk 1 ), hai ma trận này được gọi
là có quan hệ tương đương khi tồn tại một hoán vị k phần tử  sao cho

hi'  h i  . Kí hiệu, HH’.


20
Nhận xét 3.3. Cho hai ma trận Hadamard tương đương H  H’. Khi đó,
hai ma trận H, H’ có cùng tính cuộn, cùng số nhánh, cùng số điểm bất
động, cùng số cổng XOR cài đặt.
Như vậy, dựa trên tính chất này, ta có thể giảm được độ phức tạp khi
xem xét số lượng các ma trận Hadamard bằng cách chỉ xem xét các phần
tử đại diện (có xét thứ tự) trong mỗi lớp tương đương hoán vị vì trong
mỗi lớp các phần tử đều có cùng tính chất mật mã và cài đặt. Bảng 3.3 là
kết quả phân lớp theo thứ tự tăng dần theo số cổng XOR cần thiết khi cài
đặt phần cứng của toàn bộ các ma trận Hadamard MDS 44 này, trong
đó “+” – là ký hiệu các ma trận có tính cuộn còn “-” – là không có tính
cuộn. Như vậy, trong số 22680 ma trận Hadamard MDS cuộn
Had(1,4,9,13) là đại diện của lớp 1 trong bảng 3.4 có cài đặt tốt nhất với
các tính chất mật mã cần thiết.
Bảng 3.4: Liệt kê và đánh giá các ma trận Hadamard MDS 44 trên 2 4

1

Tổng
XOR
17

Tính
cuộn
+

2

18

+

232

24

3

20

+

232

24

32

Lớp

Số điểm Số lượng
Lớp
bất động theo lớp
32
2
24
11

Tổng
XOR
40

Tính
cuộn
-

Số điểm Số lượng
bất động theo lớp
1
144

12

41

-

1

192

13

42

-

1

192

4

21

+

2

96

14

43

-

1

240

5

22

+

232

192

15

44

-

1

480

+

32

120

16

45

-

1

816

+

32

2

120

17

46

-

1

1104

+

232

912

18

47

-

1

1104

19

48

-

1

1728

-

1

15024

6
7

23
24

8 [25…31]

2

9

37

-

1

48

10

38

-

1

96

20 [49…64]
Tổng số: 22680

Ma trận Hadamard MDS cuộn Had(1,4,9,13) tốt nhất được đánh
giá và phân tích.


21
3.3.4. Xây dựng các ma trận MDS dựa trên các ma trận vòng
Ma trận dịch vòng được định nghĩa như sau:
Định nghĩa 3.5. Ma trận d có dạng:
 a0 a1  ad 1 
a

 d 1 a0  ad  2 
 
 
 


 a1 a2  a0 
được gọi là ma trận dịch vòng và kí hiệu là Circ(a0,..., ad-1) với ai  2n .
Bảng 3.5: Liệt kê và đánh giá các ma trận MDS dịch vòng 44
trên 2 4
Số
Số
Tổng Số xung Số điểm Số lượng
Tổng
điểm Số lượng
STT
STT
xung
XOR
nhịp bất động theo lớp
XOR
bất theo lớp
nhịp
động
3
8
3
1
8
1
16
15
1
4
8
1
840
2
17 21
4
1
16
24
40
3
18
16
3
4
4
2
8
22
4
(1,2
)
(1128,40)
4
19
40

20

23

4

(1,24) (1392,120)

56

21

24

4

(1,24) (1592,104)

2

16

22

25

4

(1,24) (1760,160)

3

1

8

23

26

4

(1,24) (1640,160)

4

4

2

24

24

27

4

(1,24) (1672,128)

10

4

1

160

25

28

4

(1,24) (1408,48)

11

3

24

26

29

4

(1,24) (1184,80)

296

27

30

4

(1,24)

3

5
6

17

7
8
9

12

18

19

13
14
15
31

4

4

20

4

34

4

1
4

1
4

4

(816,24)

2

32

28

31

4

(1,2 )

(520,72)

1

560

29

32

4

1

232

4

2

32

24

16

30

33

4

4

(1,2 )

Tổng số: 16560

(72,8)


22
Tương tự như ma trận Hadamard, các ma trận dịch vòng này
cũng có quan hệ tương đương như sau:
Định nghĩa 3.6. Cho hai ma trận dịch vòng kích cỡ kk là
'
'
'
C=Circ(c0,c1,… ,ck-1) và C’=Circ( c0 , c1 ,..., ck 1 ), hai ma trận này được
gọi là có quan hệ tương đương khi tồn tại một hoán vị k phần tử  sao
'
cho ci  c  i . Kí hiệu, CC’.
Khi đó, ta cũng có nhận xét sau để giảm độ tính toán là:
Nhận xét 3.4. Cho hai ma trận dịch vòng tương đương C C’. Khi đó,
hai ma trận C, C’ có cùng tính cuộn, cùng số nhánh, cùng số điểm bất
động, cùng số cổng XOR cài đặt.
Tuy nhiên, đối với tính cuộn của ma trận dịch vòng ta có kết quả sau:
Bổ đề 3.2. Các ma trận dịch vòng có kích thước 4×4 có tính chất cuộn
thì không MDS.
Luận án nhận được 16560 ma trận dịch vòng có tính chất MDS,
với số lượng cổng XOR dùng cho cài đặt từ 15 đến 34. Bảng thống kê
các tính chất mật mã của các ma trận dịch vòng có tính chất MDS. Trong
các ma trận nhận được, tám ma trận thuộc lớp tương đương chứa ma trận
Circ(1,1,4,9) có các tham số tốt nhất có số cổng XOR là 15, không có
điểm bất động khác 0, số xung nhịp thực hiện phép biến đổi MixColumns
đầy đủ sẽ là 16×3 = 48 (xung nhịp) do đó tốc độ tính toán sẽ rất cao.
3.3.5. Một số thảo luận về các kết quả nhận được
Bảng 3.6: Độ phức tạp trong cài đặt phần cứng cho các mô hình
Tham số
STT

Các ma trận

1
2
3

M1/(M1)-1 (LED)
M2/(M2)-1
M3=Had(1,4,9,13)
M4=Circ(1,1,4,9)
(M4)-1=Circ(8,7,7,12)

4

XOR

GE

16/18
15/16
17

41,6/46,8
39,0/41,6
45,05

Số xung
nhịp
đồng hồ
48/64
48/48
64

15/31

39,0/82.15

48/64

Ghi chú
Dạng đồng hành
Dạng đồng hành
Dạng Hadamard
Dạng dịch vòng


23
Bảng 3.6 tổng hợp các ma trận tốt nhất theo các tiếp cận được đề
xuất trong luận án, so sánh với cài đặt ma trận đồng hành trong mã pháp
LED. Ở đây, luận án so sánh cả quá trình mã và giải mã (với quy đổi 1
GE = 2,65 XOR). Như vậy, các ma trận MDS dạng Hadamard có chi phí
cài đặt tốt nhất nếu xét trên tiêu chí cài đặt, do nó chỉ cần 45,05 GE cho
cả cài đặt mã hóa và giải mã, tuy nhiên tầng tuyến tính của ma trận này
lại tồn tại tới 232 điểm bất động. Trong trường hợp chế độ sử dụng chỉ
cần mỗi mã hóa, các ma trận vòng chính là sự lựa chọn phù hợp nhất do
M4 chỉ cần có 39 GE. Còn trường hợp cần cả mã hóa và giải mã, chúng
ta nên lựa chọn các ma trận dạng đồng hành.
3.4. Kết luận của chương 3
Trong chương này, luận án đã thực hiện việc phân tích và xây
dựng tầng tuyến tính cho mã khối hạng nhẹ có cấu trúc SPN dạng AES
với kích thước khối 64 bit. Cụ thể:
 Đã phân tích và đánh giá mô hình mã pháp hạng nhẹ có kích cỡ
khối 64 bit có dạng AES sử dụng tầng tuyến tính được sửa đổi.
Trong đó, phép biến đổi ShiftRows được thay thế bởi TranCells.
Mệnh đề 3.2 đã chỉ ra độ an toàn của mã pháp này đạt được mức an
toàn theo đánh giá của chiến lược vệt lan rộng trong mã khối AES.
Hơn nữa, các cấu trúc này cho phép cài đặt phần mềm với chi phí
thấp và đạt được hiệu quả thực thi nhanh.
 Để hướng tới việc xây dựng thuật toán mã khối hạng nhẹ theo mô
hình trên, luận án đã xây dựng các ma trận MDS phù hợp với phép
biến đổi MixColumns theo các phương pháp tiếp cận được đề xuất
gần đây như dựa trên ma trận đồng hành, ma trận Hadamard, ma
trận vòng. Hơn nữa, luận án cũng đã định hướng việc sử dụng các
ma trận nhận được trong những trường hợp cụ thể.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×