0x
|
Tiền tố cho các giá
trị thập lục phân.
|
0(n)
|
Biến n-bit mà 0 được
gán cho mỗi bit.
|
AND
|
Phép toán logic AND
từng bit.
|
Am(i)[Y]
|
Bit thứ Y của
thanh ghi Am(i)
trong KCipher-2 (K2).
|
ai
|
Các biến trong trạng
thái trong của bộ tạo khóa dòng.
|
bi
|
Các biến trong trạng
thái trong của bộ tạo khóa dòng.
|
CFB
|
Chế
độ phản hồi mã khối
|
CTR
|
Chế độ bộ đếm của mã
khối.
|
Ci
|
Khối bản mã.
|
Di
|
Hằng số 64-bit được
sử dụng cho MUGI.
|
eK
|
Hàm mã hóa
mã khối đối xứng sử dụng khóa bí mật K.
|
F
|
Hàm con được sử dụng
cho MUGI.
|
FSM
|
Hàm con được sử dụng
cho SNOW 2.0.
|
GF(2n)
|
Trường
hữu hạn gồm có 2n
phần tử.
|
GF(2n)[x]
|
Vành đa thức trên
trường hữu hạn GF(2n)
|
Init
|
Hàm tạo trạng thái khởi
tạo trong của bộ tạo khóa dòng
|
IV
|
Véc tơ khởi tạo.
|
IK
|
Khóa trong được sử
dụng cho KCipher-2 (K2).
|
K
|
Khóa
|
M
|
Hàm con được sử dụng
cho MUGI.
|
Next
|
Hàm chuyển trạng thái
tiếp theo của bộ tạo khóa dòng.
|
NLF
|
Hàm phi tuyến sử dụng
cho KCipher-2 (K2).
|
n
|
Độ dài khối.
|
OFB
|
Chế độ phản
hồi đầu ra mã khối.
|
OR
|
Phép toán logic OR
từng bit.
|
Out
|
Hàm đầu ra kết hợp
khóa dòng và bản rõ để tạo bản mã.
|
P
|
Bản rõ.
|
Pi
|
Khối bản rõ.
|
R
|
Đầu vào bổ sung cho
biến Out.
|
SR
|
Hàm con được
sử dụng cho MUGI.
|
Strm
|
Hàm khóa dòng của bộ
tạo khóa dòng.
|
SUB
|
Bảng tra cứu sử dụng
cho MUGI và SNOW 2.0.
|
SubK2
|
Hàm con được sử dụng
cho KCipher-2 (K2).
|
Si
|
Trạng thái trong của
bộ tạo khóa dòng.
|
T
|
Hàm
con được sử dụng cho SNOW 2.0.
|
Z
|
Khóa dòng.
|
Zi
|
Khối khóa dòng.
|
aMUL
|
Bảng tra cứu được
sử dụng cho SNOW 2.0.
|
aMUL0
|
Bảng tra cứu với chỉ
số 0 được sử dụng cho KCipher-2 (K2).
|
aMUL1
|
Bảng tra cứu với chỉ
số 1 được sử dụng cho KCipher-2 (K2).
|
aMUL2
|
Bảng tra cứu với chỉ
số 2 được sử dụng cho KCipher-2 (K2).
|
aMUL3
|
Bảng tra cứu với chỉ
số 3 được sử dụng cho KCipher-2 (K2).
|
ainv_MUL
|
Bảng tra cứu nghịch
đảo được sử dụng cho SNOW 2.0.
|
rl
|
Hàm con được sử dụng
cho MUGI.
|
ll
|
Hàm con được sử dụng
cho MUGI.
|
[x]
|
Các số nguyên nhỏ
nhất lớn hơn hoặc bằng số thực.
|
|
Phép toán bù từng
bit.
|
.
|
Phép nhân đa thức.
|
||
|
Phép ghép các xâu
bit.
|
+m
|
Phép cộng số nguyên
modulo 2m.
|
Å
|
Phép toán XOR (OR
loại trừ) từng bit.
|
Ä
|
Phép nhân các phần tử
trong trường hữu hạn GF(2n).
|
|
Phép cộng modulo
|
<<n t
|
Phép dịch trái t-bit
trong thanh ghi n-bit.
|
>>n t
|
Phép dịch phải t-bit
trong thanh ghi n-bit.
|
<<<n t
|
Phép dịch vòng sang
trái t- bit trong thanh ghi n-bit.
|
>>>n t
|
Phép dịch vòng sang
phải t- bit trong thanh ghi n-bit.
|
4.2. Các hàm
4.2.1. Hàm cắt trái các bit
Phép toán lựa chọn j
bít bên trái của mảng A = (a0, a1, … ,am-1)
để bạo ra một mảng j-bit và được viết
(j~A) = (a0
, a1, … , aj-1)
Phép toán xác định với
1 £ j £ m.
Xem trong ISO/IEC
10116:2006.
4.2.2. Phép
toán dịch
Phép toán dịch được xác
định như sau: Cho một biến n-bit
X và biến k-bit V trong đó 1 £ k £ n, tác dụng của hàm dịch để
tạo ra biến n-bit
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
(k < n)
Shiftk(X\V)
= (v0, v1,...,vk-1)
(k =
n)
Kết quả sự dịch chuyển
các bit của mảng X sang trái k vị trí, bỏ
đi x0, x1
,... ,xk-1
và đưa vào bên phải nhất mảng V k vị
trí của X. Khi k = n thì hoàn toàn thay thế X bởi V.
Xem ISO/IEC 10116:2006.
4.2.3. Biến I(k)
Biến l(k)
là một biến k-bit mà mỗi bit được gán giá trị 1.
5.
Khung cho mã dòng
Điều này bao gồm mô tả
mức cao nhất của khung cho mã dòng được quy định trong phần này của bộ TCVN
11367 (ISO/IEC 18033). Mô tả chi tiết của mô hình tổng quát cho mã dòng được
quy định tại điều 6. Mã dòng được quy định trong tiêu chuẩn này
của bộ TCVN 11367 (ISO/IEC 18033) được xác định bởi các đặc tả của các quy trình sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Bộ tạo khóa dòng đồng
bộ, hoặc
- Bộ tạo khóa dòng tự
đồng bộ.
CHÚ THÍCH 1 Các Chế độ
hoạt động của mã khối là phương pháp mà mã
khối có thể được sử dụng để xây dựng một bộ tạo khóa dòng. Các chế độ này
được chuẩn hóa trong tiêu chuẩn ISO/IEC
10116 và ý nghĩa của các hàm được sử dụng trong đặc tả được
xác định trong 6.2.1 và 6.2.2.
CHÚ THÍCH 2 Mã
khối được định nghĩa trong tiêu chuẩn này của
bộ TCVN 11367 (ISO/IEC 18033).
b) Hàm đầu ra, có thể
là:
- Hàm đầu ra cộng nhị
phân, hoặc
- Hàm đầu ra MULTI-S01.
6. Mô
hình tổng quát của mã dòng
6.1. Các bộ tạo khóa dòng
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bộ tạo khóa dòng đồng
bộ là máy trạng thái hữu hạn được định nghĩa như sau:
a) Một hàm khởi tạo, Init,
nhận đầu vào khóa K và véc tơ khởi tạo IV
và cho đầu ra một trạng thái khởi tạo S0 cho bộ tạo khóa dòng.
Véc tơ khởi tạo cần được lựa chọn để không bao giờ có hai thông báo được mã hóa
sử dụng cùng khóa và cùng véc tơ khởi tạo IV.
b) Hàm chuyển trạng
thái tiếp theo, Next, nhận đầu vào là trạng
thái hiện tại của bộ tạo khóa dòng Si, và đưa ra trạng thái
tiếp theo của bộ tạo khóa dòng Si+1.
c) Hàm khóa dòng, Strm,
nhận đầu vào là trạng thái của bộ tạo khóa dòng Si,
và đưa ra khối khóa dòng Zi.
Khi bộ tạo khóa dòng
đồng bộ lần đầu khởi tạo, nó sẽ nhập vào một trạng thái khởi tạo S0
được xác định bởi:
S0 = Init(IV,K)
Theo nhu cầu bộ tạo
khóa dòng đồng bộ sẽ, với i = 0, 1,...
a) Đưa ra khối khóa
dòng Zi = Strm(Si,
K).
b) Cập nhật trạng thái
máy Si+1 = Next(Si,
K).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
6.1.2. Bộ tạo khóa dòng tự đồng bộ
Việc tạo ra khóa dòng
cho mã dòng tự đồng bộ chỉ phụ thuộc vào bản mã trước, khóa và véc tơ khởi
tạo. Mô hình tổng quát cho bộ tạo khóa dòng cho mã dòng tự
đồng bộ được xác định:
a) Hàm khởi tạo, Init,
nhận đầu vào là khóa K và véc tơ khởi tạo IV và đưa ra đầu vào
trong cho bộ tạo khóa dòng S và khối bản mã giả r C-1,
C-2, … , C-r.
b) Hàm khóa dòng, Strm, nhận
đầu vào S và khối bản mã r
C-1,
C-2,...,C-r
và đưa ra khối khóa dòng Zi.
Để xác định bộ tạo khóa
dòng tự đồng bộ chỉ cần thiết xác định số lượng các khối phản
hồi r và hàm Init và
hàm Strm.
CHÚ THÍCH Mã
dòng tự đồng bộ khác với mã
dòng đồng bộ ở chỗ
khóa dòng chỉ phụ thuộc vào bản
mã trước, véc tơ khởi tạo và khóa, nghĩa
là bộ tạo khóa dòng hoạt động trong kiểu không
trạng thái. Kết quả là, sự giải mã cho
mật mã như vậy có thể khôi phục từ sự mất
mát của đồng bộ hóa sau khi nhận được đầy đủ các
khối bản mã. Điều này cũng có
nghĩa là các phương pháp tạo khóa dòng phụ
thuộc vào hàm đầu ra được lựa chọn Out,
mà điển hình là phép toán XOR từng bit.
6.2. Các hàm đầu ra
6.2.1. Mô hình tổng quát của hàm đầu ra
Điều 6.2 chỉ rõ
hai hàm đầu ra mã dòng, nghĩa là các kỹ thuật được sử dụng trong mã dòng để kết
hợp khóa dòng với bản rõ để nhận được bản mã.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Mã hóa khối bản rõ Pi
bằng khối khóa dòng Zi xác định như sau:
Ci = Out(Pi,
Zi,
R)
Và giải mã khối bản mã Ci bằng
khối khóa dòng Zi xác
định như sau:
Pi
= Out-1(Pi, Zi, R).
Hàm đầu ra phải đáp ứng
cho bất kỳ khối khóa dòng Zi, khối bản rõ Pi và đầu vào khác R,
Pi = Out-1(Out(Pi,
Zi, R),
Zi, R).
6.2.2. Hàm đầu ra
cộng nhị phân
Mã dòng cộng nhị
phân là mã dòng trong đó khối khóa dòng, khối bản rõ
và khối bản mã là các
xâu các số nhị phân và phép toán để kết
hợp bản rõ với khóa dòng là phép toán XOR từng bit. Phép toán Out
có hai đầu vào và không sử dụng bất kỳ thông tin bổ
sung R để tính toán. Cho n là độ dài bit của
Pi. Hàm này xác định như sau:
Out(Pi,
Zi, R) = PiÅZi
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Out-1(Ci,
Zi, R)
= CiÅZi
CHÚ THÍCH Hệ mã dòng
cộng nhị phân không cung cấp
bất kỳ tính bảo vệ tính toàn vẹn cho dữ liệu
được mã hóa. Nếu có yêu cầu tính
toàn vẹn cho dữ liệu thì hoặc là sử dụng hàm đầu
ra MULTI-S01 hoặc có cơ chế
toàn vẹn riêng biệt, chẳng hạn MAC, nghĩa
là Mã xác thực thông báo (cơ chế
này được quy định trong tiêu chuẩn ISO/IEC 9797).
6.2.3. Hàm đầu ra
MULTI-S01
a) Mô hình tổng quát
của MUTIL-S01
MULTI-S01 là hàm đầu
ra cho mã dòng đồng bộ hỗ trợ cả tính toàn vẹn và tính
bí mật của dữ liệu. Phép toán mã hóa MULTI-S01 phù hợp
để sử dụng trong môi trường trực tuyến. Tuy nhiên, phép toán giải mã của
MULTI-S01 có thể chỉ thực hiện trong tình
huống ngoại tuyến, như kiểm tra tính toàn vẹn chỉ được
thực hiện sau khi nhận được tất cả các
khối bản mã. MULTI-S01 có một tham số an toàn n. Việc tính toán đầu
ra phụ thuộc vào sự lựa chọn trường GF(2n), tức là phụ thuộc
vào lựa chọn đa thức bất khả quy bậc n trên trường GF(2n).
Hàm MULTI-S01 chỉ chấp nhận thông báo có chiều dài là
bội số của n. Để mã hóa thông điệp có chiều dài không phải là bội của n,
yêu cầu sử dụng thêm cơ chế đệm Pad(M).
CHÚ THÍCH Việc dư
thừa R được tạo ra theo cách mà người gửi và người nhận
chia sẻ nó. R có thể
là một giá trị công khai cố định
như 0x00...0.
b) Hàm mã hóa Out(P,
R, Z)
Đầu vào: bản rõ P
n.u- bit, khóa dòng Z = (Z0,
Z1,...),
Trong đó Zi là các khối n-bit,
dư thừa R n-bit.
Đầu ra: Bản mã C.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2) Lấy (P0,
P1, … Pu-1)
= P, trong đó Pi là khối n-bit
3) Đặt Pu
= Zt+u+3.
4) Đặt Pu+1
= R.
5) Đối với mỗi Pi,
thực hiện các phép tính sau (với i
= 0,1,...,u+1).
- Lấy Wị
= PiÅZt+i+1.
- Lấy Xi
= ZtÄWi
(trong trường GF(2n)).
- Lấy Ci
= XiÄWi-1 trong
đó Wi-1 là
giá trị W của khối i-1
trước đó và W-1 = 0(n)
- Đặt C = C0
|| C1 || … ||| Cu+1.
- Đưa ra C.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hình
1 - Hàm Out của chế độ MUTIL-S01
CHÚ THÍCH 2 Đa thức bất
khả quy được sử dụng để xác định phép nhân trong trường phụ thuộc vào n.
Ví dụ, trong trường
hợp n =64 và 128, có
thể sử dụng đa thức bất khả quy x64 + x4
+x3 + x +1 và x128 + X7 +x2 +
x + 1.
c) Hàm giải mã Out-1 (P,Z,R)
Đầu vào: bản mã C
độ dài n.v-bit khóa dòng Z, dư thừa R độ dài n-bit.
Đầu ra: bản rõ P
hoặc “từ
chối”.
1) Lấy t là
giá trị thấp nhất của i (i ³
0) sao cho Zi ¹
0(n).
2) Lấy (C0,
C1,...Cv-1)
= C, trong đó Ci
là khối n-bit
3) Đối với mỗi Ci,
thực hiện các phép tính sau (với i=0,1,...,v-1):
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Lấy Wi
= Zt-1ÄXi (trong trường GF(2n)).
- Lấy Pi
= WiÅZt+i+1.
4) Nếu Pv-2
= Zt+v+1
và Pv-1 = R,
đưa ra P = P0 || P1 || … || Pv-3
là bản rõ. Nếu không, đưa ra biểu tượng
đặc biệt nghĩa là “từ chối”
mà không có bất kỳ văn bản nào.
Hình 2 mô tả
sơ đồ khối của hàm Out-1
Hình
2 - Hàm Out-1 của chế độ MULTI-S01
d) Cơ chế đệm Pad(M)
Chỉ khi độ dài của
thông báo đầu vào không phải là bội số của n, cơ chế đệm Pad(M)
sau đây được thực thi:
Đầu vào: Xâu M
độ dài (nv+c)-bit, trong đó v là số nguyên không
âm và 0 £ c < n.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1) Đệm xâu bit “1”
vào cuối thông báo.
2) Đệm xâu 0(n-c-1)
độ dài (n-c-1)-bit vào xâu được tạo bởi bước a).
3) Đưa ra toàn bộ xâu
có độ dài (nv+n)-bit.
CHÚ THÍCH 3 Nếu độ dài
của thông báo là bội
số của n, trong mỗi trường độ dài không
phải là nhất định như vậy, cơ chế đệm này được khuyến khích.
CHÚ THÍCH 4 Để
bỏ đệm của thông báo, loại bỏ liên tiếp bit
0 ở phần cuối của dữ liệu và loại
bỏ các bit “1”.
7. Xây
dựng bộ tạo khóa dòng từ mã khối
7.1. Các chế độ mã khối cho bộ tạo khóa dòng đồng
bộ
7.1.1. Chế độ OFB (Đầu ra phản hồi) và
CTR (Bộ đếm)
Điều 7.1 quy định hai
chế độ n-mã khối cho bộ tạo khóa dòng
đồng bộ. Đó là, chế độ OFB (Đầu ra phản hồi) và chế độ CTR (Bộ đếm) của mã
khối eK n-bit.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Chế độ OFB được xác
định bởi một tham số r, 1 £ r £ n, là kích thước của khối bản rõ và bản mã.
Véc
tơ khởi tạo IV à xâu n-bit.
IV sẽ được tạo ra khác nhau cho hai quá trình
mã hóa với cùng một khóa K. Hàm Init,
Next và Strm được quy định như sau:
- Init(IV,K)=IV.
-
Next(Si,
K) = eK(Si)
- Strm(Si)
= (r ~ Si).
CHÚ THÍCH Init(IV,K)
= IV tương đương với
S0 =
IV.
Trong trường hợp của
chế độ OFB, hàm đầu ra cộng nhị phân được xác định trong 6.2.2 được sử
dụng. Hình 3 mô tả sơ đồ khối của bộ tạo khóa dòng dựa trên
chế độ CFB.
Hình
3 - Tạo khóa dòng dựa trên chế độ OFB
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Chế độ CTR được xác
định bằng một tham số r, 1 £ r £ n, là kích thước
của khối bản rõ và bản mã.
Véc tơ khởi tạo IV là
xâu n-bit cần được đảm bảo rằng Si ¹ S’j
cho hai khóa dòng S0, S1,
S2, … và S’0,
S’1,
S’2,...
được tạo ra với cùng một khóa K. Hàm Init, Next
và Strm được
xác định như sau:
- Init(IV,
K) = IV.
- Next(Si, K)
= Si + 1 mod 2n.
-
Strm(Si, K)
= (r ~
eK(Si)).
CHÚ THÍCH Init(IV,
K) = IV tương đương với
S0 =
IV.
Trong trường hợp của
chế độ CTR, hàm đầu ra cộng nhị phân được xác định trong 6.2.2 được sử
dụng. Hình 4 mô tả sơ đồ khối của bộ tạo khóa dòng dựa trên chế độ CFB.
Hình
4 - Tạo khóa dòng dựa trên chế độ CTR
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
7.2.1. Giới thiệu chế độ CFB
Chế độ CFB của mã khối n-bit
là mã dòng tự đồng bộ.
7.2.2. Chế độ CFB
Chế độ CFB (Phản hồi
mã) được xác định với 3 tham số, tức là kích thước j của
bộ đệm phản hồi Si,
trong đó n £ j £
1024n, kích thước biến phản hồi b, trong đó 1 £ b £ n và khối đầu ra có kích
thước r, trong đó 1 £ r £ b.
CHÚ THÍCH 1 Giá trị b-r
cần nhỏ hơn b
Véc tơ khởi tạo IV
cần được tạo ngẫu nhiên xâu j-bit
và cũng cần được tạo ra khác nhau cho hai mã hóa với cùng một khóa K.
Hàm Init,
Next và Strm được xác định như sau:
- Init(IV,
K) =
IV.
- Next(S)
= Shiftb(S|Shiftr(I(b)|Ci)).
- Strm(S,
K) = (r ~ eK((n
~ S))).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Trong trường hợp của
chế độ CFB, hàm đầu ra cộng nhị phân được xác định trong 6.2.2 được sử dụng.
Hình 5 mô tả sơ đồ khối của bộ tạo khóa dòng dựa trên chế độ CFP.
Hình
5 - Tạo khóa dòng dựa
trên chế độ CFB
8. Bộ
tạo khóa dòng chuyên dụng
8.1. Bộ tạo khóa dòng MUGI
8.1.1. Giới thiệu MUGI
MUGl là bộ tạo khóa
dòng sử dụng khóa bí mật K 128-bit, véc tơ khởi tạo IV 28-bit
và biến trạng thái Si
(i ³
0) bao gồm 19 khối 64-bit (lưu ý rằng mỗi khối được sử dụng thông qua đặc tả
của MUGI cho mỗi khối 64-bit) và đưa ra khối khóa dòng Zi
tại mỗi lần lặp của hàm Strm.
CHÚ THÍCH Bộ tạo khóa dòng
này ban đầu được đề xuất trong [17].
Biến trạng thái được
chia nhỏ thành kết hợp của biến 3-khối:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Trong đó là khối (với j =
0, 1, 2) và biến 16-khối
b(i)
= ,
Trong đó là khối (với j =
0, 1,..., 15)
Hàm
Init, được xác định chi tiết trong 8.1.2, nhận đầu vào khóa K độ
dài 128-bit và véc tơ khởi tạo IV độ dài 128-bit và tạo giá trị ban đầu
của biến trạng thái S0 = (a(0), b(0)),
Hàm Next, được
xác định chi tiết trong 8.1.3, nhận đầu vào biến trạng thái 19-khối Si
= (a(i), b(i))
và đầu ra là giá trị tiếp theo của biến trạng thái Si+1
= (a(i+1), b(i+1)).
Hàm Strm, được xác
định chi tiết trong 8.1.4, nhận đầu vào biến trạng
thái 19-khối Si = (a(i),
b(i)) và đầu ra là khối khóa dòng Zi.
Lưu ý rằng hàm Next
được xác định trong các số hạng của r1 và
l1
được xác định tương ứng trong 8-1.5 và 8.1.6. Hàm r1
được xác định trong số hạng của hàm r1 được
xác định trong 8.1.7
Có 3 hằng số được sử
dụng trong MUGI, D0
trong hàm khởi tạo Init, và D1,
D2 trong r1.
Chúng xác định bởi:
D0 =
0x6A09E667F3BCC908,
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
D2 =
0x3C6EF372FE94F82B.
8.1.2. Hàm khởi tạo Init
Việc khởi tạo MUGI được
chia ra thành 8 bước. Các khối nửa trái và nửa phải của K được
biểu diễn tương ứng bằng K0
và K1. IV0
và IV1
được xác định theo cách tương tự. Hàm khởi tạo Init
như sau:
Đầu vào: Khóa K128-bit,
véc tơ khởi tạo IV độ dài 128-bit.
Đầu ra: Giá trị khởi
tạo của biến trạng thái S0 = (a(0),b(0))
a) Đặt khóa K vào
thành phần của biến trạng thái a(-49)
như sau:
- Đặt (K0, K1)
= K, trong đó Ki
là 64 bit với i = 0, 1
- Đặt = K0.
- Đặt = K1.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
D0
trong biểu thức trên là hằng số (xem 8.1).
b) Với i = -49, -48,..., -34 đặt a(i+1)
= r1(a(i),
0(64), 0(64)). Mô tả
của r
xem 8.1.5.
c) Với i = 0, 1,…, 15 đặt = a0(i-48)
d) Thêm véc tơ khởi tạo IV vào
trạng thái như sau:
- Đặt IV0||IV1=IV,
trong đó IVi là
khối
- Đặt
= Å IV0.
- Đặt
= Å IV1.
- Đặt
= Å(IV0
<<<64 7)Å(IV1 >>>64
7)ÅD0.
e) Với i = -32, -31,..., -17, đặt a(i+1)
= r1(a(i),
0(64),
0(64))
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
g) Lặp hàm cập nhật Next 16 lần:
Đặt
S0 = Next16(S-16)
Trong đó Next 16 đại diện cho 16 lần
lặp của hàm chuyển trạng thái theo Next
h) Đưa ra S0.
8.1.3. Hàm chuyển
trạng thái theo Next
Hàm chuyển trạng thái
theo của MUGI được xác định là sự kết hợp của r1 và
l1.
Hàm chuyển trạng thái theo của MUGI như sau:
Đầu vào: Biến trạng
thái Si = (a(i),
b(i)).
Đầu ra: Trạng thái tiếp
theo của biến trạng thái Si+1
= (a(i+1),
b(i+1)).
- Đặt a(i+1)
= r1(ai,
, ). Mô tả chi tiết của hàm r1 được
đưa ra trong 8.1.5.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Đặt Si+i
= (a(i+1),
b(i+1))
- Đưa ra Si+1.
8.1.4. Hàm khóa dòng Strm
Hàm khóa dòng Strm
như sau:
Đầu vào: Biến trạng
thái Si.
Đầu ra: Khối khóa dòng Zi.
- Đặt
Zi =
- Đưa ra Zi.
8.1.5. Hàm r1
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu vào: Biến trạng
thái a(i), hai tham số độ dài 64-bit w1,
w2.
Đầu ra: Giá trị tiếp
theo của biến trạng thái a(i+1)
- Đặt
-Đặt
Å F(,w1) Å
D1.
- Đặt
Å F (, (w2 <<<64
17) Å
D2.
- Đưa
ra a(i+1).
D1, D2 là
hằng số (xem thêm chi tiết tại 8.1).
Hình
6 mô tả sơ đồ khối của hàm r1.
Mô tả chi tiết của hàm F
được đưa ra trong 8.1.7.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8.1.6. Hàm l1
Hàm l1
như sau:
Đầu vào: Biến trạng
thái b(i), tham số a' độ dài
64-bit.
Đầu ra: Giá trị
tiếp theo của biến trạng thái b(i+1)
- Đặt với j ¹
0, 4, 10.
- Đặt
Å a'.
- Đặt
- Đặt <<<64
32)
Đưa ra b(t+1).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm F
dùng phép toán trên trường hữu hạn GF(28).
Trong biểu diễn đa thức, GF(28)
được thực hiện như GF(2)[x]/ f(x),
trong đó f(x) là đa thức bất khả quy bậc 8 được xác
định trên trường GF(2). Bộ tạo khóa dòng MUGI sử dụng đa thức bất khả
quy sau:
f(x) = x8
+ x4 + x3 + x + 1.
Hàm F là kết hợp
của phép cộng khóa (việc bổ sung dữ liệu từ một phần của biến trạng thái b),
phép biến đổi phi tuyến sử
dụng hàm SR, biến đổi
tuyến tính sử dụng ma trận M và
phép xáo trộn byte (xem Hình 7).
Chúng
ta biểu diễn đầu vào và đầu ra cho hàm F tương
ứng là X và Y. Khi đó, hàm F
xác định như sau: Đầu vào: hai xâu X
và T độ dài
64-bit.
Đầu ra: xâu Y độ
dài 64-bit.
- X'
= X Å T
- Đặt (X0,
X1, X2, X3, X4, X5,
X6, X7)
= X' trong đó Xi là
xâu có độ dài 8-bit
- Đặt Pi
= SR(Xi) với i = 0,1, …, 7.
- Đặt
PL = P0
||
P1 || P2
|| P3.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
-Đặt
QL = M(PL).
- Đặt
QR = M(PR).
- Đặt (Q0, Q1, Q2, Q3)
= QL.
- Đặt (Q4,
Q5, Q6, Q7
) = QR .,
- Đặt Y = Q4
|| Q5 || Q2 || Q3 || Q0 || Q1 || Q6 || Q7.
- Đưa ra Y.
Hình 7 mô tả
sơ đồ khối của hàm F
Hình
7 - Hàm F của
MUGI
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm SR
là hàm nội tại của hàm F. Hàm SR có thể được mô tả
bằng cách sử dụng bảng thay thế. Trong trường hợp này,
hàm SR như sau:
Đầu vào: xâu x
độ dài 8-bit
Đầu ra: xâu
độ
dài 8-bit.
- Đặt y = SUB[x]
- Đưa ra y.
SUB
sử dụng trong hàm SR là thay thế như sau:
8.1.9. Hàm M
Hàm M là
hàm nội tại của hàm F. Hàm M như
sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu ra: xâu
Y có độ dài 32-bit
- Đặt (x0, x1, x2, x3)
= X, trong đó xi
là xâu có độ
dài 8-bit và là phần tử của GF(28).
- Đặt
Trong đó 0x01, 0x02 và
0x03 là biểu diễn thập lục phân của các phần tử của trường
GF(28).
- Đặt Y = y0
|| y1 || y2 || y3.
- Đưa ra Y.
8.2. Bộ tạo khóa dòng SNOW 2.0
8.2.1. Giới thiệu SNOW 2.0
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Biến
trạng thái SNOW Si bao
gồm hai phần. Phần thứ nhất, 16 biến có độ dài 32-bit:
thực hiện một thanh ghi
dịch phản hồi tuyến tính (LFSR). Phần
thứ hai, 2 biến có độ dài 32-bit:
duy trì
trạng thái của máy trạng thái hữu hạn (FSM). SNOW được hiểu là tốt nhất với
tham chiếu trong Hình 8, trong đó cho thấy một
ảnh chụp, tại thời điểm i, bỏ
qua biến phụ thuộc thời gian (i)
Hình
8 - Biểu đồ của SNOW
Phép toán SNOW được xác
định:
Hàm Init,
xác định chi tiết trong 8.2.2, nhận đầu vào khóa K
có độ dài 128 hoặc 256-bit và véc tơ khởi tạo IV
có độ dài 128-bit và tạo giá trị khởi tạo của biến trạng thái
S0 = (a(0), b(0)).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm Strm, được
xác định chi tiết trong 8.2.4 nhận đầu vào là
18 biến trạng thái có độ dài 32-bit Si
= (a(i),
b(i)) và tạo ra như là đầu ra khóa
dòng Zi có độ dài 32-bit.
CHÚ THÍCH 1 Đối với
SNOW, khuyến nghị số lượng tối đa khóa dòng được tạo ra từ (K,IV)
là 250 khóa có độ dài 32-bit. Giới
hạn này đã được lựa chọn để cung cấp
biên an toàn tốt nhất đối với việc thám mã
và ngụ ý không có giới hạn thực tế áp dụng các thuật toán.
CHÚ THÍCH 2 Bài
viết [10]
được tham chiếu cho lý thuyết nền
tảng về lý do căn bản
thiết kế cho SNOW.
8.2.2. Hàm khởi tạo Init
Hàm khởi
tạo Init như
sau.
Đầu vào: Khóa
K có độ dài 128
hoặc 256-bit, Véc tơ khởi tạo IV có
độ dài 128-bit.
Đầu ra: Giá trị khởi
tạo của biến trạng thái S0 = (a(0),
b(0)).
a) Khởi tạo thanh ghi bằng thông tin khóa.
- Đối
với khóa có độ dài 128-bit, Đặt (K3, K2,
K1, K0)
= K, và = K3-j
và
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Đối với khóa
có độ dài 256-bit, Đặt (K7, K6,
..., K0)
= và = Ø(K7-j)
với j = 0, 1, …,7.
b) Đặt S-33 = (a(-33),
b(-33))
bằng
- Đặt (IV3,
IV2, IV1, IV0)
= IV.
- Đặt = với i = 0, 1, 2, 3, 4,
5, 6, 7, 8, 11, 13,14.
-Đặt
- Đặt
.
- Đặt S-1 = Next32(S-33, INIT),
trong đó Next32 biểu diễn cho 32 lần lặp của hàm Next
d) S0 = Next(S-1).
e) Đưa ra S0.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
SNOW có hai chế độ với
hàm Next
Đầu vào: Biến trạng
thái Si = (a(i), b(i)) mode
= {INIT,null}.
Đầu ra: Giá trị tiếp
theo của biến trạng thái Si+1
= (a(i+1),
b(i+1)).
a) Đặt = T ().
b) Đặt = ).
c) Với j = 0,1, …, 14 đặt
d) Nếu chế độ INIT,
đặt . Nếu
không thì, đặt
e) Si+1 = (a(i+1), b(i+1))
f) Đưa ra Si+1.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
CHÚ THÍCH Hình 9 mô
tả sơ đồ khối của chế độ INIT
của hàm Next
Hình
9 - Chế độ INIT của hàm Next
Định nghĩa của hàn FSM đề
cập trong điều 8.2.8.
8.2.4. Hàm khóa dòng Strm
Hàm khóa dòng
Strm như sau:
Đầu vào: Biến trạng
thái Si
Đầu ra: Khóa dòng Zi có
độ dài 32-bit
a) Đặt Zi
= FSM ().
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8.2.5. Hàm T
Hàm T là
hàm thay thế, đặc biệt là hoán vị trên
trường GF(232) dựa
trên các thành phần từ Chuẩn mã hóa tiên tiến (AES), TCVN 11367-3:2016 (ISO/IEC
18033-3). Cuối cùng trường hữu hạn GF(28)
được sử dụng như là trường GF(2)[x] modulo với đa thức bất khả quy.
f(x) =
x8 + x4 + x3
+ x + 1.
Và vành đa thức GF(28)[y]
mdulo (y4
+1).
Đầu vào: xâu
w có độ
dài 32-bit
Đầu ra: xâu q
= T(w) có độ dài
32-bit
a) Đặt (w3, w2, w1, w0
= w) trong đó mỗi wj có độ dài 8 bit.
b) Với j = 0,1, 2, 3
đặt tj = SUB[wj].
c) Lấy t(y) là đa
thức t(y) = t3y3 + t2y2
+ t1y + t0
trên trường GF(28)[y],
trong đó tj được hiểu như là
một phần tử của GF(28) theo
cách tự nhiên tj = tj,7x7
+ … + tj,1x
+ tj,0,
tj,k
trong trường GF(2)
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
e) Kết hợp xâu q = (q3,
q2, q1, q0)
32-bit với kết quả trên, q(y) = q3y3
+ q2y2 + q1y + q0
f) Đưa ra q.
Lưu ý rằng trong bước
c), hai đa thức được nhân với nhau trong đó các phép toán hệ số-nhân-hệ
số thực hiện trong trường GF(28)
được xác định bởi hàm f(x) ở trên. Sau đó kết quả được rút gọn theo
modulo y4 +1.
CHÚ THÍCH 1 Hộp thế S-box của
AES được tìm thấy trong 8.1.8
CHÚ THÍCH 2 Tham khảo
chi tiết tối ưu hóa này và một số vấn
đề khác tại bài báo [10].
8.2.6. Phép nhân a trong
số học trường hữu hạn
Đầu
vào: Xâu w có độ dài 32-bit, đại diện cho phần tử của GF(232).
Đầu ra: Xâu w'
có độ dài 32-bit, đại diện cho µ Äw
trong trường GF(232).
a) Đặt w' = (w <<32
8) Å aMUL [w >>3224]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm aMUL
được xác định như sau:
aMUL[256]
= {
8.2.7. Phép nhân a-1
trong số học trường hữu hạn
Đầu vào: Xâu y có độ
dài 32-bit, đại diện cho phần tử của GF(232).
Đầu ra: Xâu y có độ dài
32-bit, đại diện cho a-1Äy
trong trường GF(232).
a) Đặt y' = (y >>32
8) Å ainv_MUL(y mod 256]
b) Đưa ra y’
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
ainv_MUL
[256] = {
8.2.8.
Hàm FSM(x, y,
z)
Đầu vào: 3 xâu có
độ dài 32-bit, x,y và z
Đầu ra: xâu q có
độ dài 32-bit
a) Đặt q = (x +32 y) Å
z.
b) Đưa ra q.
8.3. Bộ tạo khóa dòng Rabbit
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Rabbit
là bộ tạo khóa dòng sử dụng khóa bí mật K
có độ dài 128-bit, véc tơ khởi tạo IV
có độ dài 64-bit và biến trạng thái trong Si
(i ³ 0)
có độ dài 513-bit. Rabbit đưa ra khối khóa
dòng Zi có độ dài 128-bit tại mỗi lần
lặp hàm Strm.
513-bit của trạng thái
trong Si được chia giữa 8 biến
trạng thái có độ dài 32-bit , 8 biến
đếm , và 1
bit nhớ bộ đếm b(i).
Mô tả sử dụng các ký
hiệu đưa ra tại Điều 4 của tiêu chuẩn này của bộ TCVN 11367 (ISO/IEC 18033).
Ngoài ra, ký hiệu đặc biệt cho mảng bit được sử dụng để tăng cường khả năng đọc:
Khi ghi nhãn các bit của một biến A, bit có trọng số thấp nhất được ký
hiệu là A(0). Ký
hiệu A[h..g] mô
tả các bit từ h cho đến g của
biến A, trong đó bit có vị trí h
là bit có trọng số cao hơn bit ở vị trí g.
CHÚ THÍCH 1 Đối
với bộ sinh khóa dòng Rabbit, khuyến nghị
số lượng khóa dòng tối đa được tạo ra từ
một khóa K cho trước là 264
khối khóa dòng. Giới hạn này
đã được lựa chọn để cung cấp biến
an toàn tốt nhất đối với việc phân tích mã
và đồng thời ngụ ý không có
giới hạn thực tế về khả năng áp dụng các thuật toán.
CHÚ THÍCH 2 Bài
báo [8] được tham chiếu cho đề xuất ban đầu của
mật mã và bài báo [9] được tham chiếu đến
tổng quan về an toàn mật mã của nó.
8.3.2. Các biến bổ
sung và ký hiệu
Đối với bộ tạo khóa
dòng Rabbit, các ký hiệu sau đây được sử dụng thêm:
A
Hằng số cho Rabbit
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bít nhớ cho Rabbit
C
Biến đếm cho Rabbit
g
Hàm con được sử dụng
cho Rabbit
X
Biến trạng thái trong
cho Rabbit
Ngoài ra, một số
ký hiệu được sử dụng cho các biến phụ cục bộ trong mô tả các thuật toán. Những
biểu tượng này chỉ xảy ra trong đặc tả
hàm đưa ra và không có nghĩa toàn cục. Các biến này được mô tả trong phần khai
báo của hàm.
8.3.3. Hàm khởi tạo Init
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu vào: Khóa K
có độ dài 128-bit, véc tơ khởi tạo IV
có độ dài 64-bit.
Đầu ra: Giá trị khởi
tạo của biến trạng thái S0 = .
Biến cục bộ: biến đếm i,
j
a) Lấy K0 = K[15..0], K1
= K[31...16] ,…, K7 = K[127..112]
b) Đặt S-9, như
sau:
1) Đặt b(-9)
= 0.
2) Với j = 0,1, …, 7:
- Nếu j là chẵn,
đặt = K(j+1 mod
8) || Kj
và = K(j+4 mod
8)) || K(j+5 mod 8).
- Ngược lại
j lẻ đặt = K(j+5 mod
8) || K(j+4 mod 8))
và = K(j+1 mod
8).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
d) Đặt S-4 như
sau:
1) Thay đổi các biến đếm như sau:
2)
e) Lặp
lại hàm chuyển trạng thái theo Next
4 lần: đặt Si
= Next(Si-1)
với i = -3, -2, -1,0
f) Đưa ra S0 =
CHÚ THÍCH Véc tơ khởi
tạo IV được trộn vào trạng thái trong ở bước d) và
e) của thuật toán. Nếu các ứng dụng
yêu cầu tái khởi tạo thường xuyên với cùng một khóa, điều
này có nghĩa để lưu
trữ trạng thái trong sau bước c) như trạng thái chủ
và để thực
thi chỉ bước
d) tới bước f) cho
tái khởi tạo.
8.3.4. Hàm chuyển
trạng thái theo Next
Hàm chuyển trạng thái
theo Next cho Rabbit được quy định như sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu ra: Biến trạng thái
Si+1 = .
Biến
cục bộ: biến đếm j, biến tạm là số
nguyên dương có độ dài 32-bit
a) Đặt hằng số A0, ...A7
như sau:
b) Lấy = bi
c) Với j = 0,
1, 2, … , 7:
- Lấy temp = ; kết
quả này là giá trị có độ dài 33-bit
- Lấy = temp[32]
- Lấy
= temp[31…0]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
e) Với j = 0, 1, … , 7,
lấy Gj = g(),
trong đó hàm g được đưa ra trong 8.3.6.
f) Thay đổi trạng thái trong như sau:
g) Đưa ra Si+1
= (b(i+1),
)
8.3.5. Hàm khóa dòng Strm
Hàm khóa dòng Strm
cho Rabbit được quy định như sau:
Đầu vào: Biến
trạng thái Si = (b(i),
).
Đầu ra: Khối khóa dòng Zi.
a) Đặt Zi
như sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
=
[15.
.0]
Å
[31.
.16]
Zi[31.
.16]
=
[31..16]
Å
[15.
.0]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
=
[15.
.0]
Å
[31.
.16]
Zi[63.
.48] =
=
[31.
.16]
Å
[15.
.0]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
=
[15.
.0]
Å
[31.
.16]
Zi[95. .80]
=
=
[31.
.16]
Å
[15.
.0]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
=
[15.
.0]
Å
[31.
.16]
Zi[127.
.112] =
=
[31.
.16]
Å
[15.
.0]
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8.3.6. Hàm g
Hàm g được
quy định như sau:
Đầu vào: 2 tham số u
và v có độ dài 32-bit
Đầu ra: kết quả
hàm g(u, v) có độ dài
32-bit
Biến cục bộ: temp
số nguyên dương có độ dài 32-bit
a) Lấy temp = (u+32
v)2; kết quả là
giá trị có độ dài 64-bit.
b) Lấy g(u, v) = temp[31..0]
Å
temp[63..32]
c) Đưa ra g(u, v)
8.4. Bộ tạo khóa dòng Decimv2
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
DECIMv2
là bộ tạo khóa dòng trong đó sử dụng khóa bí mật K có độ dài 80-bit và
véc tơ khởi tạo IV
có độ dài 64-bit. DECIMv2
bao gồm thanh ghi dịch phản hồi tuyến tính A có độ dài tối đa 192-bit, được lọc
bởi hàm Boolean LF 14-biến. Trong chế độ tạo khóa dòng, đầu
ra của LF được sử dụng để
nuôi một khối nén là hàm được gọi là ABSG, mà đầu cuối đi
qua một bộ đệm B dài 32-bit để điều chỉnh tốc độ đầu ra khóa dòng.
DECIMv2
được mô tả trong Hình 10, trong đó mô tả ảnh chụp, đúng thời điểm, bỏ qua biến
phụ thuộc thời gian (i) từ các ký hiệu.
CHÚ THÍCH 1 Bài báo [6]
được tham chiếu cho lý thuyết nền tảng về lý do
căn bản thiết kế
của DECIMv2.
Biến trạng thái Si của DECIMv2
bao gồm giá trị độ dài 192-bit của thanh ghi ai
= và biến
Ti độ dài 3-bit tương ứng với
trạng thái của hàm nén ABSG, 32-bit bi
= trong bộ
đệm B, và số lượng I(i)
bit trong bộ đệm B đã sẵn sàng đưa ra.
Hình
10 - Sơ đồ của DECIMv2
Hàm Init, được
xác định chi tiết trong 8.4.3, nhận đầu vào là khóa K
độ dài 80-bit và véc tơ khởi tạo IV độ dài 64-bit và
tạo ra giá trị khởi tạo của biến trạng thái S0 = (a(0),
T(0),
b(0),
I(00).
Hàm Next, được
xác định chi tiết trong 8.4.5, nhận đầu vào là giá trị các biến trạng thái Si
= (a(i),
T(i),
b(i),
I(i)
và tạo ra đầu ra là giá trị tiếp của biến trạng thái Si+1
= (a(i+1),
T(i+1), b(i+1),
I(i+1)).
Hàm Next chạy trong 3 chế độ, tùy thuộc vào việc thực hiện lặp lại là một
phần của khởi tạo thanh ghi, khởi tạo của bộ
đệm hoặc bộ tạo khóa dòng tuần tự.
Hàm Strm,
được xác định chi tiết trong 8.4.6 nhận đầu vào là giá trị
của các biến trạng thái Si = (a(i),
T(i),
b(i),
I(i)
và tạo ra đầu ra là bit khóa dòng Zi.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
CHÚ THÍCH 3 Hàm
nén của DECIMv2
có tốc độ đầu ra thay đổi, bằng 1/3 mức trung bình. Vì
vậy, một cơ chế đệm được sử dụng để đảm bảo
tốc độ đầu ra cố định. Sự khác biệt giữa tốc độ đầu ra bộ đệm và tốc độ đầu ra
hàm nén, cũng như độ dài bộ đệm, đã được
lựa chọn để đảm
bảo rằng các bộ đệm luôn luôn có các chức năng như mong muốn với xác
suất đa số, như mô tả trong 8.4.3.
CHÚ THÍCH 4 DECIMv2
kháng các tấn công như mô tả trong [18].
8.4.2. Các biến bổ
sung và ký hiệu
Đối với bộ tạo khóa
dòng Decimv2, các ký hiệu sau đây được sử dụng
thêm:
a
Biến
trạng thái trong cho Decimv2
ABSG
Hàm nén được sử dụng
cho Decimv2
b, b'
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B
Hàm đệm được
sử dụng cho Decimv2
F
Hàm phản
hồi tuyến tính cho Decimv2
I, I'
Biến trạng thái trong
cho Decimv2
LF
Hàm lọc được sử dụng
cho Decimv2
T, T’
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Y
Hàm Boolean được sử
dụng cho Decimv2
Ngoài ra, một số ký
hiệu được sử dụng cho các biến phụ cục bộ trong mô tả các thuật toán. Những
biểu tượng này chỉ xảy ra trong đặc tả hàm đưa ra và không có
nghĩa toàn cục. Các biến này được mô tả trong phần khai báo của hàm.
8.4.3. Hàm khởi tạo Init
Hàm khởi tạo Init được
xác định như sau:
Đầu vào: Khóa K độ
dài 80-bit và véc tơ khởi tạo IV độ dài
64-bit.
Đầu ra: Giá trị khởi
tạo của biến trạng thái S0 = (a(0),
T(0),
b(0),
I(0)).
Biến cục bộ: biến đếm i,
j
a) Khởi tạo thanh ghi với khóa K và
véc tơ khởi tạo IV.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Đặt = Kj-80ÅIVj-80
với j= 80, 81, …, 143
- Đặt
= Kj-80ÅIVj-144ÅIVj-128ÅIVj-112ÅIVj-196 với
j= 144,145, ...,159
- Đặt
= Kj-160ÅIVj-128Å1
với j= 160, 161, …, 191
b) Khởi tạo bộ đệm và hàm nén:
- Đặt T(-256)
= 000
- Đặt = 0
với j= 0, 1, 2,…,31
- Đặt I(-256)
= 0
c) Đặt S-64 = InitNext192(S-256, LFSR)
d) Đặt i = -64
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
f) Đặt S0 = Si.
g) Đưa ra S0.
CHÚ THÍCH Các bước d),
e) và f) của khởi tạo DECIMv2
liên quan đến việc làm đầy bộ đệm trước khi bắt đầu
đưa ra khóa dòng.
Khi tốc độ đầu ra của hàm nén thay đổi, số lượng
các bước yêu cầu để làm đầy bộ đệm có thể
thay đổi. Trong bước e) hàm InitNext(Si,
BUFF) được lặp lại nhiều nhất
64 lần, đảm bảo rằng bộ đệm đầy với xác
suất lớn hơn
1 - 2-97. Tính
trung bình, bộ đệm đầy sau 24 lần
lặp lại.
Hình
11 - Chế độ LFSR của khởi tạo hàm
chuyển trạng thái theo InitNext
8.4.4. Khởi tạo hàm chuyển trạng thái theo InitNext
Decimv2
có hai chế độ hoạt động cho hàm InitNext:
một chế độ được sử dụng trong quá trình khởi tạo thanh ghi A và chế độ
thứ 2 trong quá trình khởi tạo làm đầy bộ đệm.
Đầu vào: Biến trạng
thái Si = (a(i),
T(i),
b(i),
I(i),
mode є {LFSR, BUFF}
Đầu ra: Giá trị tiếp
theo của biến trạng thái Si+1
= (a(i+1),
T(i+1),
b(i+1), I(i+1))
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Chế độ LFSR (thực
thi nếu mode = LFSR):
a) Cập nhật trạng thái của thanh ghi A với các bước sau:
1) Đặt a(0) = a(i)
2) Với k = 0,1,2,3:
- Đặt fk
= LF(a (k))
và r = L(a(k))
Å fk.
- Với i = 0,1,
...,190 đặt
- Đặt = r
3) Đặt a(i+1)
= a(4)
Hình
11 mô tả sơ đồ khối của chế độ LFSR của hàm InitNext.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
a) Cập nhật trạng thái của thanh ghi A với các bước sau:
4) Đặt a(0)
= a(i)
5) Với k = 0, 1,
2, 3:
- Đặt fk
= a(k) ÅLF(a(k))
và r = L(a(k))
- Với
j = 0,1, …, 190 đặt
- Đặt = r
6) Đặt a(i+1)
= a (4)
b) Đặt t(0) = T(i), b 0,= bi,
i(0) = I(i)
c) Với k = 0,1,2,3:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Đặt
c = fk
Å
- Đặt t(k+1)
= ABSG(t(k),
fk)
- Nếu = 0, đặt output =
TRUE, ngược lại đặt output = FALSE
2) Cập nhật trạng thái của bộ đệm bởi (b (k+1),
i(k+1))
= b (k), i(k) đầu
ra, c)
d) Đặt T(i+1)
= t(4)
e) Đặt b(i+1)
= b (4)
và I(i+1)
= i(4)
8.4.5. Hàm chuyển trạng thái theo Next
Đầu vào: Biến trạng
thái Si = (a(i), T(i),
b(i), I(i)).
Đầu ra: Giá trị tiếp theo của biến trạng thái Si+1
= (a(i+1),
T(i+1),
b(i+1), I(i+1)).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
a(0), …, a(4), t(0),…, t(4), b(0) ,...,
b(4), i(0),...,
i(4).
a) Cập nhật trạng thái của thanh ghi A với các bước sau:
7) Đặt a(0) = a(i)
8) Với k = 0,1,2,3:
- Đặt fk
= Å LF(a (k))
và r = L(a(k))
- Với j
= 0,1, …, 190 đặt
- Đặt
=
r
9) Đặt a(i+1)
= a(4)
b) Đặt t(0) = T(i), b (0)
= bi, i(0)
= I(i) - 1
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
d) Với k = 0,1,2,3:
1) nếu i(0) = 0,
đặt t(k+1)
= t(k), output
=
TRUE và c=fk, ngược lại cập nhật trạng thái của khối nén với
các bước sau:
- Đặt
c =
- Đặt t(k+1)
= ABSG(t(k), fk)
- Nếu = 0, đặt output
= TRUE, ngược lại đặt output =
FALSE.
2) Cập nhật trạng thái của bộ đệm bởi (b(k+1),
i(k+1))
= B(b(k), i(k), đầu
ra, c)
e) Đặt T(i+1)
= t(4), b(i+1)
= b(4) và
I(i+1)
= i(4)
CHÚ
THÍCH 1 Điều kiện t(0)
= 0 trong bước 1) của bước d) không bao
giờ thỏa mãn: Nếu điều kiện thỏa mãn, điều này có nghĩa bộ đệm trở
nên rỗng trong quá trình tạo khóa dòng. Điều
này xảy ra với xác suất nhỏ hơn 2-80 tại
mỗi trạng thái cập
nhật, xem chi tiết hơn trong [8]. Ngoài ra,
xác suất này cao hơn nếu bộ đệm là không đầy
sau hàm khởi tạo Init,
nhưng, như đã đề cập
trong 8.4.3 (CHÚ THÍCH), điều này cũng xảy ra với xác suất
không đáng kể.
CHÚ THÍCH 2 Hàm InitNext
và hàm Next cùng chia sẻ nhiều bước
tính toán. Thật vậy, chế độ LFSR của hàm InitNext
chủ yếu bao gồm cập nhật LFSR trong
chế độ BUFF và của hàm Next sự khác
biệt duy nhất là đầu ra hàm Boolean được thêm bit phản
hồi. Chế độ BUFF của hàm InitNext
và hàm Next chỉ khác
nhau ở bộ đệm B chỉ
được dịch chuyển muộn hơn.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu vào: Biến
trạng thái Si = (a(i),
T(i),
b(i), I(i)).
Đầu ra: Bit khóa dòng Zi.
a) Đặt Zi
=
b) Đưa ra Zi
8.4.7. Hàm phản hồi tuyến tính
L
Đầu vào: xâu w
= (w0, w1, …, w191) có độ dài 192-bit
Đầu ra: Bit q = L(w)
Đặt q = w0
Å
w3 Å w4 Å
w23 Å
w36 Å
w37 Å
w60 Å
w61 Å
w98 Å
w115 Å
w146 Å
w175 Å
w176 Å
w187
8.4.8. Hàm trích lọc LF
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu ra: Bit q = LF(w)
Đặt q = L(w).
Đặt q = Y(w13, w28, w45, w54,
w65, w104,
w111, w144, w162,
w172, w178, w186,
w191))
8.4.6. Hàm Boolean Y
Đầu vào: xâu w =
(w0, w1,...,w12)
có độ dài 13-bit
Đầu ra: Bit q = Y(w)
Đặt q = (Å0£j£12wj)
Å (Å0£j£12wjwk)
CHÚ
THÍCH Tương ứng, q được
cho bởi q = 0 niếu X
= 0 hoặc X = 3 và q = 1 trong trường hợp ngược lại với X
= w0 + w1
+ … + w12 mod 4
8.4.10. Hàm nén ABSG
Đầu vào: 3-bit
trạng thái T, đưa vào bit c
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
a) Nếu T0 = 1, đặt T1
= T’1,
ngược lại T’1 = c.
b) Đặt T’2 = T0
VÀ (T1 Å
c)
c) Đặt T’0
= (T0 Å 1) HOẶC T’2
8.4.11. Hàm bộ đệm B
Đầu vào: xâu b =
(b0, b1,
..., b31)
có độ dài 32-bit, chỉ số I,
Boolean output, nhập vào bit c.
Đầu ra: xâu b' =
(b’0, b’1,…, b’32) có độ dài 32-bit, chỉ số I’.
a) Đặt I’ = I,
b’ = b.
b) Nếu output = TRUE, và I’ <
32, thực hiện như sau:
- Đặt b’I’
= c.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
c) Đầu ra B(b,
i, output,
c) = (b’,I’)
8.5. bộ tạo khóa dòng KCipher-2 (K2)
8.5.1. Giới thiệu KCipher-2 (K2)
KCipher-2 (K2) là bộ
tạo khóa dòng trong đó sử dụng đầu vào là khóa bí
mật K độ dài 128-bit và véc tơ khởi tạo IV độ
dài 128-bit. Khóa bí mật và Véc tơ khởi tạo được sử dụng để khởi
tạo biến trạng thái Si (i ³
0) bao gồm 20 khối 32-bit, trong đó Si
biểu diễn trạng thái trong của K2 tại chu kỳ i.
Thứ tự bit/byte là big-endian, tức là nếu khóa và
véc tơ khởi tạo được cho dưới dạng dãy các bit/byte,
Thứ nhất/tận cùng bên trái của bit/byte có trọng
số cao nhất của dữ liệu tương ứng. Đối với mỗi lần lặp của hàm Strm,
64-bit khóa dòng Zi được
tạo coi như đầu ra.
Biến trạng thái Si
của K2 bao gồm 3 thành phần. Thành
phần đầu tiên bao gồm 5 biến 32-bit tuần tự:
trên
trường GF(232),
m ³ 0)
Dạng trạng thái của
thanh ghi dịch phản hồi (FSR) A.
Thành phần thứ hai B(i)
bao gồm 11 biến 32-bit tuần tự:
B(i)
= trên trường GF(232),
m ³ 0)
Dạng trạng thái cho
thanh ghi dịch phản hồi (FSR) B.
Thành phần thứ ba bao gồm bộ 4 biến 32-bit:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
duy trì trạng thái của
hàm phi tuyến. Phép toán của K2 được tóm tắt trong Hình 12 và 13, trong
đó mô tả một bản chụp các phép toán, tại thời điểm I,
bỏ qua biến phụ thuộc thời gian (i).
Hình
12- Biểu đồ của K2
Hoạt động của K2 được
xác định bởi ba hàm sau đây:
Hàm Init,
được xác định trong 8.5.2, nhận giá trị đầu
vào là khóa K độ dài 128-bit và véc
tơ khởi tạo IV độ dài 128-bit để tạo ra trạng thái khởi tạo S0
= (A(0), B(0),
R1(0), L1(0),
R2(0), L2(0)).
Hàm Next, được
xác định trong 8.5.3, nhận giá trị đầu vào là trạng thái trong
Si = (A(i),
B(i), R1(i),
L1(i), R2(i),
L2(i)) và tạo như đầu ra giá
trị tiếp theo của biến trạng thái Si+1
= (A(i+1), B(i+1),
R1(i+1),
L1(i+1),
R2(i+1), L2(i+1)).
Hàm Next chạy trong hai chế độ,
tùy vào phép lặp thực thi là một phần của khởi tạo hoặc trong chế độ tạo đầu ra
thông thường.
Hàm Strm,
được xác định trong 8.5.4, nhận giá trị đầu vào là trạng thái trong,
Si = (A(i),
B(i), R1(i),
L1(i), R2(i),
L2(i)) và tạo như đầu ra khóa
dòng Zi
= .
CHÚ
THÍCH 1 Số lượng khóa dòng tối đa được khuyến
nghị của bít khóa dòng không có hoặc tạo khóa mới hoặc tái khởi tạo với véc tơ
khởi tạo IV mới là 264
bit.
CHÚ THÍCH 2 Đối với
những cơ sở thiết kế cho
K2, tham khảo [12], [13],
[14].
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hình
13- Hàm phi tuyến của K2
8.5.2. Hàm khởi tạo Init
Hàm khởi tạo hút hoạt
động như sau:
Đầu
vào: Khóa K độ dài 128-bit và véc tơ
khởi tạo IV độ dài 128-bit.
Đầu ra: Giá trị khởi
tạo của biến trạng thái S0 = (A(0),
B(0), R1(0),
L1(0), R2(0),
L2(0)).
Biến
cục bộ: biến đếm m
a) Mở rộng khóa K = (K0, K1,
K2, K3)
độ dài 128-bit thành khóa trong IK
= (IK0, IK1,...,IK11)
độ dài 384-bit như sau:
1) Với m = 0, 1,
2, 3 đặt IKm = Km.
2) Với m = 4, 5,...11,
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Nếu m = 4, đặt
Rcon[0] =
(0x01,0x00,0x00,0x00) và
IKm
= IKm-4ÅSubk2Å(IKm-1
<<32
8)Å(IKm-1
>>32
24))ÅRcon[ - 1]. Hàm SubK2
được đề cập đến trong 8.5.5
- Nếu m =
8, đặt Rcon[1]
= (0x02,0x00,0x00,0x00) và
IKm
= IKm-4ÅSubK2(IKm-1
<<32
8)Å(IKm-1
>>32
24))ÅRcon[ - 1].
Hàm SubK2 được đề cập đến trong 8.5.5
b) Khởi tạo các thanh ghi với khóa trong IK
và IV = (IV0,
IV1, IV2, IV3).
- Với m = 0,
1, 2, 3,
4 đặt = IK4-m.
- Đặt thanh ghi trong FSR-B
như sau.
- Đặt thanh ghi trong
hàm phi tuyến như sau.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
c) Đặt S0 = Next24(S-24,
INIT), trong đó Next24
biểu diễn 24 lần lặp của hàm Next
d) Đưa ra S0
Chúng
ta tham khảo 8.5.5 cho mô tả hàm SubK2.
8.5.3. Hàm chuyển trạng thái theo Next
K2
có 2 chế độ cho hàm Next
Đầu vào: Biến trạng
thái Si = (A(i), B(i),
R1(i),
L1(i), R2(i),
L2(i)),
mode = {INIT, null}.
Đầu ra: Giá trị tiếp
theo của biến trạng thái Si+1
= (A(i+1),
B(i+1),
R1(i+1),
L1(i+1),
R2(i+1), L2(i+1)).
Biến cục bộ: biến đếm m
a) Đặt biến trong hàm phi tuyến như sau.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
b) Với m = 0, 1,
2, 3, đặt
c) Với m = 0, 1, 2 9, đặt
d) Với
chế độ INIT, đặt
với chế độ null, đặt
đặt
e) Với chế độ INIT,
đặt
với chế độ null,
đặt
f) Đặt Si+1
= (A(i+1), B(i+1), R1(i+1), L1(i+1),
R2(i+1), L2(i+1)).
g) Đưa ra Si+1.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hình 14 là sơ đồ khối
của chế độ INIT của
hàm Next.
Hình
14 - Chế độ INIT
của hàm Next
8.5.4. Hàm khóa dòng Strm
Hàm khóa dòng Strm
hoạt động như sau.
Đầu vào: Biến trạng
thái Si = (A(i), B(i), R1(i),
L1(i), R2(i), L2(i)).
Đầu ra: Khóa dòng Zi =
() độ dài 64-bit.
a) Đặt = NLF)
b) Đặt = NLF
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
d) Đưa ra Zi.
Hàm NLF được
định nghĩa trong 8.5.10.
8.5.5. Hàm SubK2
Hàm SubK2
là một hoán vị trong trường GF(232), dựa
trên các thành phần tử chuẩn mã hóa tiên tiến (AES) [TCVN
11367-3:2016 ISO/IEC 18033-3]. Trong hàm SubK2,
giá trị đầu vào 32-bit được chia thành 4 xâu
1-byte và một hoán vị phi tuyến được áp dụng cho mỗi byte sử
dụng hàm hay thế 8x8 bit (SBox) tiếp
sau một hoán vị tuyến tính 32x32 bit. Các hàm SBox là giống như SBox
của AES, và hoán vị giống như
phép toán Mix Column
của AES.
CHÚ THÍCH 1 Hàm SBox
AES, SBox, có thể
được tìm thấy trong
8.1.8 là hàm SUB.
CHÚ THÍCH 2 Hàm SubK2
tạo ra đầu ra tương tự như hàm T của
8.2.5.
Đầu vào: Một giá trị w độ
dài 32-bit biểu diễn cho một phần tử trên trường
GF(232).
Đầu ra: Một xâu q =
SubK2(w) độ dài 32-bit.
Biến cục bộ: biến đếm
m.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
b) Với mỗi m = 0, 1,
2, 3, đặt tm = SBox(wm).
c) Đặt q = (q3, q2,
q1, q0)
như sau
Phép nhân các phần tử ti
được thực hiện trong trường GF(28)
dùng đa thức bất khả quy f(x) = x8
+ x4+x3+ x + 1.
d) Đưa ra q.
8.5.6. Phép nhân của a0
trong trường GF(232)
Đầu vào: Một giá trị w
độ dài 32-bit, biểu diễn cho 1 phần tử trên trường GF(232).
Đầu ra: Một xâu w’ độ
dài 32-bit, biểu diễn cho a0
Ä
w trên trường GF(232).
a) Đặt
w’ = (w <<32
8)ÅaMUL0[w
>>32
24].
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hàm aMUL0
được định nghĩa như sau:
8.5.7. Phép nhân của a1
trong trường GF(232)
Đầu vào: Một giá trị w độ
dài 32-bit, biểu diễn cho 1 phần tử trên trường GF(232).
Đầu ra: Một xâu w’ độ
dài 32-bit, biểu diễn a1 Ä
w trên trường GF(232).
a) Đặt w’ = (w
<<32
8)ÅaMUL1[w
>>32
24].
b) Đưa ra w’.
Hàm aMUL1
được định nghĩa như sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đầu vào: Một giá trị w
độ dài 32-bit, biểu diễn cho 1 phần tử
trên trường GF(232).
Đầu ra: Một xâu
w’ độ dài 32-bit, biểu diễn cho a2
Ä w
trên trường GF(232).
a) Đặt w’ = (w <<32
8)ÅaMUL2
[w >>32
24].
b) Đưa ra w’.
Hàm aMUL2
được định nghĩa như sau:
8.5.9. Phép nhân của a3
trong trường GF(232)
Đầu
vào: Một giá trị w độ dài 32-bit, biểu diễn cho 1 phần tử
trên trường GF(232).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
a) Đặt w’
= (w <<32 8)ÅaMUL3 [w >>32
24].
b) Đưa ra w’.
Hàm aMUL3
được định nghĩa như sau:
8.5.10. Hàm NLF(a,
b, c, d)
Đầu vào: 4 giá trị độ
dài 32-bit a, b, c và d.
Đầu ra: Một xâu q
độ dài 32-bit
a) Đặt q = (a +32b)Åc
Å
d).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
PHỤ LỤC A
(Quy
định)
ĐỊNH DANH ĐỐI TƯỢNG
Phụ lục này liệt kê
các định danh đối tượng gán cho các thuật toán được đặc tả trong bộ TCVN 11367
(ISO/IEC 18033) và xác định các cấu trúc tham số thuật toán. Vui
lòng tham khảo tiêu chuẩn TCVN 11367-3:2016 (ISO/IEC18033-3) về các ID của đối
tượng cho các chế độ hoạt động của mã khối.
PHỤ LỤC B
(Tham
khảo)
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Đối với bất kỳ số
nguyên dương n tồn tại một trường hữu hạn gồm có 2n
phần tử. Trường hữu hạn này duy nhất trên phép đẳng cấu
và trong tiêu chuẩn này của bộ TCVN 11367 (ISO/IEC 18033) nó được gọi là trường
hữu hạn GF(2n).
Trong mô tả đa thức,
mỗi phần tử của GF(2n)
được mô tả bởi một đa thức nhị phân có bậc nhỏ
hơn n. Một cách rõ ràng hơn, xâu bit a = an-1
..., a2a1a0
được thực hiện để đại diện cho đa thức nhị phân
a(x) = an-1xn-1+
…
+ a2x2 + a1x
+ a0. Cơ sở của đa thức là tập hợp
B = (xn-1,
..., x2,
x, 1). Đối với 2 xâu bit a = an-1…, a2a1a0
và b = bn-1...b2b1b0, tổng là c = aÅb = cn-1 ...
c2c1c0,
trong đó ci = aiÅbi.
Phép nhân trong trường
hữu hạn, được viết là aÄb
tương ứng với phép nhân hai đa thức a(x)b(x) modulo
với một đa thức bất khả quy nhị phân p(x)
bậc n. Một đa thức là bất khả quy nếu nó không có ước số tầm thường.
GF(2n)\{0}
ký hiệu là GF(2n)* là
một nhóm abel đối với phép nhân và phần tử đơn vị là 1. Đối với bất kỳ đa thức
nhị phân khác không b(x) bậc nhỏ hơn n,
các nghịch đảo của b(x) ký hiệu là b-1(x), có
thể được tính như sau: sử dụng thuật toán Euclid mở rộng để tính toán đa thức a(x)
và c(x) sao cho b(x).
a(x) + p(x). c(x) = 1.
Do đó, a(x).b(x) mod p(x) = 1, có nghĩa là b-1(x)
= a(x) mod
p(x). Thuật toán Euclid mở rộng được
mô tả trong [15].
PHỤ LỤC C
(Tham
khảo)
CÁC VÍ DỤ
C.1.
Ví dụ cho MUGI
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.1.2. Ví dụ các trạng thái
trong
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.2. Ví dụ khóa 128 bit cho
SNOW 2.0
C.2.1. Khóa, véc tơ khởi tạo
và bộ ba khóa dòng
C.2.2.
Ví dụ các trạng thái trong
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.3.
Ví dụ khóa 256 bit cho SNOW 2.0
C.3.1.
Khóa, véc tơ khởi
tạo và bộ ba khóa dòng
C.3.2.
Ví dụ các trạng thái trong
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.4. Ví
dụ cho Rabbit
C.4.1.
Giới thiệu
Tất cả các véc tơ kiểm
tra cho Rabbit được đưa ra trong ký hiệu little-endian, tức là cho số nhiều
byte, các byte có trọng số cao nhất được lưu trữ tại các địa
chỉ bộ nhớ cao nhất.
C.4.2.
Khóa, véc tơ kiểm tra và bộ ba khóa dòng
C.4.3.
Ví dụ các trạng thái
trong
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.5.
Ví dụ cho Decimv2
C.5.1.
Giới thiệu ví
dụ Decimv2
Các giá trị byte và
phân tích nhị phân của
các byte theo ký hiệu big-endian, tức là với số nhiều byte, byte có trọng số
cao nhất được lưu trữ tại địa chỉ bộ nhớ thấp
nhất. Đặc biệt, lưu trữ khóa, IV, khóa dòng, thanh ghi và bộ đệm
byte và giá trị nhị phân
đưa ra dưới đây.
K
= K79
... K0
IV = IV63
...IV0
Z
= Zn ... Z0
a = a191
... a0
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
T
= T2T1T0
và, ví
dụ đưa ra khóa
K = de aa
00 40 30 00 0f 08 80
Mỗi thanh ghi được
xác định:
[K79...
K72] =
de, [K71... K64]
= aa... [K7 … K0]
= 80
Với phân tích bit như
sau:
C.5.2.
Khóa, véc tơ khởi tạo và bộ ba khóa dòng
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.5.3.
Ví dụ trạng thái trong
Các tương đương nhị
phân của trạng thái trong cho các giai đoạn khóa, cụ thể được cung cấp tại thời
điểm -256, thời điểm -64, thời điểm 0 và
thời điểm 193.
Từ -256 đến
-64 (thực thi của InitNext(S,LRSR), các biến trạng thái trong T,
b và I
có giá trị sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.6.
Các ví dụ cho Kcipher-2(K2)
C.6.1.
Khóa, véc tơ khởi tạo và bộ ba khóa dòng
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
PHỤ LỤC D
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
THÔNG TIN AN TOÀN
D.1.
Mức độ an toàn của mã dòng
Phụ lục này liệt kê
mức độ an toàn của mã dòng được mô tả trong tiêu chuẩn này của bộ TCVN 11367
(ISO/IEC 18033).
Bảng
D.1-Mức độ an toàn của các chế độ mã
dòng
Hàm
đầu ra
Bí
mật dữ liệu
Toàn
vẹn dữ liệu
Chế độ cộng nhị
phân
Một cơ chế mã hóa dựa
trên các hàm đầu ra là an toàn miễn là bộ tạo khóa dòng an
toàn. Điều này được chứng minh bằng toán học.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Chế độ MULTI-S01
Việc an toàn liên
quan đến toàn vẹn dữ liệu thông thường an toàn như bộ tạo khóa dòng. Tuy
nhiên mức độ an toàn luôn luôn bị chặn trên
bởi chiều dài của thông báo giả mạo. Một thông báo giả mạo có chiều dài là un bit có thể
được chấp nhận với xác suất thành công (u - 2)2-n,
trong đó n là tham số an toàn của chế độ này.
Bảng
D.2-Mức độ an toàn của bộ tạo khóa dòng chuyên dụng
Bộ
tạo khóa dòng
Tuyên
bố an toàn
Độ
dài khóa
Độ
phức tạp tính toàn của tấn
công tốt nhất được
biết đến
Chế độ CFB, OFB, CTR với
mã khối n-bit với độ dài khóa k-bit
Giả
sử rằng các mã
khối về cơ bản là an toàn, nói chung không thể phân biệt chế độ CFB, OFB và
CTR từ một chuỗi ngẫu nhiên. Tuy nhiên, nếu số lượng các khối được xử lý vượt
quá khoảng 2n/2 thì
xác suất của phân biệt giữa khóa dòng và chuỗi ngẫu nhiên trở nên đáng kể. Sự
an toàn của khóa dòng được chặn trên bởi an toàn của mã khối, chẳng hạn độ
dài khóa và mức độ mật mã có
thể được phân tích mã.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2n/ 2
MUGI
Không có
một tấn công phân tích mã nào được biết đến
đối với MUGI nhanh hơn so với tấn
công vét cạn khóa.
MUGI có độ dài khóa là 128- bit.
128-bit
2128
SNOW 2.0
Đối với chế độ
256-bit, các thuật toán phân biệt đã được phân biệt đầu ra của SNOW 2.0 từ
một chuỗi ngẫu nhiên. Cách tốt nhất để ước tính và cần biết khoảng 2174-bit
khóa dòng. Điều này hầu như không vi phạm mức độ an toàn trên lý thuyết, có
thể được suy ra từ độ dài khóa, 256-bit. Tuy nhiên, bất
kỳ tấn công nào liên quan đến phân biệt đã biết sẽ không có mối đe dọa nào
với sử dụng thực tế.
128 hoặc 256-bit
2174
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Không có tấn công
phân biệt nào được biết đến
đối với với Rabbit nhanh hơn so với tấn công vét cạn khóa, miễn là không quá
264 khối khóa dòng được tạo ra sử dụng một khóa.
128 bit
2128
Decimv2
Không có một tấn
công phân tích mã nào được biết đến đối với Decimv2
nhanh hơn so với tấn công vét cạn khóa.
80 bit
280
KCipher-2
(K2)
Không có một tấn công
phân tích mã nào được biết đến đối với K2 nhanh hơn so với tấn công
vét cạn khóa. K2 có độ dài khóa
là 128-bit
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2128
D.2.
An toàn hiệu quả đánh đổi trong MULTI-S01
Cho n là kích
thước khối của hàm đầu ra MULTI-S01. Với thông báo n.u-bit,
hàm đầu ra MULTI-S01 lặp xử lý khối u+2
lần. Trong cả hai phần mềm và phần cứng thực hiện, việc
tính toán chi phối là các phép nhân trong trường hữu hạn GF(2n).
Nếu hai thực thi, giữa
kích thước khối n khác nhau, được so
sánh, việc thực thi với n nhỏ hơn nói chung là nhanh hơn khối khác - mặc
dù việc thực hiện với giá trị n nhỏ hơn lặp nhiều lần hơn, mỗi lần nhân
có thể được tính trong thời gian ít hơn và sử dụng không gian nhỏ hơn. Các yếu
tố mà việc tính toán tăng tốc độ lên phụ thuộc vào thuật toán và nền tảng
được sử dụng để thực thi nó.
Bảng D.3 - cho thấy một
số kết quả thực nghiệm của việc thực thi MULTI-S01 với n = 64.
Bảng
D.3 - Kết quả thực nghiệm của việc thực thi chế
độ MULTI-S01 không có bộ tạo khóa dòng (n =
64)
Chọn
lựa
Tốc
độ/Kích thước
Đặc
tả nền tảng
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
5.1 Gbps@80MHz, 25.7
K Cổng
ASIC sử
dụng thư viện ngăn Hitachi HG73C (0.35 mm)
ASIC kích thước nhỏ
2.0 K Cổng,
100Mbps@100MHz
Phần mềm
10 chu kỳ/byte (hoặc
tương đương 520 bps@650 MHz)
Intel Pentium III 650
MHz (Coppermine), Windows98 SE, RAM 64MB, Visual
C++ Ver.6.0 Service Pack 3.
D.3.
Hướng dẫn về mã
dòng
Phụ lục này liệt
kê các tính năng của mã dòng được
mô tả trong tiêu chuẩn này của bộ TCVN 11367 (ISO/IEC
18033).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bộ
tạo khóa dòng
Phát
biểu thuộc tính
Chế độ CFB, OFB, CTR
với mã khối n-bit với độ dài khóa k-bit
Thuận lợi của 3 chế
độ này là chúng chia sẻ các thành phần với các chế độ khác của mã khối. Các
chế độ này có thể được sử dụng cho bản rõ có
độ dài bất kỳ trên một vài kiến trúc, và OFB và
CTR là hai chế độ phù hợp cho việc mã hóa và giải mã
bản rõ độ dài nx-bit. CFB có thể khôi phục
lỗi đồng bộ và hiệu năng của nó phụ thuộc vào độ dài khóa
dòng. CTR chấp nhận truy cập ngẫu nhiên đến bản mã.
MUGI
MUGI sử dụng véc tơ
khởi tạo độ dài 128-bit. Nó bao gồm các phép toán 64-bit và tạo ra 64-bit
khóa dòng cho mỗi lần thực hiện. Mật mã
có thể được sử dụng cho bản rõ
có độ dài bất kỳ trên một số kiến trúc, và nó hiệu quả hơn cho kiến
trúc CPU 64-bit và mã hóa/giải
mã bản rõ độ dài 64x.
SNOW 2.0
SNOW 2.0 sử dụng véc
tơ khởi tạo độ dài 128-bit. Nó bao gồm các phép toán 32-bit và tạo ra 32-bit
khóa dòng cho mỗi lần thực hiện. Mật mã có thể được sử dụng cho bản rõ
có độ dài bất kỳ trên một số
kiến trúc và nó hiệu quả hơn cho kiến trúc CPU 32-bit và mã hóa/giải mã
bản rõ độ dài 32x.
Rabbit
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Decimv2
Decimv2
sử dụng véc tơ khởi tạo độ dài 64-bit. Nó bao gồm
các phép toán từng bit và tạo ra 1-bit khóa dòng
cho mỗi lần thực hiện. Mật mã có thể được sử
dụng cho bản rõ có độ dài bất kỳ trên một số kiến trúc
và nó hiệu quả hơn cho
thực hiện phần cứng trên các thiết bị có tài nguyên
hạn chế.
KCipher-2 (K2)
KCipher-2 sử dụng véc
tơ khởi tạo độ dài 128-bit.
Nó bao gồm các phép toán 32-bit và tạo ra 64-bit khóa dòng cho mỗi lần thực
hiện. Mật mã có thể được sử dụng cho bản rõ
có độ dài bất kỳ trên một số kiến
trúc, và nó hiệu quả hơn cho kiến trúc CPU 32-bit và mã hóa/giải mã bản rõ độ
dài 64x.
THƯ
MỤC TÀI LIỆU THAM KHẢO
[1] ISO/IEC 9797-1:2011, Information
technology - Security techniques -
Message Authentication Codes (MACs) - Part
1: Mechanisms using a block cipher
[2] ISO/IEC 10116:2006, Information
technology - Security
techniques - Modes of operation for an
n-bit block cipher
[3] ISO/IEC 10118-1:2000, lnformation technology -
Security techniques -
Hash-functions - Part 1: General
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
[5] ISO/IEC 11770-3:2008, Information technology -
Security techniques - Key
management - Part 3: Mechanisms using
asymmetric techniques
[6] Berbain, C., Billet, O.,
Canteaut, A., Courtois, N., Debraize. B.,
Gilbert, H., Goubin, L., Gouget, A., Granboulan,
L., Lauradoux, C., Minier, M., Pornin,
T. and Sibert, H., “DECIMv2, a compact hardware- oriented
stream cipher”, SASC 2006 - Stream Ciphers revisited Workshop,
Leuven, Belgium, 2006
[7] Biryukov, A. and Shamir, A., “Cryptanalytic
Time/Memory/Data Tradeoffs for Stream Ciphers”,
Advances in Cryptology - ASIACRYPT 2000, 6th International Conference
on the Theory and Application of Cryptology and Information Security, Kyoto,
Japan, December 2000, Proceedings, ed. Okamoto, T., Lecture Notes in Computer
Science vol. 1976, Springer-Verlag, pp.1-13, 2000
[8] Boesgaard, M., Vesterager, M., Pedersen,
T., Christiansen, J., and Scavenius, O., “Rabbit:
A new high- performance stream cipher“.
In T. Johansson, editor, Proc. Fast Software Encryption 2003, Lecture Notes in
Computer Science vol.2887, Springer-Verlag, pp.307-329, 2003
[9] Boesgaard, M.(Vesterager, M.t Christensen, T., Zenner, E., “The
Rabbit stream cipher - design and security analysis”.
Available from <http://www.cryptico.com/files/filer/rabbit sasc.final.pdf>
[10] Ekdahl, P. and Johansson, T., “A
new version of the stream cipher SNOW”,
Selected Areas in Cryptography, 9th Annual Workshop,
SAC 2002, St. John's, Newfoundland, Canada, Aug. 2002,
Revised Papers, eds. Nyberg, K. and Heys, H.,
Lecture Notes in Computer Science vol. 2595, Springer- Verlag, pp.47-61, 2002
[11] Furuya, S.,
Watanabe, D., Seto, Y., and Takaragi, K., “Integrity-Aware
Mode of Stream Cipher,”
IEICE Transactions on Fundamentals of
Electronics, Communications and Computer Science vol.
E85-A No.1, pp.58-65, 2002
[12] Kiyomoto, S., Tanaka, T., and
Sakurai, K., “A Word-Oriented Stream
Cipher Using Clock Control”, In SASC 2007 Workshop
Record, pp.260-274, January, 2007
[13] Kiyomoto, S., Tanaka, T., and Sakurai, K., “K2:
A Stream Cipher Algorithm Using Dynamic
Feedback Control“, In Proc. of SECRYPT 2007, pp.204-213,
July, 2007
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
[15] Menezes, A.J., van Oorschot, P.C., and Vanstone, SA, Handbook of
Applied Cryptography, CRC Press, 1996
[16] Nyberg, K., Wallen, J., “Improved
Linear Distinguishers for SNOW 2.0”,
FSE 2006, Lecture Notes in Computer Science vol.4047, Springer-Verlag,
pp.44-162, 2006
[17] Watanabe,
D., Furuya, S.,
Yoshida, H., Takaragi, K., and Preneel, B.t “A New
Key Stream Generator
MUGI,” Fast Software Encryption, 9th
International Workshop, FSE 2002, Leuven, Belgium,
February 4-6, 2002, Revised Papers, eds. Daemen, J. and Rijmen, V., Lecture
Notes in Computer Science vol.2365, Springer-Verlag, pp.179-194, 2002
[18] Wu, H. and Preneel, B„ “Cryptanalysis
of the stream Cipher DECIM”, Proc. FSE 2006, Lecture
Notes in Computer Science vol. 4047, Springer-Verlag,
pp.30-40, 2006
[19] ISO/IEC 9834 (all parts), lnformation technology -
Open Systems Interconnection - Procedures for
the operation of OS I Registration Authorities
MỤC
LỤC
Lời nói đầu
Giới thiệu
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2. Tài liệu viện dẫn
3. Thuật ngữ và định nghĩa
4.
Ký hiệu và từ viết tắt
4.1.
Ký hiệu
4.2.
Các hàm
5. Khung cho mã dòng
6. Mô hình tổng quát của mã dòng
6.1. Các bộ tạo khóa dòng
6.2. Các hàm đầu ra
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
7.
Xây dựng bộ tạo khóa dòng từ mã khối
7.1. Các chế độ mã khối cho bộ tạo khóa dòng đồng bộ
7.2.
Chế độ mã khối cho bộ tạo khóa dòng tự đồng bộ
8. Bộ tạo khóa dòng chuyên dụng
8.1. Bộ tạo khóa dòng MUGI
8.2. Bộ tạo khóa dòng SNOW 2.0
8.3. Bộ tạo khóa dòng Rabbit 32
8.4. Bộ tạo khóa dòng Decimv2
8.5. Bộ tạo
khóa dòng KCipher-2 (K2)
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Phụ lục B (Tham khảo)
Các phép toán trên trường hữu hạn GF(2n)
Phụ lục
C (Tham khảo) Các ví dụ
Phụ lục D (Tham khảo)
Thông tin an toàn
Thư mục tài liệu tham
khảo