|
khóa vòng 64 bit được sử dụng trong vòng i |
|
bit thứ b của khóa vòng Ki |
K = k79 .... k0 |
thanh ghi khóa 80 bit |
kb |
bit thứ b của thanh ghi khóa K |
STATE |
trạng thái bên trong 64 bit |
bi |
bit thứ i của STATE hiện tại |
wi |
từ 4 bit với 0 ≤ i ≤ 15 |
5.2.3 Mã hóa PRESENT
Mã khối PRESENT gồm 31 vòng, tức là 31 lần áp dụng của một dãy các biến đổi đơn giản. Một mô tả ở dạng giả mã của thuật toán mã hóa đầy đủ được đưa ra trong Hình 1, với STATE ký hiệu trạng thái bên trong. Các biến đổi cụ thể của thuật toán được xác định trong 5.2.5. Mỗi vòng của thuật toán sử dụng một khóa vòng khác nhau Ki (1 ≤ i ≤ 31), nhận được như mô tả trong 5.2.6. Hai vòng liên tiếp của thuật toán được chỉ rõ để minh họa trong Hình 2.
Hình 1 - Thủ tục mã hóa của PRESENT
Hình 2 - Hai vòng của PRESENT
5.2.4 Giải mã PRESENT
Thuật toán giải mã PRESENT đầy đủ được đưa ra trong Hình 3. Các biến đổi cụ thể của thuật toán được xác định trong 5.2.5. Mỗi vòng của thuật toán sử dụng một khóa vòng Ki (1 ≤ i ≤ 31) khác nhau, nhận được như trong 5.2.6.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hình 3 - Thủ tục giải mã của PRESENT
5.2.5 Các biến đổi của PRESENT
5.2.5.2 addRoundKey
Cho trước khóa vòng với 1 ≤ i ≤ 32 và STATE hiện tại b63... b0, addRoundKey gồm các phép toán , với 0 ≤ j ≤ 63.
5.2.5.2 sBoxLayer
Tầng phi tuyến sBoxLayer của quá trình mã hóa của PRESENT sử dụng một S-hộp S 4 bit sang 4 bit, nó được áp dụng 16 lần song song trong mỗi vòng. S-hộp biến đổi đầu vào x thành đầu ra S(x) như mô tả theo hệ thập lục phân được chỉ ra trong Bảng 1.
Bảng 1 - S-hộp PRESENT
x
0
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2
3
4
5
6
7
8
9
A
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C
D
E
F
S(x)
C
5
6
B
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
0
A
D
3
E
F
8
4
7
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2
Đối với sBoxLayer STATE hiện tại b63 ...b0 được xem như 16 từ 4 bit w15 ...w0 với wi = b4*i+3 || b4*i+2 || b4*i +1 || b4*i (0 ≤ i ≤ 15) và 4 bit đầu ra S(wi) tạo ra các giá trị cập nhật trạng thái là phép ghép S(w15) || S(w14) || ... || S(w0).
5.2.5.3 invsBoxLayer
S-hộp sử dụng trong thủ tục giải mã của PRESENT là nghịch đảo của S-hộp S 4 bit sang 4 bit mà được mô tả trong 5.2.5.2. S-hộp nghịch đảo biến đổi đầu vào x thành đầu ra S-1(x) như được mô tả theo hệ thập lục phân trong Bảng 2.
Bảng 2 - S-hộp nghịch đảo của PRESENT
x
0
1
2
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
4
5
6
7
8
9
A
B
C
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
E
F
S-1(x)
5
E
F
8
C
1
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
D
B
4
6
3
0
7
9
A
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hoán vị bit pLayer sử dụng trong thủ tục mã hóa của PRESENT được cho trong Bảng 3. Bit i của STATE được chuyển đến vị trí bit P(i).
Bảng 3 - Tầng hoán vị pLayer của PRESENT
5.2.5.5 invpLayer
Tầng hoán vị nghịch đảo invpLayer sử dụng trong thủ tục giải mã của PRESENT được cho trong Bảng 4. Bit i của STATE được chuyển tới vị trí bit P-1(i).
Bảng 4 - Tầng hoán vị nghịch đảo invpLayer của PRESENT
5.2.6 Lược đồ khóa PRESENT
5.2.6.2 PRESENT-80 và PRESENT-128
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
5.2.6.2 Khóa 80 bit cho PRESENT-80
Khóa của người dùng cung cấp được lưu trữ trong thanh ghi khóa K và được biểu diễn là k79k78... k0. Tại vòng i, khóa vòng 64 bit bao gồm 64 bit trái nhất của nội dung thanh ghi K hiện tại. Do vậy, tại vòng i chúng ta có:
Sau khi trích khóa vòng Ki, thanh ghi khóa K = k79k78...k0 được cập nhật như sau:
Diễn giải bằng lời, thanh ghi khóa được quay vòng 61 bit vị trí sang bên trái, 4 bit trái nhất được đưa qua S-hộp của PRESENT, và giá trị round_counter i được cộng XOR với các bit k19k18k17k16k15 bit của K trong đó bit có trọng số thấp nhất của round_counter nằm bên phải. Các vòng được đánh số từ 1 ≤ i ≤ 31 và round_counter = i. Hình 4 là minh họa lược đồ khóa của PRESENT-80.
Hình 4 - Lược đồ khóa PRESENT-80
5.2.6.3 khóa 128 bit cho PRESENT-128
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Sau khi trích khóa vòng Ki, thanh ghi khóa K = k127k126...k0 được cập nhật như sau:
Diễn giải bằng lời, thanh ghi khóa được quay vòng 61 bit vị trí sang bên trái, 8 bit trái nhất được đưa qua S-hộp của PRESENT, và giá trị round_counter i là được cộng XOR với các bit k66k65k64k63k62 của K bit có trọng số thấp nhất của round_counter nằm bên phải. Các vòng được đánh số từ 1 ≤ i ≤ 31 và round_counter = i. Hình 5 là đồ họa mô tả lược đồ khóa PRESENT-128.
Hình 5 - Lược đồ khóa PRESENT-128
6 Mã khối hạng nhẹ với kích thước khối 128 bit
Điều này đặc tả hai mã khối hạng nhẹ 128 bit: CLEFIA tại 6.2 và LEA tại 6.3.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thuật toán CLEFIA [15] là một mã khối đối xứng, có thể xử lý các khối dữ liệu 128 bit sử dụng một khóa mật mã có độ dài 128, 192, 256 bit. Số vòng cho CLEFIA là 18, 22 và 26 với các khóa có kích thước 128 bit, 192 bit và 256 bit tương ứng. Tổng số khóa vòng phụ thuộc vào độ dài khóa. Các hàm mã hóa và giải mã của CLEFIA yêu cầu 36, 44 và 52 khóa vòng cho các khóa 128 bit, 192 bit và 256 bit tương ứng.
6.2.2 Các ký hiệu riêng cho CLEFIA
a(b)
Xâu bit có độ dài b bit
{0.1}n
Tập các xâu nhị phân có độ dài n
∙
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
<<< i
Phép dịch vòng sang trái i bit
~a
Phép lấy bù theo từng bit của xâu bit a
Σn
n lần phép toán của hàm DoubleSwap Σ
Quá trình mã hóa của CLEFIA dựa trên cấu trúc Feistel tổng quát hóa 4 nhánh r- vòng GFN4,r. Cho P, C ϵ {0,1}128 là bản rõ và bản mã. Cho Pi, Ci ϵ {0,1}32 (0 ≤ i < 4) là các phần được chia từ các bản rõ và bản mã với P = P0 || P1 || P2 || P3 và C = C0 || C1 || C2 || C3. Cho WK0, WK1, WK2, WK3 ϵ {0,1}32 là các khóa làm trắng và RKi ϵ {0,1}32 (0 ≤ i < 2r) là các khóa vòng được cung cấp bởi lược đồ khóa. Khi đó, hàm mã hóa r-vòng ENCr được định nghĩa như sau:
ENCr:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm giải mã DECr được định nghĩa như sau:
DECr:
Hình 6 minh họa cho cả ENCr và DECr.
Hình 6 - Thủ tục mã hóa và thủ tục giải mã của CLEFIA
6.2.5 Các khối cơ sở của CLEFIA
6.2.5.2 GFNd,r
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
CLEFIA sử dụng 4 nhánh và mạng Feistel tổng quát 8-nhánh. Mạng Feistel tổng quát 4-nhánh được dùng trong phần xử lý dữ liệu và lược đồ khóa với khóa 128 bit. Mạng Feistel tổng quát 8-nhánh được áp dụng trong lược đồ khóa với các khóa 192/256 bit. Chúng ta ký hiệu mạng Feistel tổng quát d-nhánh r-vòng dùng trong CLEFIA là GFNd,r. GFNd,r sử dụng hai F-hàm 32 bit khác nhau là F0 và F1.
Với d cặp của đầu vào Xi và đầu ra Yi (0 ≤ i < d) 32 bit và dr/2 khóa vòng 32 bit RKi (0 ≤ i < dr/2), GFNd,r (d = 4,8) và hàm ngược (d = 4) được xác định như sau:
GFN4,r:
1) T0 || T1 || T2 || T3 ¬ X0 || X1 || X2 || X3
2) Với i = 0 đến r-1:
2.1) T1 ¬ T1 Å F0(RK2i, T0)
T3 ¬ T3 Å F1(RK2i+1, T2)
2.2) T0 || T1 || T2 || T3 ¬ T1 || T2 || T3 || T0
3) Y0 || Y1 || Y2 || Y3 ¬ T3 || T0 || T1 || T2
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1) T0 || T1 || ... || T7 ¬ X0 || X1 || ... || X7
2) Với i = 0 đến r-1:
2.1) T1 ¬ T1 Å F0(RK4i, T0)
T3 ¬ T3 Å F1(RK4i+1, T2)
T5 ¬ T5 Å F0(RK4i+2, T4)
T7 ¬ T7 Å F1(RK4i+3, T6)
2.2) T0 || T1 || ... || T6 || T7 ¬ T1 || T2 || ... || T7 || T0
3) Y0 || Y1 || ... || Y6 || Y7 ¬ Y7 || Y0 || ... || Y5 || Y6
Hàm ngược thu được bằng cách đổi thứ tự của RKi và hướng của phép dịch vòng từ tại 2.2) và 3) trong GFN4,r.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1) T0 || T1 || T2 || T3 ¬ X0 || X1 || X2 || X3
2) Với i = 0 đến r-1:
2.1) T1 ¬ T1 Å F0(RK2(r-1)-2, T0)
T3 ¬ T3 Å F1(RK2(r-1)-1, T2)
2.2) T0 || T1 || T2 || T3 ¬ T3 || T0 || T1 || T2
3) Y0 || Y1 || Y2 || Y3 ¬ T1 || T2 || T3 || T0
6.2.5.2 Các F-hàm
Hai F-hàm F0 và F1 sử dụng trong GFNd,r được xác định như sau:
F0: (RK(32), x(32)) ® y(32)
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2) Cho V = V0 || V1 || V2 || V3, V1 ϵ {0,1}n.
V0 ¬ S0(V0)
V1 ¬ S1(V1)
V2 ¬ S0(V2)
V3 ¬ S1(V3)
3) Cho y0 || y1 || y2 || y3, y1 ϵ {0,1}n.
F1: (RK(32), x(32)) ® y(32)
1) V ¬ RK Å x
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
V0 ¬ S1(V0)
V1 ¬ S0(V1)
V2 ¬ S1(V2)
V3 ¬ S0(V3)
3) Cho y0 || y1 || y2 || y3, y1 ϵ {0,1}n.
S0 và S1 là các S-hộp phi tuyến 8 bit, M0 và M1 là các ma trận khuếch tán được mô tả trong các tiểu mục ở dưới. Trong mỗi F-hàm sử dụng hai S-hộp và một ma trận, nhưng các S-hộp được sử dụng theo thứ tự khác nhau và các ma trận khác nhau. Hình 7 là đồ họa mô tả các F-hàm.
Hình 7 - Các F-hàm
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
CLEFIA sử dụng hai kiểu S-hộp 8 bit khác nhau S0 và S1; S0 dựa trên bốn S-hộp 4 bit ngẫu nhiên, và S1 dựa trên hàm nghịch đảo trên GF(28).
Bảng 5 và bảng 6 chỉ ra các giá trị đầu ra của S0 và S1 tương ứng. Tất cả các giá trị trong Bảng được biểu diễn ở hệ thập lục phân. Với một đầu vào 8 bit của S-hộp, 4 bit cao biểu diễn hàng và 4 bit thấp biểu diễn cột. Ví dụ, nếu một giá trị 0xab là đầu vào, 0x7e là đầu ra của S0 vì nó cùng nằm trên đường giao của hàng chỉ số ‘a.’ và cột có chỉ số là ‘.b’
Bảng 5 - S0
Bảng 6 - S1
a) S-hộp S0
S0 : {0,1}8 ® {0,1}8: x ® y = S0(x) được sinh bởi sự kết hợp của 4 S-hộp 4 bit SS0, SS1, SS2, và SS3 theo cách dưới đây. Giá trị của mỗi S-hộp được xác định trong Bảng 7.
1) t0 ¬ SS0(x0), t1 ¬ SS1(x1), với x = x0 || x1, xi ϵ {0,1}4
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
3) y0 ¬ SS2(u0), y1 ¬ SS3(u1), với y = y0 || y1, yi ϵ {0,1}4
Phép nhân 0 x 2 ∙ t1 được thực hiện trong trường GF(24) xác định bởi đa thức nguyên thủy z4 + z + 1. Hình 8 đưa ra cách xây dựng của S0.
Bảng 7 - SSi (0 ≤ i < 4)
Hình 8 - S0
b) S-hộp S1
1: {0,1}8 ® {0,1}8:x ® y = S1(x) được xác định như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
f: {0,1}8 ® {0,1}8:x ® y = f(x),
g: {0,1}8 ® {0,1}8:x ® y = g(x),
Với x = x0 || x1 || x2 || x3 || x4 || x5 || x6 || x7 và y = y0 || y1 || y2 || y3 || y4 || y5 || y6 || y7, xi, yj ϵ {0,1}. Các hằng số trong f và g có thể được biểu diễn như 0x1e và 0x69 tương ứng.
6.2.5.4 Các ma trận khuếch tán
Các ma trận M0 và M1 được xác định như sau:
Các phép nhân của một ma trận và một véc tơ được thực hiện trên trường GF(28) xác định bởi đa thức nguyên thủy z8 + z4 + z3 + z2 + 1 (= 0x11d).
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
6.2.6.2 Cấu trúc chung
Lược đồ khóa CLEFIA hỗ trợ các khóa 128, 192 và 256 bit và tạo ra các khóa trắng WKi(0 ≤ i < 4) và các khóa vòng RKj(0 ≤ j < 2r) cho phần xử lý dữ liệu. Gọi K là khóa và L là khóa trung gian. Lược đồ khóa bao gồm hai bước sau:
1) Sinh L từ K.
2) Mở rộng K và L (sinh WKi và RKj)
Để sinh L từ K, lược đồ khóa cho khóa 128 bit sử dụng một phép hoán vị 128 bit GFN4,12, trong đó lược đồ khóa cho các khóa 192/256 bit sử dụng một phép hoán vị 256 bit GFN8,10.
6.2.6.2 Lược đồ khóa cho khóa 128 bit
Khóa trung gian 128 bit L được sinh ở bước 1 bằng cách áp dụng GFN4,12, trong đó lấy 24 giá trị hằng số 32 bit (0 ≤ i < 24) làm các khóa vòng và K = K0 || K1 || K2 || K3 làm đầu vào. Tiếp đó K và L được sử dụng để sinh WKi(0 ≤ i < 4) và RKj(0 ≤ j < 36) tại bước 2 và 3. 36 giá trị hằng số 32 bit (24 ≤ i < 60) sử dụng ở bước 3 được xác định trong 6.2.6.6. Hàm DoubleSwap Σ được xác định trong 6.2.6.5.
(Sinh L từ K)
1)
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2) WK0 || WK1 || WK2 ||| WK3 ¬ K
3) Với i =0 đến 8
Nếu i lẻ: T ¬ T Å K
RK4i || RK4i+1 || RK4i+2 || RK4i+3 ¬ T
Bảng 8 chỉ ra mối quan hệ giữa các khóa vòng được sinh và dữ liệu có liên quan
Bảng 8 - Mở rộng K và L (Khóa 128 bit)
6.2.6.3 Lược đồ khóa cho khóa 192 bit
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KL, KR và LL, LR được sử dụng để sinh WKi(0 ≤ i < 4) và RKj(0 ≤ j < 44) tại bước 4 và 5 dưới đây. Trong phần sau, 44 giá trị hằng số 32 bit được sử dụng.
Các bước dưới đây chỉ ra lược đồ khóa 192 bit/256 bit. Với lược đồ khóa 192 bit, giá trị của k được đặt là 192.
(Sinh LL, LR từ KL, KR với một khóa k bit)
1) Đặt k = 192 hoặc k = 256
2) Nếu k = 192: KL ¬ K0 || K1 || K2 || K3 || KR ¬ K4 || K5 || -K0 || -K1
hoặc nếu k = 256 : KL ¬ K0 || K1 || K2 || K3 || KR ¬ K4 || K5 || K6 || K7
2) Cho KL = KL0 || KL1 || KL2 || KL3 || KR = KR0 || KR1 || KR2 || KR3
LL || LR ¬ GFN8,10(CON0(K),..., CON39(K), KL0,...,KL3, KR0,...,KR3)
(Mở rộng KL, KR và LL, LR với khóa k-bit)
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
5) Với i = 0 đến 10 (nếu k = 192), hoặc 12 (nếu k = 256) thực hiện:
Nếu (i mod 4) = 0 hoặc 1:
nếu i lẻ: T ¬ T Å KR
Hoặc:
nếu i lẻ: T ¬ T Å KL
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bảng 9 chỉ ra mối quan hệ giữa các khóa vòng được tạo và dữ liệu có liên quan
Bảng 9 - Mở rộng KL, KR, LL, LR (khóa 192 bit)
6.2.6.4 Lược đồ khóa cho khóa 256 bit
Lược đồ khóa cho khóa 256 bit gần như giống hệt với lược đồ khóa 192 bit, ngoại trừ các giá trị hằng số, số RKi được yêu cầu và khởi tạo của KR.
Với khóa 256 bit, giá trị của K đặt là 256, các bước thực hiện giống như các bước của khóa 192 bit (xem mô tả trong 6.2.6.3). Sự khác biệt là chúng ta sử dụng làm các khóa vòng để sinh LL, LR và sau đó sinh RKj(0 ≤ j < 52), chúng ta sử dụng 52 giá trị hằng số 32 bit Bảng 10 chỉ ra mối quan hệ giữa các khóa vòng được sinh và mối dữ liệu có liên quan.
Bảng 10 - Mở rộng KL, KR, LL, LR (khóa 1256 bit)
6.2.6.5 Hàm DoubleSwap
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Với X[a-b] ký hiệu một xâu bit cắt từ bit thứ a tới bit thứ b của X. Bit 0 là bit có trọng số lớn nhất. Hàm DoubleSwap được minh họa như Hình 10.
Hình 10 - Hàm DoubleSwap Σ
6.2.6.6 Các giá trị hằng số
Các giá trị hằng số 32 bit được sử dụng trong thuật toán lược đồ khóa. Chúng ta cần 60, 84, 92 giá trị hằng số cho khóa 128, 192, 256 bit tương ứng. Cho P(16) = 0xb7e1(=(e - 2)216) và Q(16)= 0x243f(=(π - 3)216) với e là cơ số của logarit tự nhiên (2,71828....) và π (3,14159...). , với k = 128, 192, 256 được sinh theo cách dưới đây. (Xem Bảng 11 là các số lần lặp lại l(k) và giá trị khởi tạo IV(k).
1)
2) Với i = 0 đến l(k) - 1 thực hiện các bước sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bảng 11 - Số các giá trị hằng số được yêu cầu
Bảng 12 - 14 chỉ ra các giá trị của và Bảng 15-17 chỉ ra các giá trị của
Bảng 12 -
Bảng 13 -
Bảng 14 -
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bảng 16 -
Bảng 17 -
Thuật toán LEA là một mã khối đối xứng, có thể xử lý các khối dữ liệu 128 bit và có ba khóa có độ dài khác nhau: 128, 192, 256 bit [11]. LEA với các khóa 128, 192, 256 bit được gọi là “LEA-128”, “LEA-192” và “LEA-256” tương ứng. Số vòng cho CLEFIA là 24 cho LEA-128, 28 cho LEA-192, và 32 cho LEA-256. Các hàm mã hóa và giải mã của LEA yêu cầu 25, 28 hoặc 32 khóa vòng cho LEA-128, LEA-192, LEA-256 tương ứng.
6.3.2 Các ký hiệu riêng cho LEA
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
số lượng vòng của thuật toán LEA; 24, 28 hoặc 32 cho độ dài khóa 128,192 hoặc 256 bit tương ứng
Ki
khóa vòng 192 bit thứ i bao gồm 6 từ 32 bit Ki[0] || Ki[1] || Ki[2] || Ki[3] || Ki[4] || Ki[5] với 0 ≤ i ≤ Nr
Xi
trạng thái thứ i bao gồm 4 từ 32 bit Xi[0] || Xi[1] || Xi[2] || Xi[3], 0 ≤ i ≤ Nr
d[i]
các giá trị hằng số 32 bit được sử dụng để sinh các khóa vòng, 0 ≤ i ≤ 8
{0,1}n
tập các xâu nhị phân 32-bit
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
phép dịch vòng trái i-bit
>>> i
phép dịch vòng phải i-bit
phép cộng mô-đun 2n
phép trừ mô-đun 2n
Cho P = P[0] || P[1] || P[2] || P[3] là khối bản rõ 128 bit và C = C[0] || C[1] || C[2] || C[3] là khối bản mã, với P[i], C[i] ϵ {0,1}32 (0 ≤ i < 4). Cho Ki = Ki[0] || Ki[1] || Ki[2] || Ki[3] || Ki[4] || Ki[5] (0 ≤ i ≤ Nr) là các khóa vòng 192 bit được cung cấp bởi lược đồ tại 6.3.5, với Ki ϵ {0,1}32 (0 ≤ i < 6).
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
(1) X0[0] || X0[1] || X0[2] || X0[3] ¬ P[0] || P[1] || P[2] || P[3]
(2) Với i = 0 đến (Nr-1)
(3) C[0] || C[1] || C[2] || C[3] ¬ XNr[0] || XNr[1] || XNr[2] || XNr[3]
Hình 11 đưa ra mã hóa hàm vòng LEA.
Hình 11: Mã hóa hàm vòng LEA
Hoạt động giải mã thực hiện như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
(2) i = (Nr - 1) đến 0:
(3) P[0] || P[1] || P[2] || P[3] ¬ X0[0] || X0[1] || X0[2] || X0[3]
Hình 12 đưa ra quá trình giải mã hàm vòng LEA.
CHÚ THÍCH Hàm trừ trong Hình 12 có nghĩa là đối số bên trái bị khử từ đối số trên cùng.
Hình 12: giải mã hàm vòng LEA
6.3.5.1 Cấu trúc chung
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
6.3.5.2 Lược đồ khóa cho LEA-128
Cho K = K[0] || K[1] || K[2] || K[3] là một khóa 128 bit, với K[i] ϵ {0,1}32 (0 ≤ i < 4). Lược đồ khóa cho LEA-128 lấy K và 4 giá trị hằng số 32 bit d[i](0 ≤ i < 4) được mô tả tại 6.3.5.5 làm đầu vào và đầu ra là 24 khóa vòng 192 bit K[i] (0 ≤ i < 24).
Lược đồ khóa LEA-128 được thực hiện như sau:
(1) T[0] || T[1] || T[2] || T[3] ¬ K[0] || K[1] || K[2] || K[3]
(2) Với i = 0 đến 23
Ki ¬ T[0] || T[1] || T[2] || T[1] || T[3] || T[1]
Thủ tục thực hiện lược đồ khóa LEA được minh họa trong Hình 13.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Về định danh hàm băm và sự lựa chọn độ dài có thể khôi phục được của thông điệp
Như được quy định trong Điều 6 (Yêu cầu), người dùng các lược đồ chữ ký được quy định trong tiêu chuẩn này phải lựa chọn một hàm băm kháng va chạm h. Điều quan trọng là bên xác thực có nhiều cách để xác định hàm băm nào đã được sử dụng khi tạo ra chữ ký, để quá trình xác thực có thể diễn ra một cách an toàn. Nếu có một tổ chức thứ ba nguy hiểm có thể thuyết phục bên xác thực rằng một hàm băm “yếu” đã được sử dụng để tạo ra chữ ký (ví dụ như một hàm băm thiếu tính chất một chiều) thì tổ chức thứ ba này có thể thuyết phục bên xác thực rằng một chữ ký có hiệu lực thực sự đã được áp dụng cho một thông điệp “sai".
Ba lược đồ chữ ký số được quy định trong tiêu chuẩn này cho phép một định danh hàm băm chứa trong giá trị đại diện của thông điệp F (xem 8.2.2). Nếu định danh hàm băm đó chứa trong F theo cách này thì kẻ tấn công không thể sử dụng lại một cách gian lận một chữ ký đã tồn tại với cùng M1 và khác M2, thậm chí ngay cả khi bên xác thực có thể bị thuyết phục chấp nhận các chữ ký đã được tạo ra bằng một hàm băm đủ yếu mà tiền ảnh có thể được tìm thấy. Điều này được cho là có thể giải quyết được vấn đề đã được đề cập đến trong đoạn trước.
Tuy nhiên, như đã thảo luận chi tiết trong [16], ngay cả khi một định danh hàm băm được bao gồm trong giá trị đại diện của thông điệp, kẻ tấn công khác đều có thể xảy ra nếu bên xác thực có thể bị thuyết phục bằng một hàm băm “yếu” đã được sử dụng. Từ yếu ở đây có nghĩa là hàm băm thiếu tính chất một chiều, có nghĩa là với một hàm băm cho trước có thể tính toán để tìm ra xâu đầu vào ánh xạ đến mã băm này bởi hàm băm. (CHÚ THÍCH rằng chính xác thì kiểu yếu này trước tiên phải được thúc đẩy bởi sự bao gồm của một định danh hàm băm trong giá trị đại diện của thông điệp.
Các tấn công được mô tả trong [16] hoạt động theo cách thức chung sau đây. Kẻ tấn công tạo ra “chữ ký” ngẫu nhiên và đối với mỗi “chữ ký” này áp dụng một hàm xác thực công khai của thực thể mà chữ ký của nó muốn giả mạo, và thu được “giá trị đại diện của thông điệp đã được khôi phục” (đây là bước “mở chữ ký”). Phần tiếp theo của tấn công sẽ rất khác nhau tùy thuộc vào định dạng của giá trị đại diện của thông điệp, nhưng bắt buộc kẻ tấn công phải xem xét xem giá trị đại diện của thông điệp đã được khôi phục có định dạng đúng tương ứng với chữ ký thật và rằng định danh hàm băm trong xâu này là định danh tương ứng với một hàm băm yếu hay không. Khả năng xảy ra việc này là rất khác nhau, nhưng có thể lớn đến 2-16 (và do đó kẻ tấn công không cần phải thử quá nhiều “chữ ký ngẫu nhiên” trước khi tìm được một chữ ký có các thuộc tính mong muốn).
Với “chữ ký” này, kẻ tấn công có thể nhúng mã băm vào trong giá trị đại diện của thông điệp đã được khôi phục, và lợi dụng thực tế là hàm băm yếu để phát hiện ra một phần thông điệp không thể khôi phục được, mà khi kết hợp với phần có thể khôi phục được có trong giá trị đại diện của thông điệp, băm để có được mã băm mong muốn. Như thế, kẻ tấn công có thể giả mạo một chữ ký mới với một M1 “ngẫu nhiên”. Do đó, kể cả khi có định danh hàm băm trong giá trị đại diện của thông điệp cũng không tránh được việc đòi hỏi người xác thực phải có một phương thức độc lập an toàn để biết được hàm băm nào được sử dụng để xác thực chữ ký.
Thảo luận này cũng liên quan đến việc lựa chọn độ dài có thể khôi phục được c* cho lược đồ chữ ký 2 và 3. Như đã được mô tả trong 7.2.2, c* sẽ được lựa chọn thỏa mãn điều kiện c* ≤ c, năng lực của lược đồ chữ ký. c* thường được mong đợi là gần bằng c để tối đa độ dài phần có thể khôi phục được của thông điệp, và do đó tối thiểu độ dài phần không thể khôi phục được của thông điệp, c* được khuyến nghị lựa chọn là một số bất kỳ nhỏ hơn c (ví dụ như c-16, c-24 hoặc c-80, tùy theo độ khó mong muốn), để làm cho các cuộc tấn công theo hình thức đã được mô tả ở trên trở nên khó khăn hơn.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Phụ lục này bao gồm tổng cộng 12 ví dụ về tạo chữ ký và xác thực chữ ký làm việc theo ba lược đồ đã được quy định trong tiêu chuẩn này, cùng với hai ví dụ về tạo khóa.
Phụ lục E.1 bao gồm các ví dụ với số mũ công khai bằng 3.
- E. 1.1 bao gồm một ví dụ về tạo khóa.
- E.1.2 bao gồm ba ví dụ về tạo và xác thực chữ ký, tất cả đều là khôi phục toàn bộ thông điệp. Đối với mỗi lược đồ được quy định trong tiêu chuẩn này có một ví dụ tương ứng.
- E.1.3 bao gồm ba ví dụ về tạo và xác thực chữ ký, tất cả đều là khôi phục một phần thông điệp. Đối với mỗi lược đồ được quy định trong tiêu chuẩn này có một ví dụ tương ứng.
Phụ lục E.2 bao gồm các ví dụ với số mũ công khai bằng 2.
- E.2.1 bao gồm một ví dụ về tạo khóa.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- E.2.3 bao gồm ba ví dụ về tạo và xác thực chữ ký, tất cả đều là khôi phục một phần thông điệp. Đối với mỗi lược đồ được quy định trong tiêu chuẩn này có một ví dụ tương ứng
E.1 Các ví dụ với số mũ công khai bằng 3
Phụ lục E.1 bao gồm các ví dụ với khóa công khai có số mũ bằng 3.
E.1.1 Ví dụ về quá trình tạo khóa
Khóa trong ví dụ có mô-đun k = 1024 bit với số mũ công khai v = 3.
Số đồng dư công khai n là kết quả của các thửa số nguyên tố bí mật p và q. Độ dài của nó là 1024 bit.
Số mũ của chữ ký bí mật s bằng nghịch đảo phép nhân của v mod lcm(p - 1, q - 1).
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
E.1.2 Các ví dụ về khôi phục toàn bộ
Ở đây trình bày ba ví dụ về tạo và xác thực chữ ký, mỗi ví dụ tương ứng với một trong ba lược đồ.
E.1.2.1 Ví dụ về lược đồ chữ ký 1
Ví dụ này sử dụng hàm băm chuyên dụng 3 trong ISO/IEC 10118-3 (còn được biết đến với tên gọi là SHA-1).
E.1.2.1.1 Quá trình ký
Thông điệp được ký là một xâu bao gồm 64 ký tự mã ASCII như sau.
Trong hệ thập lục phân, thông điệp M là một xâu có độ dài là 64 xâu bộ tám, nghĩa là 512 bit như sau.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Định danh trong trường trailer xác định hàm băm được sử dụng; ISO/IEC 10118-3 thiết lập định danh cho hàm băm chuyên dụng 3 giá trị “33”. Do đó, trường trailer T bao gồm 16 bit sau đây.
T = 32CC
Thông điệp là đủ ngắn để khôi phục toàn bộ. 1024 bit của xâu trung gian Si kết quả của việc nối hai bit của tiêu đề bằng “01”, bit dữ liệu thêm được thiết lập bằng ‘0’, 332 (= 1024 - 512 - 160 - 16 - 4) bit đệm bằng ‘0’, bit bao quanh bằng 1, 512 bit của M1 (=M), 160 bit của H và 16 bit của trường trailer T. Xâu Sr có thể khôi phục kết quả của việc thay thế 82 xâu bộ bốn đệm bằng '0’ bằng 82 xâu bộ bốn đệm bằng ‘B’ và tương tự đối với xâu bộ bốn bao quanh bằng ‘1’ thay thế bằng ‘A’.
Số nguyên có thể khôi phục fr là số nguyên dương không dấu biểu diễn Sr. fr tăng theo lũy thừa bậc s theo mô-đun n. Kết quả được biểu diễn bởi một số nguyên dương không dấu tạm thời t.
Vì kết quả trên lớn hơn n/2, chữ ký Σ = n - t.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
E.1.2.1.2 Quá trình xác thực
Phụ lục này cung cấp các ví dụ số cho PRESENT, CLEFIA và LEA với mỗi độ dài khóa ký hiệu ở hệ thập lục phân.
B.1 Véc tơ kiểm tra PRESENT
B.1.1 PRESENT-80
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B.2 Các ví dụ số CLEFIA
B.2.1 CLEFIA với khóa 128 bit
Số nguyên có thể khôi phục fr là số nguyên dương không dấu biểu diễn Sr. fr tăng theo lũy thừa bậc s theo mô-đun n. Kết quả được biểu diễn bởi một số nguyên dương không dấu tạm thời t.
Xâu nhị phân biểu diễn số nguyên t dưới dạng một số nguyên dương không dấu là chữ ký được tạo ra bởi hàm tạo chữ ký thay thế (xem Phụ lục A.6) Σ' = t.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thông điệp đã ký có 128 xâu bộ tám chỉ bao gồm chữ ký vì M2 là rỗng.
E.1.2.3.2 Quá trình xác thực
Chữ ký Σ là một xâu nhị phân đại diện một số nguyên dương không dấu, nhỏ hơn n/2. Số nguyên này tăng theo lũy thừa bậc 3 mô-đun n, do đó thu được số nguyên fs.
Vì fs là đồng dư với (n - 12) mô-đun 16, số nguyên được khôi phục là f'r = n - fs.
fs được biểu diễn dưới dạng một số nguyên dương không dấu bởi xâu đã được khôi phục S'r. Hàm tạo mặt nạ MGF1 áp dụng cho 856 (= 1024 - 160 - 8) bit bên trái nhất của S'r, từ đó thu được xâu được khôi phục trung gian S'i.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Bit bên trái nhất của S'i được thiết lập bằng ‘0’ vì d = 1 (d = (1 - 1024)mod8). 106 xâu bộ tám bên trái nhất của xâu nhị phân còn lại bằng ‘0’; nó được theo sau bởi xâu bộ tám bao quanh “01”; 107 xâu bộ tám đó được chuyển sang bên trái của S'i.
- Xâu bộ tám bên phải nhất của S'i bằng “BC”; xâu bộ tám đó cũng được chuyển sang bên phải của S'i.
Vì trailer bằng “BC”, hàm băm được sử dụng đã được biết đến hoàn toàn; hàm băm chuyên dụng 3 trong ví dụ này.
Xâu còn lại 160 bit được giả định là mã băm H’ vì không còn thừa dữ liệu.
Thông điệp đã được khôi phục M’ được giả định là rỗng và do đó, khôi phục là toàn bộ. Mã băm khác H" được tính bằng cách áp dụng SHA-1 cho xâu nhị phân có độ dài 224 (=64+160), kết quả của việc ghép thêm 64 bit của độ dài thông điệp đã được khôi phục C' và 160 bit của mã băm của phần thông điệp không thể khôi phục được (phần này bằng rỗng) h(M2*). H" = h(C'||h(M2)).
Vì hai mã băm H’ và H” là giống nhau, chữ ký Σ được chấp nhận.
E.1.3 Các ví dụ về khôi phục một phần
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
E.1.3.1 Ví dụ về lược đồ chữ ký 1
Ví dụ này sử dụng hàm băm chuyên dụng 1 trong ISO/IEC 10118-3 (còn được biết đến với tên gọi là RIPEMD-160).
E.1.3.1.1 Quá trình ký
Ví dụ này mô tả chữ ký của một thông điệp 132 xâu bộ tám, có nghĩa là 1056 bit.
160 bit mã băm được tính toán bằng cách áp dụng hàm băm chuyên dụng 1 cho 1056 bit của M.
Hàm băm được sử dụng đã được biết đến hoàn toàn. Do đó, trường trailer T bao gồm 8 bit sau đây.
T = BC
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- M1 bao gồm 848 bit bên trái nhất.
- M2 bao gồm 208 bit còn lại, có nghĩa là 26 xâu bộ tám.
1024 bit của xâu trung gian Si kết quả của việc ghép thêm hai bit tiêu đề bằng "01”, bit dữ liệu thêm bằng ‘1’, bốn (= 1024 - 848 - 160 - 8 - 4) bit đệm bằng ‘0’, bit bao quanh bằng 1, 848 bit của M1, 160 bit của H và 8 bit của trường trailer T. Xâu có thể khôi phục Sr kết quả của việc xâu bộ bốn bao quanh bằng 1 được thay thế bằng ‘A’.
Số nguyên có thể khôi phục fr là số nguyên dương không dấu biểu diễn Sr. fr tăng theo lũy thừa bậc s theo mô-đun n. Kết quả được biểu diễn bởi một số nguyên dương không dấu tạm thời t.
Vì kết quả trên lớn hơn n/2, chữ ký Σ = n - t.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thông điệp đã ký có 128 xâu bộ tám chữ ký Σ cùng với 26 xâu bộ tám của thông điệp không thể khôi phục được M2, có nghĩa là chỉ nhiều hơn 22 xâu bộ tám so với thông điệp M.
E.1.3.1.2 Quá trình xác thực
Chữ ký Σ là một xâu nhị phân đại diện một số nguyên dương không dấu, nhỏ hơn n/2. Số nguyên này tăng theo lũy thừa bậc 3 mô-đun n, do đó thu được số nguyên fs.
Vì fs là đồng dư với (n - 12) mô-đun 16, nó được thay thế bởi phần dư của nó với n, có nghĩa là số nguyên được khôi phục là f'r = n - fs.
f'r được biểu diễn dưới dạng một số nguyên dương không dấu bởi xâu đã được khôi phục S'r.
- Xâu bộ tám bên trái nhất của S'r bằng “6A”; nó bao gồm tiêu đề bằng “01”, bit dữ liệu thêm bằng ‘1’ (khôi phục một phần), một bit đệm bằng ‘0’ và một xâu bộ bốn đệm bằng ‘A’; xâu bộ tám này được chuyển sang bên trái của S'r.
- Xâu bộ tám bên phải nhất của S'r bằng "BC"; xâu bộ tám đó cũng được chuyển sang bên phải của S'r.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Xâu còn lại 1008 bit được chia làm hai phần.
- M1* bao gồm 848 bit bên trái nhất.
- H' bao gồm 160 bit bên phải nhất.
Vì khôi phục là một phần, thông điệp đã được khôi phục M* bao gồm M1* và M2*, phần có thể và không thể khôi phục được.
Mã băm còn lại H" được tính bằng các áp dụng hàm băm chuyên dụng 1 cho M*.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
E.1.3.2 Ví dụ về lược đồ chữ ký 2
Ví dụ này sử dụng hàm băm chuyên dụng 3 trong ISO/IEC 10118-3 (còn được biết đến với tên gọi là SHA-1).
E.1.3.2.1 Quá trình ký
Thông điệp để ký là xâu 112 ký tự mã ASCII sau đây.
Trong hệ thập lục phân, thông điệp M là xâu bộ tám có độ dài 112 xâu bộ tám, có nghĩa là 896 bit sau đây.
160 bit của salt S được tạo ra.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B.2.3 CLEFIA với khóa 256 bit
B.3 Các ví dụ số LEA
B.3.1 LEA-128
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B.3.2 LEA-192
B.3.3 LEA-256
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Phụ lục này tổng hợp các thuộc tính hạng nhẹ của các mã khối mô tả trong tiêu chuẩn này. Trong phụ lục C.1 TCVN 12854-1 đưa ra các chỉ số phần cứng cho mã khối hạng nhẹ. Sử dụng các chỉ số, các thuộc tính hạng nhẹ của PRESENT và CLEFIA được tổng hợp trong bảng C.1.
Bảng C.1 - Bảng đặc tính
Tên thuật toán
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
PRESENT [10][11][12]
CLEFIA [7][14]
Kích thước khóa [bit]
80
128
80
128
128
128
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
192
265
Kích thước khối [bit]
64
64
64
64
128
128
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
128
128
Tiết diện chipa [GE]
1075
1391
1570
1884
2488
4950
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8536
8482
Chu kỳb [CLK]
547
559
32
32
328
36
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
22
6
Số bit trên chu kỳ [bit/CLK]
0,12
0,11
2
2
0,39
3,56
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
5,82
4,92
Năng lượngc [GE]
1075
1391
1570
1884
2488
4950
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8536
8482
Năng lượngd [GE*CLK]
588025
777569
50240
60288
816064
178200
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
187792
220532
Năng lượng trên mỗi bite [GE*CLK/bit]
9188
12150
785
942
6367
1392
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1467
1732
Công nghệ [µm]
0,18
0,18
0,13
0,09
0,09
0,09
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hỗ trợ giải mã
KHÔNG
KHÔNG
KHÔNG
CÓ
CÓ
CÓ
CÓ
Đặc tính
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Diện tích nhỏ và năng lượng thấp (dựa vào vòng)
Diện tích nhỏ nhất
Diện tích nhỏ (dựa vào vòng)
Năng lượng thấp và hiệu quả cao (dựa vào vòng)
a Tiết diện chip được đo bởi các cổng tương đương (GE). Các con số được đưa ra đã thu được bằng cách sử dụng một công cụ tổng hợp tự động thiết kế điện tử tự động
b Số chu kỳ xung nhịp [CLK] để một lần thực thi thuật toán tạo ra đầu ra. Ta thu được bởi kiến trúc cài đặt phần cứng.
c Với giả thiết các ứng dụng phần cứng hạng nhẹ có xung nhịp ở tần suất thấp vài trăm kHz, năng lượng tiêu thụ có thể được ước lượng bằng cách sử dụng phép đo như với diệc tích chip [6].
d Năng lượng tiêu thụ ký hiệu năng lượng tiêu thụ trên một khoảng thời gian cụ thể. Ta có thể được ước tính băng việc nhân năng lượng tiêu thụ với số chu kỳ đếm được.
e Ta có thể thu được bằng cách chia năng lượng cho kích thước khối.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bảng C.2: Triển khai tốc độ cao của LEA trên Atmega128
Tên thuật toán
LEA-128
LEA-192
LEA-256
Kích cỡ mã [byte]
862
934
934
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
433
761
865
Chu kỳ mã hóa [CLK]
2689
3589
4081
Tốc độ [CLK/byte]
168,06
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
255,06
Bảng C.3: Triển khai tốc độ cao của LEA trên MSP430
Tên thuật toán
LEA-128
LEA-192
LEA-256
Kích cỡ mã [byte]
650
666
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kích cỡ RAM [byte]
440
768
872
Chu kỳ mã hóa [CLK]
2056
2435
2765
Tốc độ [CLK/byte]
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
152,19
172,81
Bảng C.4: Triển khai tốc độ cao của LEA trên Cortex-M3
Tên thuật toán
LEA-128
LEA-192
LEA-256
Kích cỡ mã [byte]
808
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1058
Kích cỡ RAM [byte]
472
776
880
Chu kỳ mã hóa [CLK]
424
565
644
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
26,50
35,31
40,25
Giới hạn của mã khối với một khóa đơn
Phụ lục này đưa ra cận trên về các phép mã hóa mã khối nên thực hiện với một khóa đơn. Độ an toàn của hầu hết các chế động mã khối giảm xuống khi số lần mã hóa tiến đến 2n/2 [8][9][12], với n là kích thước khối theo bit. Thông tin đủ để có thể phân biệt được đầu ra của mã khối với một hàm ngẫu nhiên (sau 2n/2 lần mã hóa. Ví dụ, với n = 64, mã hóa 264/2 = 232 khối, là đủ để phơi bày mã khối trước các tấn công có thể khi sử dụng trong một vài chế độ hoạt động của mã khối (như CBC hoặc chế độ bộ đếm). Vì vậy, với các mã khối n-bit, việc mã hóa lớn hơn 2n/2 khối sử dụng một khóa đơn với các chế độ hoạt động cụ thể phải được ngăn chặn.
Cảnh báo này không chỉ áp dụng cho các mã khối hạng nhẹ được quy định trong tiêu chuẩn này mà còn cho tất cả các loại mã khối bao gồm cả các mã khối được quy định trong TCVN 11367-3 (ISO/IEC 18033-3). Để biết thêm thông tin, xem tài liệu chuẩn 12 (SD 12) của ISO/IEC JTC 1/SC 27.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thư mục tài liệu tham khảo
[1] TCVN 11495-1 (ISO/IEC 9797-1), Công nghệ thông tin - Các kỹ thuật an toàn - Mã xác thực thông điệp (MAC) - Phần 1: Cơ chế sử dụng mã khối
[2] TCVN 11817-1, Công nghệ thông tin - Các kỹ thuật an toàn - Xác thực thực thể - Phần 1: Tổng quan
[3] TCVN 11816 (ISO/IEC 10116), Công nghệ thông tin - Các kỹ thuật an toàn - Chế độ hoạt động cho mã khối n-bit.
[4] TCVN 7817-1 (ISO/IEC 11770)-1, Công nghệ thông tin - Các kỹ thuật an toàn - Quản lý khóa - Phần 1: Khung tổng quát
[5] TCVN 11367-1 (ISO/IEC 18033-1 Công nghệ thông tin - Các kỹ thuật an toàn - Thuật toán mật mã - Phần 1: Tổng quan
[6] TCVN 12854-1 (ISO/IEC 29192-1), Công nghệ thông tin - Các kỹ thuật an toàn - Mật mã hạng nhẹ - Phần 1: Tổng quan
[7] Akishita T., Hiwatari H., Compact Hardware Implementations of the 128-bit Blockcipher CLEFIA. Available at <http://www.sony.net/clefia>, 2011
[8] Bellare M., Desai A., Jokipii E., Rogaway P., A Concrete Treatment of Symmetric Encryption: Analysis of the DES Modes of Operation. In Proceedings of the 38th Symposium on Foundations of Computer Science, pp. 394-405, IEEE, 1997
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
[10] Bogdanov A., Knudsen L, Leander G., Paar C., Poschmann A., Robshaw M. et al. , PRESENT - An Ultra-Lightweight Block Cipher. In Proceedings of Workshop on Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science volume 4727, pp. 450-466, Springer-Verlag, 2007
[11] Hong D., Lee J.K., Kim D.C., Kwon D., Ryu G.H., Lee D., LEA: A 128-bit Block Cipher for Fast Encryption on Common Processors. In Proceedings of World Conference on Information Security Applications - WISA2013, Lecture Notes in Computer Science volume 8267, pp. 3-27, Springer-Verlag, 2014
[12] Poschmann A., Lightweight Cryptography - Cryptographic Engineering for a Pervasive World. Europäischer Universitätsverlag, Ph.D. thesis, 2009
[13] Rogaway P., Efficient Instantiations of Tweakable Block Ciphers and Refinements of Modes OCB and PMAC. Available at <http://seclab.cs.ucdavis.edu/papers/offsets.pdf>
[14] Rolfes C., Poschmann A., Leander G., Paar C., Ultra-Lightweight Implementations for Smart Devices - Security for 1000 Gate Equivalents. 8th Smart Card Research and Advanced Application Conference, CARDIS 2008, Lecture Notes in Computer Science volume 5189, pp. 89-103, Springer-Verlag, 2008
[15] Shirai T., Shibutani K., Akishita T., Moriai S., Iwata T., The 128-bit Blockcipher CLEFIA. In Proceedings of Workshop on Fast Software Encryption 2007 - FSE 2007, Lecture Notes in Computer Science volume 4593, pp. 181-195, Springer-Verlag, 2007
[16] Standing Document 12 (SD12) of ISO/IEC JTC 1/SC 27. Available at http://www.itc1sc27.din.de/sbe/SD12
MỤC LỤC
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1 Phạm vi áp dụng
2 Tài liệu viện dẫn
3 Thuật ngữ và định nghĩa
4 Các ký tự
5 Mã khối hạng nhẹ với kích thước khối 64 bit
5.2 PRESENT
6 Mã khối hạng nhẹ với kích thước khối 128 bit
6.2 CLEFIA
Phụ lục A (quy định) Các định danh đối tượng
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Phụ lục C (tham khảo) Bảng đặc tính
Phụ lục D (tham khảo) Giới hạn của mã khối với một khóa đơn
Thư mục tài liệu tham khảo
Tiêu chuẩn quốc gia TCVN 12854-2:2020 (ISO/IEC 29192-2:2012) về Công nghệ thông tin - Các kỹ thuật an toàn - Mật mã hạng nhẹ - Phần 2: Mã khối
Số hiệu: | TCVN12854-2:2020 |
---|---|
Loại văn bản: | Tiêu chuẩn Việt Nam |
Nơi ban hành: | *** |
Người ký: | *** |
Ngày ban hành: | 01/01/2020 |
Ngày hiệu lực: | Đã biết |
Tình trạng: | Đã biết |
Văn bản đang xem
Tiêu chuẩn quốc gia TCVN 12854-2:2020 (ISO/IEC 29192-2:2012) về Công nghệ thông tin - Các kỹ thuật an toàn - Mật mã hạng nhẹ - Phần 2: Mã khối
Chưa có Video