Độ dài khối
|
Tên thuật
toán
|
Độ dài khóa
|
64 bit
|
TDEA
|
(4,2)
|
128 hoặc
192 bit
|
MISTY1
|
(4,3)
|
128 bit
|
CAST-128
|
(4,4)
|
HIGHT
|
(4,5)
|
128 bit
|
AES
|
(5,2)
|
128,192 hoặc
256 bit
|
Camellia
|
(5,3)
|
128,192 hoặc
256 bit
|
SEED
|
(5,4)
|
128 bit
|
Các thuật toán được đặc tả trong tiêu chuẩn này của
bộ TCVN 11367 (ISO/IEC 18033), được gán cho các định danh đối tượng phù hợp với
tiêu chuẩn ISO/IEC
9834. Danh sách các định danh đối tượng được đưa ra tại Phụ lục B. Bất kì sự thay đổi
về đặc tính của thuật toán
dẫn đến thay đổi hành vi chức năng chức năng và sẽ dẫn đến thay đổi định danh đối
tượng mà thuật toán nhằm tới.
2. Thuật ngữ và định
nghĩa
Trong tiêu chuẩn này áp dụng
các thuật ngữ và định nghĩa dưới đây:
2.1. Khối (block)
Xâu bit có độ dài xác định.
CHÚ THÍCH Trong tiêu chuẩn này của bộ
TCVN 11367 (ISO/IEC 18033), độ dài khối hoặc là 64 hoặc 128 bit.
[ISO/IEC 18033-1:2005].
2.2. Mã khối (block cipher)
Hệ thống mã khối đối xứng, với tính chất
là thuật toán mã hóa thao tác trên các khối bản rõ, tức các xâu bit có độ dài
xác định, cho ra khối 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
2.3. Bản mã (ciphertext)
Dữ liệu đã được biến đổi để che giấu nội
dung thông tin trong đó.
[ISO/IEC 9798-1:1997]
2.4. Khóa (key)
Dãy các kí hiệu điều khiển thao tác của phép biến đổi
mật mã (ví dụ, phép mã
hóa và phép giải mã)
CHÚ THÍCH Trong tất cả các hệ mật mã được mô tả
trong tiêu chuẩn này của bộ TCVN
11367 (ISO/IEC-18033), khóa gồm một các dãy bit.
[ISO/IEC 11770-1:1996]
2.5. Mã khối n-bit (n-bit block
cipher)
Mã khối với tính chất là các khối bản
rõ và khối bản mã có độ dài 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
2.6. Bản rõ (plaintext)
Thông tin chưa được mã hóa
[ISO/IEC 9797-1:1999]
3. Các ký hiệu
n
độ dài tính bằng bit của bản
rõ/ bản mã đối với mã khối
Ek
hàm mã hóa với khóa K
Dk
...
...
...
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
Nr
số vòng của thuật toán
AES, bằng 10, 12 hoặc 14 để chọn độ dài khóa tương ứng 128, 192, hoặc 256
bit.
Å
phép toán logic XOR trên
xâu bit, nghĩa là nếu A và B là hai xâu cùng độ dài thì AÅB
là xâu bit bao gồm các bit là kết quả phép toán logic XOR của A và B
phép nhân hai đa thức (mỗi
đa thức có bậc bé hơn 4) theo mod x4 + 1
Ù
phép toán logic AND trên
xâu bit, nghĩa là nếu A và B là các xâu bit cùng độ dài, thì A
ÙB
là xâu bit được tạo từ phép toán logic AND các bit tương ứng của A và 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
║
phép ghép các xâu bit
·
phép nhân trên trường hữu
hạn
phép nhân vòng sang trái i
bit.
phép nhân vòng sang phải i
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
a
mod n
với các số nguyên a
và n, a mod n kí hiệu số dư (không âm) trong phép chia n
cho a. Một các tương đương, b = a mod n nếu b là số
nguyên duy nhất thỏa mãn các điều kiện sau:
(i) 0 ≤ b < n
(ii) (b-a) là bội số
nguyên của n
phép cộng trong số học
mô-đun, nghĩa là nếu A và B là hai xâu t-bit thì A B được xác định bằng
(A+B)mod 2t
phép cộng trong số học
mô-đun, nghĩa là nếu A và B là hai xâu t-bit thì A B được xác định bằng
(A+B)mod 2t
4. Mã khối 64 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
Trong Điều này đặc tả bốn loại mã khối 64 bit:
TDEA (hay "Ba DES" - "Triple
DES") ở Điều 4.2,
MISTY
I
ở Điều 4.3,
CAST-128 ở Điều 4.4 và HIGHT ở Điều 4.5.
Người dùng được cấp quyền để tiếp cận
dữ liệu đã mã hóa, sẽ nhận được khóa dùng để mã dữ liệu để giải mã dữ
liệu. Thuật toán của bất kì hệ mật
nào trong điều này, được thiết kế để mã hóa và giải mã các khối dữ liệu 64
bit, theo sự điều khiển của khóa 128 (hoặc 192 bit). Phép giải mã sử dụng cùng
khóa của phép mã hóa.
4.2. TDEA
4.2.1. Thuật toán mã
dữ liệu bội ba
Thuật toán mã dữ liệu bội ba
(TDEA-Triple Data Encryption) là mật mã đối xứng, có thể xử lí các khối dữ liệu
64 bit, sử dụng khóa mật
mã có độ dài 128 (hoặc 192) bit, trong đó 112 bit (hoặc 168 bit) có
thể được chọn một cách tùy ý, các bit còn lại dùng để làm mã phát hiện sai.
TDEA thường được biết đến như là DES bội ba (Triple - DES)
Phép mã hóa/giải mã TDEA là
phép toán ghép các phép toán mã hóa và giải mã DES, ở đây thuật toán DES được đặc tả tại Phụ lục
A. Khóa của TDEA gồm ba
khóa DES.
4.2.2. Phép mã
hóa/giải mã TDEA
4.2.2.1. Các định nghĩa mã
hóa/giải mã
TDEA được xác định theo thuật ngữ của
phép toán DES, ở đấy Ek là phép toán mã hóa của DES với khóa K và Dk là phép giải
mã của DES với khóa 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
Phép biến đổi khối P 64 bit thành
khối C 64 bit được xác định
như sau:
.
4.2.2.3. Phép giải mã
TDEA
Phép biến đổi khối C 64 bit thành
khối P 64 bit được
xác định như sau:
.
4.2.3. Tùy chọn khóa
trong TDEA
Tiêu chuẩn này của TCVN 11367 (ISO/IEC
18033) xác định các tùy chọn khóa cho TDEA. Khóa TDEA gồm ba khóa (K1, K2,
K3).
1. Tùy chọn khóa
1:
K1, K2
và K3 là những
khóa DES khác nhau;
2. Tùy chọn khóa
2: K1 và K2
là các khóa DES
khác nhau, còn K3 = 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
4.3. MISTY1
4.3.1. Thuật toán
MISTY1
Thuật toán MISTY1 là mã khối đối xứng,
có thể xử lí các khối 64 bit sử dụng
khóa mật mã độ dài 128 bit.
4.3.2. Phép mã hóa
MISTYI
Phép mã hóa được chỉ ra trên Hình 1.
Phép biến đổi khối
64-bit P thành khối
64-bit C được xác định như sau (KL,
KO, và KI
là
các khóa):
(2) Với i = 1, 3,…, 7 (độ chênh lệch
các giá trị liên tiếp nhau của i
bằng 2 vì có hai vòng
lặp):
với i = 9;
...
...
...
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
Li = FL(Ri-1, KLi+1)
(3) C = L9 ║R9
4.3.3. Phép giải mã
MISTY1
Phép toán giải mã được chỉ ra trên
Hình 2 và giống như phép mã hóa, trừ hai sửa đổi sau đây:
(1) Tất cả hàm FL
được thay bằng hàm ngược FL-1 của chúng.
(2) Thứ tự áp dụng
các khóa con được đảo lại.
4.3.4. Các hàm
MISTRY1
4.3.4.1. Định nghĩa
hàm MISTRY1
Thuật toán MISTRY1 sử dụng một số lượng
hàm, đó là S7, S9, FI, FO, FL và
FL-1, các hàm này
sẽ được định nghĩa dưới đâ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
Hàm FL được chỉ ra trên Hình
2 và chỉ áp dụng trong phép mã hóa. Hàm FL được xác định như sau (X và Y là dữ liệu, KL
là khóa):
Hình 1 - Thủ tục mã
hóa
Hình 2 - Thủ tục giải
mã
4.3.4.3. Hàm FL-1
Hàm FL-1 là hàm ngược
của hàm FL, chỉ
được áp dụng vào phép giải mã và được chỉ ra trên Hình 4. Hàm FL-1 được xác định như sau (X và Y là dữ liệu, KL
là khóa):
...
...
...
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 FO trình bày trên Hình 5, được sử
dụng trong mã hóa và
giải mã. Hàm FO được xác định như sau (X và Y là dữ liệu, KO và KI là khóa):
4.3.4.5. Hàm Fl
Hàm Fl được sử dụng để mã hóa, giải mã
và cho lược đồ khóa (schedule). Hàm Fl được trình bày trên Hình 6, ở đấy Extnd
là phép toán mở rộng bằng
các bit 0 gồm 7 đến 9 bit, bằng cách ghép 2 bit ở phía bên trái và Trunc
là phép cắt hai bit phía bên trái. Hàm Fl được xác định như sau (X và Y là dữ liệu, KI là khóa):
Hình 3 - Hàm FL
Hình 4 - Hàm FL-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 5 - Hàm FO
Hình 6 - Hàm FI
4.3.4.6. Bảng tra cứu S7 và S9
S7 là bảng tra cứu
song ánh nhận đầu vào 7 bit và cho đầu ra 7 bit. S9 là bảng tra
cứu song ánh nhận
đầu vào 9 bit và cho đầu ra 9 bit. Bảng 2 và 3 xác định các bảng tra cứu này ở
dạng hệ đếm Hexa. S7 và S9 cũng có thể
được mô tả dưới dạng đại số đơn giản trên trường GF(2) được chỉ
ra tại Điều C.2.
Ví dụ, nếu đầu vào của S7 là {53}, thì
giá trị thay thế được xác định bởi giao của hàng "5" và cột "3" với chỉ số
"3" trên Bảng 2.
Kết quả S7 nhận được giá trị {57}.
Bảng 2 - S7
Bảng 3 - S9
...
...
...
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
4.3.5. Lược đồ khóa
MISTY1
Lược đồ khóa nhận khóa
128 bit K và đưa ra khóa
con 128 bit K1, như được chỉ ra ở hình dưới đây.
Lược đồ khóa được cho trên Hình 7.
Phép lập lược đồ khóa được định nghĩa
như sau:
CHÚ THÍCH Khi giá trị hậu tố lớn hơn 8, thì trừ đi 8.
Hình 7- Lược
đồ khóa MISTY1
...
...
...
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
4.4.1. Thuật toán
CAST-128
Thuật toán CAST-128 là mã khối đối xứng,
có thể xử lí các khối 64 bit, sử dụng khóa mật mã độ dài 128 bit với 16 vòng.
CHÚ THÍCH Độ dài khóa của phiên bản CAST-128 gốc
thay đổi từ 40 đến 128 bit.
Tuy nhiên trong tiêu
chuẩn này của bộ
TCVN 11367 (ISO/IEC-18033) chỉ sử dụng phương án khóa 128 bit.
4.4.2. Mã hóa theo
CAST-128
Phép biến đổi khối 64-bit
P thành khối
64-bit C được xác định
như sau (Km và Kr là khóa):
4.4.3. Giải mã
CAST-128
Phép giải mã cũng tương tự
như phép mã hóa đã mô tả ở trên, chỉ khác là các vòng (và các cặp khóa con) được sử
dụng theo thứ tự ngược lại để tính (L0, R0) từ (R16, L16).
4.4.4. Các hàm
CAST-128
...
...
...
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
CAST-128 sử dụng một cặp khóa con cho mỗi
vòng: 32 bit Km được sử dụng như một khóa "mặt nạ" và 5-bit Kr được sử dụng
như một khóa "hoán vị vòng".
4.4.4.2. Các f-hàm
Ba hàm vòng khác nhau được sử dụng
trong phép mã hóa và phép giải mã, phụ thuộc vào số thứ tự của vòng. Các vòng
như sau ("D" là đầu vào dữ
liệu của f-hàm, và tương ứng
"la" - "Id" tương ứng là
các byte có có nghĩa nhất qua byte ít có nghĩa nhất của I).
Các vòng 1, 4, 7, 10, 13 và 16 sử dụng hàm f kiểu
1 (Type
1).
Các vòng 2, 5, 8, 11 và 14 sử dụng hàm f
kiểu 2 (Type
2).
Các vòng 3, 6, 9, 12 và 15 sử dụng hàm f
kiểu 3 (Type
3).
4.4.4.3. Các hộp thế
4.4.4.3.1. Các S-box S1 đến S8
...
...
...
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
4.4.4.3.2. S-Box S1
4.4.4.3.4. S-Box S3
4.4.4.3.5. S-Box S4
...
...
...
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
4.4.4.3.6. S-Box S5
4.4.4.3.7. S-Box S6
4.4.4.3.8. S-Box S7
...
...
...
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
4.4.5. Lược đồ khóa
CAST-128
CHÚ THÍCH Nửa còn lại giống
với những gì được đưa ra ở trên, tiếp tục
từ chuỗi cuối cùng được tạo ra x0...xF để sinh ra khóa K17-K32.
Bước tiếp theo được sử dụng để tạo ra
mặt nạ khóa con và các khóa con hoán vị vòng.
Giả sử Km1,...,Km16 là các mặt nạ
khóa con 32-bit (mỗi khóa một vòng), và Kr1,..,Kr16 là 32 bit
các khóa con hoán vị (mỗi khóa một
vòng); chỉ có 5 bit cuối cùng có trọng số thấp nhất được dùng trong mỗi vò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
Kmi = Ki
Kri = K16+i
4.5. HIGHT
4.5.1. Thuật toán
HIGHT
Thuật toán HIGHT là mã khối đối xứng,
có thể xử lí các khối 64-bit sử dụng khóa mật mã độ dài 128-bit.
4.5.2. Phép mã hóa
theo HIGHT
Phép mã hóa được chỉ ra trên Hình 8. Phép biến
đổi khối 64-bit
P thành khối
64-bit C được xác định như sau (WKi
và SKi là các byte khóa trắng và các byte khóa con tương ứng được xác định trong 4.5.5):
(1) P = P7 || P6 || P5 || P4 || P3 || P2 || P1 || P0 (Pi là các bản
rõ)
(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
(3) với i = 0 tới 30
Với i = 31
(4)
(5) C = C7 || C6 || C5 || C4 || C3 || C2 || C1 || C0 (Ci là các bản mã)
Hình 8 - Thủ tục mã
hóa theo HIGHT
...
...
...
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ép toán giải mã cũng giống như phép
toán mã hóa, trừ hai thay đổi sau đây:
(1) Tất cả phép
toán được thay thế bằng
phép trừ phép toán nối SKi và đầu ra của F0.
(2) Thứ tự áp dụng
WKi
và SKi ngược với thứ tự trong
mã hóa.
4.5.4. Các hàm HIGHT
4.5.4.1. Các hàm F0 và F1
Thuật toán HIGHT sử dụng hai hàm F0 và F1 được định
nghĩa dưới đây.
4.5.4.2. Hàm F0
Hàm F0 được sử dụng để mã
hóa và giải mã. Hàm F0 được xác định như sau:
F0 (x) =
(x<<<1) Å
(x<<<2) Å
(x<<<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
Hàm F1 được sử dụng
để mã hóa và giải mã. Hàm F1 được xác định như sau:
F0 (x)=
(x<<<3) Å
(x<<<4) Å
(x<<<6)
4.5.5. Lược đồ khóa
HIGHT
Phần lược đồ khóa nhận khóa chủ
128-bit K = K15 ║K14║…║K0
và đưa ra 8 byte khóa trắng WKi và 128 byte khóa con SKi và xác định
như sau.
với i = 0,1, 2, 3:
WKi = Ki+12
với i = 4, 5, 6, 7
WKi = Ki-4
128 khóa con được sử dụng để mã hóa và giải mã, mỗi
vòng có bốn khóa con. Việc tạo các khóa con được xác đị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
d0 = s6 || s5 ||s4 ||s3 ||s2 ||s1 ||s0
(2) với i
= 1 đến 127
si+6 = si+2
Å si-1
di = si+6 || si+5 || si+4 || si+3 || si+2 ||si+1 ||si
(3) với i
= 0 đến 7
với j = 0 đến 7
với j = 0 đến 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
5.1. Mở đầu
Điều khoản này đặc tả ba mã khối: AES ở Điều 5.2,
Camellia ở Điều 5.3, và SEED ở Điều 5.4
5.2. AES
5.2.1. Thuật toán
AES
Thuật toán AES là mã khối đối xứng, có
thể xử lí các khối
dữ liệu 128 bit, sử dụng khóa mật mã độ dài 128,192 và 256 bit. Thuật toán AES
còn được biết đến là Thuật toán Rijdael. Thuật toán AES có thể được sử
dụng với ba độ dài khóa khác nhau như đã chỉ ra ở trên và do đó có ba tham chiếu là "AES - 128", "AES-192", và "AES-256".
Trong thuật toán AES, độ dài của khối đầu
vào và đầu ra là 128 bit (4 từ). Độ dài của khóa K là 128, 192 và 256 bit. Số vòng, Nr,
là 10,
12
và 14, tùy thuộc độ dài khóa, được mô tả trên Bảng 4.
Bảng 4 - Số vòng
trong AES
Độ dài khóa
Số vòng (Nr)
...
...
...
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
10
AES-192
12
AES-256
14
Đối với cả hai phép mã hóa và giải mã, thuật
toán AES sử dụng hàm
vòng bao gồm bốn phép biến đổi khác nhau trên byte:1) phép thay thế byte sử dụng
bảng thay thế (S-box), 2) dịch hàng của mảng Trạng thái bằng các phép bù khác nhau,
3) trộn dữ liệu trong mỗi cột của mảng Trạng
thái, 4) bổ sung khóa
vòng vào Trạng thái. Các phép biến đổi này (và các phép nghịch đảo của chúng)
được mô tả trong Điều 5.2.4
Phép mã hóa và giải mã được
mô tả tương ứng trong 5.2.2 và 5.2.3, lược đồ khóa tương ứng được mô tả trong
5.2.5
5.2.2. Phép mã hóa
theo AES
Thuật toán AES gồm một dãy các phép
toán được thực hiện trên mảng của các byte hai chiều, được gọi là Trạng thái.
Trạng thái gồm bốn dòng byte, mỗi dòng chứa 4 byte. Trong mảng Trạng thái được
kí hiệu bằng s, mỗi byte riêng biệt có hai chỉ số với số dòng r, 0 ≤ r
< 4 và số cột c,
với 0 ≤ c < 4. Trạng thái được kí hiệu là S = (sr,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 9 - Khởi đầu Trạng thái
Sau khi cộng khóa vòng ban đầu, Trạng
thái được biến đổi bằng cách
thực thi hàm vòng Nr lần, với vòng cuối khác một ít với Nr-1
vòng đầu. Nội dung cuối cùng của Trạng thái chính là bản mã đầu ra.
Phép mã hóa đầy đủ có thể được mô tả
như sau:
Các phép biến đổi riêng biệt SubBytes(), ShifRows(),
MixColumns (), AddRounkey() xử lí Trạng
thái và được mô tả tại Điều
5.2.4. Tất cả Nr vòng đều giống
nhau, trừ vòng cuối cùng không chứa phép biến đổi MixColumns (). Trong phép
toán ở trên, mảng Wi chứa các
khóa vòng được mô tả tại Điều 5.2.5
5.2.3. Phép giải mã
AES
Tất cả các phép biến đổi sử dụng
trong các phép mã hóa đều khả nghịch. Khi thực thi phép giải mã, dãy các phép biến
đổi được sử
dụng
trong phép mã hóa vẫn được
duy trì, nhưng thay bằng các phép biến đổi ngược 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ác phép biến đổi SuBytes-1 (), ShifRows-1 (),
MixColumns-1 () thực hiện xử
lí Trạng thái và được mô tả tại Điều 5.2.4. Tất cả Nr vòng đều giống nhau, trừ
vòng cuối không chứa phép biến đổi MixColumns-1 (). Việc
tính các khóa vòng Wi được mô tả tại Điều 5.2.5
5.2.4. Các phép biến đổi AES
5.2.4.1. Các phép biến
đổi xác định cho AES
Thuật toán AES sử dụng các phép biến đổi
Subytes (), Subytes1 (), ShifRows (), ShifRows-1 (), MixColumns
(), MixColumns-1 (), và AddRoundKey (), được
mô tả dưới đây.
5.2.4.1. Phép biến đổi
SubBytes ()
Phép biến đổi SubBytes () thực hiện
thay thế mỗi byte Trạng thái si,j bởi giá trị mới s'i,j, bằng cách sử
dụng bảng thay thế (S-box) khả nghịch.
Hình 10 minh họa tác động của phép biến đổi SubBytes () lên bảng Trạng
thá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
S-box được sử dụng trong phép biến đổi
SubBytes () và được trình bày theo hệ Hexa trên Bảng 5
Bảng 5 - Các S-box của AES
Ví dụ, nếu s1,1 = {53} thì giá trị thay
thế là giá trị nằm trên giao của hàng có chỉ số '5' và cột có chỉ số '3' của Bảng 5, điều
này cho kết quả là s'1,1 có giá trị {ed}.
5.2.4.3. Phép biến đổi
SubBytes-1 ()
SubBytes-1 () là phép
biến đổi nghịch đảo
của phép biến đổi
SubBytes(), trong đó
S-box nghịch đảo được áp dụng
cho từng byte của Trạng thái. Điều này đạt được bằng cách áp dụng phép biến
đổi nghịch đảo được mô tả
tại Điều 5.2.4.2
S-box nghịch đảo được sử dụng trong
phép biến đổi SubBytes-1 () được mô tả trong Bảng 6.
Bảng 6 - S-box nghịch đảo AES
...
...
...
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 phép biến đổi ShifRows (), các byte ở
ba dòng cuối của Trạng thái được dịch vòng lên một số lượng bytes khác nhau
(offsets). Hàng thứ nhất, hàng 0 được giữ nguyên (không dịch chuyển).
Cụ thể, phép biến đổi ShiftRows () được
thực hiện như sau:
S'r,c = Sr,(c+r)mod4 với 0 < r < 4, và 0 ≤
c
<
4, ở đây r
là số thứ tự của hàng.
Theo đó sẽ các byte dịch chuyển sang
trái (nghĩa là các giá trị
thấp hơn của c
trong một hàng cho trước), trong khi các byte phía trái ngoài cùng dịch vòng
sang các vị trí phía phải ngoài cùng của hàng (tức là những giá trị cao hơn của
c
trong
hàng cho trước)
Hình 11 mô tả phép biến đổi ShiftRows
(), trong đó các byte được dịch vòng sang trái.
5.2.4.5. Phép biến đổi
ShiftRows-1 ()
ShiftRows-1 () là phép nghịch
đảo của phép biến đổi ShiftRows (). Các bytes trong ba dòng cuối của Trạng thái
được dịch vòng
lên một số lượng bytes khác nhau. Dòng thứ nhất, dòng 0 không dịch
chuyển. Ba dòng dưới cùng được dịch
vòng lên 4-r bytes, ở đây r là số thứ tự vòng.
Cụ thể, phép biến đổi ShiftRows-1 () được thực hiện
như sau:
S'r,c = Sr,(c+r)mod4 với 0 < r < 4, và 0 ≤
c
<
4
...
...
...
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 11 - ShiftRows () dịch vòng ba
dòng cuối của Trạng thái
Hình 12 - Shiftrows-1 () dịch vòng ba
dòng cuối của Trạng thái.
5.2.4.6. Phép biến đổi MixColumns
()
Phép biến đổi MixColumns () thao tác
trên Trạng thái, thay mỗi cột bằng cột khác. Các cột của Trạng thái
được xem như những đa thức trên trường GF(28) và được
nhân modulo x4+1 với đa thức
cố định a(x) cho trước, a(x) = {03}x3 + {01}x2 + {01}x + {02}. Phép
nhân này có thể viết dưới dạng phép nhân ma trận:
Kết quả của phép nhân trên là bốn byte trong cột
được thay thế 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
Hình 13 mô tả phép biến đổi
MixColumns ().
Hình 13 - MixColumns () thao tác trên Trạng
thái, thay cột bằng cột khác
5.2.4.7. Phép biến đổi
MixColunms-1 ()
MixColumns-1 () là phép biến
đổi nghịch đảo của phép biến đổi MixColumns (). MixColumns-1 () thao tác
trên Trạng thái, thay mỗi cột bằng cột khác. Phép biến đổi này có thể biểu diễn
dưới dạng phép nhân ma trận, ở đấy mỗi byte được coi như một phần tử của trường hữu
hạn GF(28):
Kết quả của phép nhân là bốn byte
trong mỗi cột được thay thế như sau:
5.2.4.8. Phép biến đổi AddRoundKey ()
...
...
...
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
[s'0,c,
s'1,c, s'2,c, s'3,c]
= [s0,c, s1,c, s2,c,
s3,c] Å
[w(4*i+c)] với 0 ≤ c ≤
4
Ở đây, với 0 ≤ c ≤ 4 và w(4*i+c) là các từ của lược đồ
khóa thứ c của khóa vòng thứ i Wi = [w(4*i), w(4*i+1), w(4*i+2), w(4*i+3)] và i là giá trị
thuộc khoảng 0
≤ I ≤
Nr. Trong phép mã hóa, phép cộng
khóa vòng ban đầu xảy ra khi i
= 0, trước ứng dụng thứ nhất của hàm vòng. Việc áp dụng phép biến đổi
AddRoundKey () cho Nr vòng của
phép mã hóa xảy ra khi 1 ≤ i ≤ Nr.
Hoạt động của phép biến đổi
AddRoundKey (), được minh họa trên Hình 14. Địa chỉ byte trong các từ của lược
đồ khóa được mô tả trong 5.2.5
Hình 14 - AddRoundKey () cộng bit XOR từng cột của
Trạng thái với mỗi từ lấy từ lược đồ khóa
5.2.5. Lược đồ khóa
AES
Thuật toán AES nhận khóa mật mã K
và thực hiện thủ tục mở rộng khóa để
tạo ra lược đồ khóa. Việc mở rộng khóa tạo ra tổng cộng 4(Nr + 1) từ:
Thuật toán đòi hỏi tập khởi đầu
gồm 4 từ, và mỗi vòng Nr vòng đòi hỏi 4 từ dữ liệu khóa. Lược đồ
khóa nhận được là một mảng tuyến
tính gồm các từ 4-byte, kí hiệu là wj, với j nằm trong khoảng 0 ≤
j
<
4(Nr + 1).
Việc mở rộng khóa đầy đủ cho
AES-128 và AES-192 có thể được mô tả
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
Phép mở rộng khóa đầy đủ cho AES-256
có thể được mô
tả như sau:
Trong phép toán trên K0 và K1 biểu thị hai
nửa của khóa mật mã
K256-bit.
5.3. Camellia
5.3.1. Thuật toán
Camellia
Thuật toán Camellia là mã đối xứng có thể xử
lí các khối 128 bit, sử dụng khóa mật mã độ dài 128,192 và 256 bit. Giao diện
cũng tương tự như của thuật toán AES.
5.3.2. Phép mã hóa Camellia
5.3.2.1. Khóa 128-bit
Quá trình mã hóa với khóa 128 bit làm
việc trên 18 vòng, được chỉ ra trên Hình 15. Phép biến đổi khối 128-bit P vào khối
128-bit C được xác định
như sau (L và R là các biến với độ dài 64-bit, kw, k và kl là các khóa vòng độ dài
64-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
Hình 15 - Thủ tục mã hóa của Camellia
cho khóa 128 bit
5.3.2.2. Khóa 192-bit và 256-bit
Quá trình mã hóa với khóa
192
bit
hoặc khóa 256-bit làm việc trên 24 vòng, được chỉ ra trên Hình 16. Phép biến đổi
khối 128 bit P vào khối
128-bit C được định
nghĩa như sau (L và R là các biến độ dài 64 bit, kw, k
và kl là các khóa vòng 64 bit):
5.3.3. Phép giải mã
Camellia
5.3.3.1. Khóa 128-bit
Quá trình giải mã cho khóa
128 bit được chỉ ra trên Hình 17, và cũng giống như trong phép giải mã, chỉ khác là
vị trí và thứ tự các khóa vòng được đảo lại.
Phép giải mã được xác đị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
Hình 16 - Thủ tục mã
hóa Camellia cho khóa 192 và 256 bit
Hình 17 - Thủ tục
giải mã Camellia cho khóa
128 bit
5.3.3.2. Khóa 192 và
256 bit
Quá trình giải mã cho khóa
192 bit và 256 bit
được chỉ ra trên Hình
18, và là như nhau trong phép mã hóa, chỉ khác là vị trí và thứ tự các khóa vòng được
đảo lại.
Phép giải mã được xác định như sau:
5.3.4. Các hàm
Camellia
...
...
...
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
Thuật toán Camellia sử dụng một số
hàm, cụ thể là các hàm F, FL, FL-1 và các
S-box.
5.3.4.2. F-hàm
F-hàm được chỉ ra trên Hình 19. F-hàm
bao gồm phép toán cộng
bit XOR, tiếp đó áp dụng tám S-box song song kích thước 8x8 bit, tiếp theo tầng
khuếch tán (P-hàm). xj, yj, zj, z'j là các biến, mỗi
biến 8 bit; các biến Li, ki, L'i là các biến
64 bit. Đầu vào 64 bit Li trước hết được cộng
XOR với khóa vòng 64-bit ki, sau đó được chia
thành 8 đoạn 8-bit yj, như sau:
y1║y2║y3║y4║y5║y6║y7║y8║
= Li Å ki
ở đây,
Li = x1║x2║x3║x4║x5║x6║x7║x8║
Mỗi yj sau đó được
đi qua S-box kích thước 8x8 bit st để đưa ra 8 phân đoạn
độ dài 8 bit zj, ở đây
z1 = s1[y1],
z2 = s2[y2], z3
= s3[y3], z4 = s4[y4],
z5 = s2[y5], z6
= s3[y6], z7 = s4[y7],
z8 = s1[y8].
8 phân đoạn 8-bit zj được tác động
bởi P-hàm, là lớp khuếch
tán cho ra 8 phân đoạn 8-bit z'j, 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
Hình 18 - Thủ tục giải
mã Camella cho khóa 192 và 256 bit
Hình 19 - F-hàm
P-hàm có thể được biểu diễn cách khác,
dưới dạng véc tơ ma trận như sau:
ở đây:
Sau đó đầu ra 64-bit của F-hàm L'i
được thiết lập bằng cách ghép các biến 8-bit z'j:
...
...
...
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.3.4.3. FL-hàm
FL-hàm được chỉ ra trên Hình
20. FL-hàm được xác định
như sau (X và Y là dữ liệu
64-bit, kl là khóa vòng
64 bit, XL, XR, YL, YR,
kliL, kliR có độ
dài 32-bit)
Hình 20- Hàm
FL
5.3.4.4. FL-1-hàm
FL-1-hàm được chỉ ra trên Hình 21. FL-1-hàm được xác
định như sau (X và Y
là dữ liệu 64-bit, kl là khóa vòng, XL, XR, YL,YR, kliL, kliR có độ dài
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
Hình 21 - FL-1-hàm
5.3.4.5. Các S-box
5.3.4.5.1. Các S-box s1 đến s4.
S-box s1, s2,
s3 và s4 được đưa ra
tại các Điều khoản con dưới đây. Các S-box này nhận đầu vào 8-bit và cho đầu ra
8-bit, có thể được mô
tả dưới dạng đại số đơn giản. Dạng đại số của s1, được cho tại Điều
C.3.
5.3.4.5.2. S-box
s1
s1
được đưa ra như sau:
s1: y = h(g(f(c5Åx)))Å
6e
ở đây các phép toán f,
g và h nhận đầu và 8-bit a = a1║a2║a3║a4║a5║a6║a7║a8,
và cho các giá trị đầu
ra 8-bit b = b1║b2║b3║b4║b5║b6║b7║b8, ở
đây ai và bi
là các giá trị 1-bit, f là hoán vị
affine của đầu vào, g là phép
nghịch đảo trên trường GF(28) và h là
phép
biến đổi afine của đầu
ra.
Ví dụ, đầu vào của s1 là {53}, thì
giá trị thay thế có thể được xác định bởi giao của dòng ‘5’ và cột ‘3’ trên Bảng 7, kết
quả cho giá trị s1 = {c2}.
...
...
...
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.3.4.5.3. S-box s2
s2 được chỉ ra trên Bảng
8 và có cấu trúc như sau:
s2: y = s1(x) <<<1.
5.3.4.5.4. S-box s3
s3 được chỉ ra trên Bảng 9
và có cấu trúc như sau:
s3: y = s1(x)<<<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
s4 được chỉ ra trên Bảng 10 và có cấu
trúc như sau:
s4: y = s1
(x<<<1).
5.3.5. Lược đồ tạo khóa
Camellia
Lược đồ tạo khóa được chỉ ra trên Hình
22 và các Bảng 12 và 13. Với phiên bản 128 bit khóa, khóa K là khóa 128-bit KL, khóa
128-bit KR được đặt tất cả
các bit bằng 0, như vậy:
K = KL KR = 0
Với phiên bản 192 bit khóa,
khóa K là khóa 128-bit KL và 64 bit trái nhất KR, KRL, với 64 bit
phải nhất KR, KRR được đặt phủ định
theo từng bit của 64 bit trái nhất của KR và KRL. Như vậy,
K = KL║KRL, KRR
= , KR = KRL║KRR
Với phiên bản 256 bit, khóa K là khóa 128-bit
KL và khóa
128-bit KR. Như vậ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
Lược đồ tạo khóa sử dụng F-hàm của
mô-đun mã hóa, và là giống nhau cho cả phép mã hóa và giải mã. Khóa K được mã bằng các
phương tiện của F-hàm, sử dụng các hằng của lược đồ tạo khóa, ở
đấy các hằng åi, được xác định
như những giá trị liên tục từ
biểu diễn trong hệ Hexa của căn bậc hai số nguyên tố thứ i. Tiếp đó các
khóa vòng được tạo, một phần tử những giá trị được dịch vòng của khóa K (ở đây K bằng KL,
K = KL║KRL or KL║KR tương ứng với
phiên bản khóa 128-bit, 192-bit hoặc 256- bit) và phần còn lại từ các giá trị được dịch
vòng của các khóa
“được mã hóa” KA và KB (ở đây KA, KB có độ dài 128
bit).
Hình 22 - Phần chính của lược đồ
khóa
Đối với phiên bản khóa
128-bit, đầu ra của phần chính của lược đồ tạo khóa là khóa con 128-bit KA, tương ứng bỏ
qua phía phải của hình 22 và khóa KB không được tạo
ra hoặc không được sử dụng. Đối với phiên bản khóa 192-bit và 256-bit,
đầu ra của phần chính
của lược đồ tạo khóa là khóa con 128 bit KA và với khóa
con 128-bit KB. Lược đồ tạo khóa bao gồm hai hoặc ba
phép toán 2-vòng cho các phiên bản khóa 128 bit hoặc 192/256 bit tương ứng. Mỗi
phép toán 2 vòng được "khóa
hóa" bằng một cặp hằng åi.
Đầu vào 128-bit của phép toán 2-vòng
thứ nhất nằm bên trái của Hình 22 là KLÅKR và phép toán
này được "khóa hóa" bởi hai hằng
64-bit å1 và å2. Tiếp đó đầu
ra 128-bit từ phép toán 2-vòng thứ nhất được cộng bit XOR với KL trước khi là đầu vào của
phép toán 2-vòng thứ hai ở bên trái
Hình 22. Phép toán 2-vòng thứ hai này được "khóa hóa" bởi các hằng 64 bit là å3 và å4. Đầu ra
128-bit của phép toán 2-vòng thứ hai là KA. Với các
phiên bản khóa 192-bit hoặc 256-bit thì sau đó KA lại được XOR
với khóa con 128-bit trước khi kết quả thu được làm đầu vào của phép toán
2-vòng thứ ba được chỉ ra ở phía phải của Hình 22. Phép toán 2-vòng thứ ba này được "khóa hóa" bởi hai hằng 64
bit là å5 và å6. Đầu ra 128 bit
của phép toán 2-vòng thứ ba này là KB.
Phép toán lập lược đồ tạo khóa đầy đủ
được mô tả như sau (Ka, KA và KB có độ dài 128 bit):
ở đây đầu vào 128-bit cho 2RoundFeistel là
tách thành hai phần 64-bit L0║R0 đầu ra 128-bit từ 2RoundFeistel
cũng được tách thành hai phần 64 bit L2║R2 và cả hai đầu vào "khóa vòng" 64-bit của
2RoundFeistel là åi và åi+1.
2RoundFeistel được mô tả
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ác hằng của lược đồ khóa 64-bit được
xác định trên Bảng 11
Cuối cùng, các khóa vòng 64-bit, k,
kw,và kl được dẫn xuất
từ các khóa con 128-bit, KL, KR, KA
và
KB.
Bảng 12 dành cho phiên bản 128-bit và
Bảng 13
- phiên
bản 192 hoặc 256-bit
Bảng 12 - Khóa vòng
cho khóa bí mật 128 bit
Bảng 13 - Khóa vòng cho
khóa bí mật
192/256
bit
5.4. SEED
...
...
...
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
Thuật toán SEED là mã khối đối xứng có
thể xử lí khối dữ liệu 128 bit, sử dụng khóa mật mã độ dài 128 bit.
5.4.2. Phép mã hóa SEED
Phép toán mã hóa được chỉ ra trên Hình 23. Phép
biến đổi khối dữ liệu 128-bit P thành khối dữ liệu 128-bit C được xác định
như sau (K là khóa):
Hình 23 - Cấu trúc của
SEED
5.4.3. Phép giải mã SEED
Giải mã cũng giống như phép mã hóa đã
mô tả ở trên, chỉ khác là các
vòng (và các khóa con) được sử dụng theo thứ tự ngược lại để tính (L0, R0) từ (R16, L16)
5.4.4. Các hàm của SEED
...
...
...
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 vòng F chỉ ra trên Hình
24 và được định nghĩa như sau (C và D là dữ liệu, K là khóa)
Hình 24 - Hàm vòng F
5.4.4.2. Hàm G
Hàm G chỉ ra trên Hình 25 có hai tầng:
một tầng của hai S-box
kích thước 8x8 và một tầng hoán vị khối của 16 khối con 8 bit.
Đầu ra a', b', c', d' của
hàm G với bốn đầu vào 8-bit a, b, c, d được xác đị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
Hình 25 - Hàm G
5.4.4.3. S-box
Hai S-box S1, S2 là một phần
của hàm G và được định nghĩa như sau:
Trong đó n1 = 247, n2 = - 251, b1 = 169, b2 = 56 và
Lưu ý rằng A(i) • Å bi là phép biến
đổi afine của . Với x bất kì thuộc , x có thể biểu
diễn dưới dạng véc tơ nhị phân x = (x7,...,x0) (do đó x = x727 + x626
+...+
x12 + x0). Chúng ta sử dụng đa thức
nguyên thủy p(x) = x8 + x6 +...+ x + 1 để biểu
diễn lại trong .
Các S-box S1 và S2 được mô tả tại
Bảng 14 và 15.
...
...
...
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ảng 15 - S2
- hộp
5.4.5. Lược đồ tạo khóa SEED
Lược đồ tạo khóa tạo
các khóa con cho mỗi vòng. Lược đồ khóa sử dụng hàm G, các phép cộng/trừ và các
phép dịch vòng (sang
trái/ sang phải). Khóa đầu
vào 128-bit được chia thành thành bốn khối 32- bit (a, b, c,
d) và hai khóa con 32-bit của vòng thứ nhất k1,0 và k1,1 được tạo như
sau:
k1,0 = G(a
+ c - KC0), k1,1 = G(b + kC0 - d)
Hai khóa con 32-bit của vòng thứ hai, k2,0 và k2,1 được tạo từ
khóa đầu vào bằng cách dịch vòng 64 bit đầu tiên (a║b) sang phải 8-bit như
sau:
Hai khóa con của vòng thứ ba, k3,0 và k3,1 được tạo từ
khóa đầu vào bằng cách dịch vòng 64-bit cuối cùng (c║d) sang trái
8-bit 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ác khóa con còn lại được tạo theo
phương pháp lặp như sau:
(1) với i =1 đến 16
Ở đây các hằng KCi (được mô tả ở Bảng 16) được tạo từ
một phần của tỉ số vàng
Bảng 16 - Các hằng KCi (ở dạng Hexa
thập phân)
PHỤ
LỤC A
(Quy định)
...
...
...
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.1. Mở đầu
Thuật toán DES là mã khối đối
xứng có thể xử lí các khối dữ liệu 64 bit, sử dụng khóa bí mật độ dài
64 bit. Mỗi bit thứ tám của khóa
mật mã thường được sử dụng để kiểm tra tính chẵn lẻ và được bỏ qua.
A.2. Phép mã hóa
DES
Phép mã hóa được chỉ ra
trên Hình A.1
Bản rõ 64-bit trước hết được biến đổi
qua hoán vị ban đầu IP. Sau đó khối
được chia thành hai nửa L0 và R0, mỗi nửa gồm
32 bit. Tiếp đó thực hiện 16
vòng biến đổi giống nhau
được gọi là hàm f, trong đó dữ liệu được kết hợp với khóa. Trong mỗi vòng, nửa phải là đầu
vào của hàm f được
khóa hóa, hàm này nhận đầu vào 32 bit và khóa con 48 bit Ki
và cho đầu ra 32-bit. Đầu ra này tiếp đó được XOR với nửa trái để tạo ra nửa trái mới
đã được biến đổi. Tại phần cuối của mỗi vòng, trừ vòng cuối cùng, hai nửa trái
và phải đổi chỗ cho nhau để tạo ra Li và Ri tương ứng.
Sau khi thực hiện vòng cuối cùng, hai nửa trái và phải được ghép lại với nhau
và khối 64-bit nhận
được lại được biến đổi qua
phép hoán vị cuối IP-1 là hoán vị nghịch đảo của hoán vị
ban đầu IP. Đầu ra là bản mã 64-bit.
Phép mã hóa được xác định như sau (P và C là dữ liệu, Ki
khóa).
A.3. Phép giải mã
DES
Phép giải mã cũng giống như phép mã
hóa. Sự khác nhau chỉ ở chỗ, các
khóa con Ki được sử dụng theo thứ tự ngược lạ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
A.4.1. Phép hoán vị
ban đầu IP
Phép hóa vị ban đầu IP được chỉ ra
tại Bảng A.1. Hoán
vị này nhận đầu vào 64-bit và cho đầu ra
64-bit, theo đó bit thứ nhất được hoán vị thành bit thứ 58, bit thứ hai thành bit thứ
50, v.v, bit cuối
cùng thành bit thứ 7.
Bảng A.1 - Hoán vị khởi tạo
Hình A1 - Thủ tục mã hóa
A.4.2. Hoán vị nghịch
đảo IP-1
Hoán vị nghịch đảo IP-1 được chỉ ra
trên Bảng A.2, nhận đầu vào 64-bit và cho đầu ra 64-bit. Đầu ra của Thuật toán
nhận bit thứ 40 của khối đầu ra trước đó làm bit thứ nhất, bit thứ
8 làm bit thứ hai,
v.v
và bit thứ 25 của khối đầu ra trước đó làm bit cuối cù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
A.4.3. Hàm f
Hàm f được chỉ ra trên
Hình A.2
Hàm f nhận đầu vào 32 bit R và
mở rộng thành R' có độ dài 48-bit bằng cách sử dụng phép hoán vị mở rộng E.
Sau đó 48-bit R' được XOR với
khóa con 48-bit K, thu được dữ liệu 48-bit, dữ liệu này được viết
thành 8 khối, mỗi khối 6-bit, bằng cách chọn các bit đầu vào của nó theo một
thứ tự được qui định trên bảng. Các hàm được chọn duy nhất đó được gọi là các S - hộp, S1, S2,…,
S8, nhận đầu vào
là các
khối 6-bit ri và cho đầu
ra là các khối
4-bit Si(ri).
Hàm hoán vị P cho đầu ra
32-bit R''''
từ
đầu vào 32-bit R''' bằng cách
hoán vị các bit của
khối đầu vào. R'''' là đầu ra của
hàm f.
Hàm f do đó được xác định
như sau (P
và
C
là dữ liệu, Ki là khóa)
Hình A.2 - Tính f(R, K)
A.4.4. Hoán vị mở rộng E
...
...
...
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ảng A.3 - Hoán vị mở rộng E
A.4.5. Hoán vị P
Hoán vị P được chỉ ra trên Bảng
A.4. Hoán vị P nhận đầu vào
32-bit và cho đầu ra 32-bit. Đầu ra P(L) của hàm P được xác định bởi Bảng A.4,
thu được từ đầu vào L bằng cách lấy bit thứ 16 của L
làm bit thứ nhất của P(L),
bit thứ bảy làm bit thứ
hai của P(L), v.v và bit thứ
25 của L
làm bit thứ 32 của P(L).
Bảng A.4 - Hoán vị P
A.4.6. S-box
S-box được chỉ ra trên Bảng
A.5. Mỗi S-box có 6- bit đầu
vào và 4-bit đầu ra.
Nếu S1 là hàm được
xác định trên bảng và B là khối 6-bit, thì S1(B)
được xác định như sau: các bit đầu tiên và cuối cùng của B được
biểu diễn theo cơ số 2 là một số nằm trong khoảng từ 0 đến 3. Giả sử số đó là i. Bốn
bit giữa của B
được biểu diễn theo cơ số 2 là số nằm trong khoảng từ 0 đến 15. Giả sử số đó là j.
Trên bảng đó là số nằm
trên hàng thứ i và cột thứ j.
Đó là số nằm
trong khoảng từ 0 đến 15,
và được biểu diễn duy nhất bởi khối 4-bit. Khối này là đầu ra S1(B)
của S1 ứng với
đầu vào B. Ví dụ, với đầu vào 011011, hàng được biểu diễn bởi 01 là hàng 1, cột
được xác định bởi 1101 là cột 13. Nằm
trên giao của hàng 1 và cột 13 là số 5, do đó đầu ra là 0101.
...
...
...
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.5. Lược đồ tạo
khóa DES
Phần lược đồ khóa DES được chỉ ra trên Hình
A.3. Lược đồ này nhận khóa 64-bit khóa
KEY và cho ra 16 khóa con 48-bit K1, K2,……, K16.
Trong đó Kn,
với 1 ≤ n < 16 là khối 48-bit
trong bước (2) của thuật toán. Bởi vậy để mô tả KS chỉ cần mô tả việc
tính toán của Kn
từ KEY với n = 1,2..., 16.
Việc tính toán này được mô tả trên Hình A.3. Do đó để xác định đầy đủ KS,
chỉ cần mô tả hai lựa chọn hoán vị, cũng giống như lược đồ chuyển dịch sang trái. Một bit
trong byte 8-bit của KEY có thể được khởi động để
phát hiện lỗi trong tạo khóa, phân phối và lưu trữ khóa. Các bit 8, 16,…, 64 được sử dụng
để bảo đảm là mỗi byte có tính chất lẻ.
Lựa
chọn
hoán vị 1 được xác định bởi Bảng A.6
Bảng A.6 - Hoán vị khóa
PC-1
Bảng trên được chia
thành
hai phần, phần thứ
nhất xác định cách chọn các bit trong C0, phần thứ
hai
xác
định cách chọn các bit trong D0. Các bit của KEY
được đánh số từ
1
đến 64.
Các
bit
trong
C0 tương ứng là
57, 49, 41,…,
44 và 36 của KEY,
còn các bit trong D0 là các bit 63, 55, 47,.., 12 và 4 của KEY. Với C0 và D0 đã xác định,
có thể xác định được Cn và Dn
từ Cn-1 và Dn-1, tương ứng với
n = 1, 2,..., 16. Điều này đạt được bằng cách tuân thủ vào lược đồ phép
dịch sang trái các khối riêng lẻ sau:
Bảng A.7 - Số các bit khóa
được dịch chuyển của mỗi vò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
Số lần dịch trái
1
1
2
1
3
2
4
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
2
6
2
7
2
8
2
Số lần lặp
Số lần dịch trá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
1
10
2
11
2
12
2
13
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
2
15
2
15
1
Ví dụ, C3 và D3 thu được từ C2 và D2 tương ứng bằng
hai dịch chuyển sang trái, và C16 và D16 thu được từ C15 và D15 tương ứng bằng một
lần dịch sang trái. Trong tất cả các trường hợp, việc dịch một lần sang trái được
hiểu là dịch các bit
sang trái một vị trí sao cho
sau một lần dịch các bit ở 28 vị trí là các bit
trước đó ở vị trí 2,
3,..., 28,
1.
Việc chọn hoán vị 2 được xác định trên Bảng A.8
Bảng A.8 - Hoán vị
nén PC-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
Hình A.3 - Tính toán lược
đồ khóa
PHỤ
LỤC B
(Quy định)
ĐỊNH DANH ĐỐI TƯỢNG
Phụ lục này liệt kê các định đanh đối
tượng được gán cho các Thuật toán đã được mô tả trong tiêu chuẩn này của bộ TCVN
11367 (ISO/IEC 18033).
CHÚ THÍCH
Trong các ứng dụng, nơi tổ hợp
các thuật toán được sử dụng để cung cấp dịch vụ an
toàn hoặc khi thuật toán được tham số hóa bằng sự lựa chọn tổ hợp các thuật
toán khác thì tổ hợp này có thể được xác
định như là dãy các định danh đối
tượng được gán cho các thuật toán này hoặc bao gồm cả các định đanh của các thuật toán ở
tầng thấp hơn (ví dụ bằng việc
xác định định danh đối tượng của cơ chế bọc khóa như
một tham số trong cấu trúc định danh thuật
toán xác định thuật toán mã hóa lai). Cấu trúc định danh thuật toán được xác định trong ISO/IEC
9594-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
PHỤ
LỤC C
(Quy định)
DẠNG ĐẠI SỐ CỦA MISTY1 VÀ CÁC S-BOX CAMELLIA
C.1. Mở đầu
Trong MISTY1 và các thuật
toán Camellia, các S-box có thể được mô tả tương ứng bằng các dạng đại số sau
đây.
C.2. S-box trong
MISTY1
C.2.1. Các S-box S7 và S9
...
...
...
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
Ví dụ, nếu đầu vào của S7 là {53},
khi đó X = (x6, x5, x4, x3, x2, x1, x0) = (1, 0, 1,
0, 0,
1,
1). Giá trị thay thế có thể lấy bằng dạng đại số trên Hình C.1 và từ Y =
(y6, y5, y4, y3, y2, y1, y0) = (1, 0, 1, 0, 1, 1, 1). Kết quả
cho ta giá trị S7 = {57}
C.2.2. MISTY1 S-box S7
Bảng C.1 - Dạng đại số
của S7
C.2.3. MISTY1 S-box S9
Bảng C.2 - Dạng đại số
của S9
...
...
...
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. Các S-box
Camellia
Điều này mô tả các dạng đại
số trên trường GF(28) của S-box trong Thuật toán Camellia.
s1 được cho như sau (đầu
vào là x và đầu ra là
y):
s1: y
= h(g(f(c5Åx)))Å 6e
Ở đây các phép toán f, g và h nhận đầu vào 8-bit a = a1║a2║a3║a4║a5║a6║a7║a8║
và
8-bit đầu ra b = b1║b2║b3║b4║b5║b6║b7║b8║, ai và bi là các giá trị
1-bit, f là hoán vị affine của đầu
vào, g là phép nghịch đảo trên trường GF(28) và h là biến đổi afine của
đầu ra.
Trong phương trình trên, các phép toán
f, g và h được mô tả dưới dạng đại số như sau:
f:
g:
...
...
...
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à phép nghịch đảo trong
trường GF(28), giả thiết = 0, ở đây b là phần tử trong
trường GF(28) thỏa mãn điều kiện b8 + b6 + b5 + b3 + 1= 0 và a = b238 = b6 +b5 +b3 + b2 là phần tử trong
trường GF(24) thỏa mãn a4 + a + 1 = 0
h:
PHỤ
LỤC D
(Tham khảo)
VÉC TƠ KIỂM TRA
D.1. Mở đầu
Phụ lục này cung cấp các véc tơ kiểm
tra cho TDEA, MISTY1, CAST-128, HIGHT, AES, Camellia và SEED. Trong các ví dụ này, tất
cả dữ liệu được biểu diễn dưới dạng Hexa.
...
...
...
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.2.1. Mã hóa TDEA
Với đầu vào đã cho (bản rõ và
khóa), đầu ra (bản mã) được mô tả như sau:
Bảng D.1 - Các ví dụ của
mã hóa TDEA
D.2.2. Mã hóa và giải
mã
DES
D.2.2.1. Đầu vào và
khóa đầu ra
Đầu vào và đầu ra của mỗi thuật toán
DES được mô tả với các khóa
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ảng D.2 - Ví dụ thứ nhất
của phép mã hóa TDEA
Bảng D.3 - Ví dụ thứ hai của phép mã hóa TDEA
Bảng D.4 - Ví dụ thứ ba
của phép mã hóa TDEA
D.2.2.3. Phép giải mã
TDEA (DES giải mã - mã hóa - giải mã)
Bảng D.5 - Ví
dụ thứ nhất của phép mã hóa TDEA
...
...
...
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ảng D.6 - Ví dụ thứ
hai của phép mã hóa TDEA
Bảng D.7 - Ví dụ thứ ba
của phép mã hóa TDEA
D.3. Véc tơ kiểm
tra MISTY1
Với đầu vào đã cho (bản
rõ và khóa), đầu ra (bản mã và khóa con) được mô tả như sau:
Bảng D.8 - Ví
dụ của phép mã hóa
MISTY1
...
...
...
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
Với đầu vào đã cho (bản rõ và khóa), đầu
ra (bản mã) được mô tả như sau:
Bảng D.9 - Ví dụ
của phép mã hóa
CAST-128
D.5. Véc tơ kiểm
tra HIGHT
Bảng D.10 - Ví
dụ của phép mã hóa HIGHT
D.6. Véc tơ kiểm
tra AES
D.6.1. Mã hóa AES
D.6.1.1. Mở đầ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
D.6.1.2. Khóa 128 bit
Bảng D.11 - Ví dụ của phép
mã hóa AES với 128 bit khóa
D.6.1.3. Khóa 192 bit
Bảng D.12- Ví
dụ của phép mã hóa với 192 bit khóa
D.6.1.4. Khóa 256 bit
Bảng D.13 -
Ví dụ của phép mã hóa
với 256 bit khóa
...
...
...
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ều này chỉ ra sự phát triển của việc
sử dụng lược đồ khóa
Các giá trị trung gian của khóa được
đưa sinh ra trong quá trình phát triển của lược đồ khóa như sau (tất
cả các được định dạng Hexa, trừ cột chỉ số (I)).
Bảng D.14 -
Ví dụ mở rộng của
khóa
D.6.3. Ví dụ mật mã
Biểu đồ sau chỉ ra các giá trị mảng Trạng
thái như một tiến trình mật mã cho
mỗi khối, khóa mật mã 16 byte.
...
...
...
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ác giá trị vòng khóa được
lấy từ ví dụ mở rộng khóa trong D.6.2
Bảng D.15 -
Ví dụ mật mã
D.7. Véc tơ
kiểm tra Camellia
D.7.1. Mở đầu
Với đầu vào đã cho (bản rõ và khóa), đầu
ra (bản mã và khóa con) được mô tả như sau:
D.7.2. Phép mã hóa
Camellia
...
...
...
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ảng D.16 -
Ví dụ của phép mã hóa
Camellia với 128 bit khóa
D.7.2.2. Khóa 192 bit
Bảng D.17 -
Ví dụ của phép mã hóa
Camellia với 192
bit khóa
D.7.2.3. Khóa 256 bit
Bảng D.18 -
Ví dụ của phép mã hóa Camellia với 256 bit khóa
...
...
...
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.8. Véc tơ kiểm
tra SEED
Bảng D.19 -
Ví dụ của phép mã hóa
SEED
...
...
...
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
(Tham khảo)
BẢNG ĐẶC TÍNH
TT
Tên thuật
toán
Đặc tính
Các tiêu
chuẩn
1
TDEA
[4]
...
...
...
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
· Chuẩn công nghiệp ngân hàng
· ANSI X9.52, FIPS46-3
· Thuật toán chính phủ điện tử Nhật Bản
(CRYPTREC)-chỉ dùng 3-khóa
2
MISTY1
[11]
· Phần cứng giới hạn
· Thuật toán đa nền tảng (Hiệu năng phần
mềm tốt trên các nền tảng khác
nhau)
...
...
...
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
· IETF RFC 2994
· Thuật toán chọn NESSIE
· Thuật toán chính phủ điện tử Nhật Bản
(CRYPTREC)-chỉ dùng
3-khóa
3
CAST-128
[8]
· Thuật toán đa nền tảng (Hiệu năng phần
mềm tốt trên các phông khác nhau)
· [Hiệu năng phần cứng không được bên
thứ ba đánh giá]
...
...
...
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ật mã chính phủ điện tử Canada
4
HIGHT
[7],[10]
· Mã hóa tốc độ cao với phần
cứng giới hạn
· Chuẩn công nghiệp Hàn quốc
(TTAS.KO-12.0040)
5
AES
[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
· Thuật toán đa nền tảng (Hiệu
năng phần mềm tốt trên các nền tảng khác nhau)
· FIPS 197
· Thuật toán chọn NESIE
· Thuật toán chính phủ điện tử Nhật Bản
(CRYPTREC)
6
Camellia
[9]
· Phần cứng giới 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
· Giao diện giống như AES
· IETF RFC 3657, 3713
· Thuật toán chọn NESIE
· Thuật toán chính phủ điện tử Nhật
Bản
(CRYPTREC)
7
SEED
[6]
· Tốc độ xử II phần mềm modem 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
· IETF RFC 4269 (xem RFCs 4010, 41622451, và 4196 sử dụng
trong S/MINE, TLS và IPsec)
· Thuật toán công nghiệp Hàn Quốc (TTAS.KO.12-0004)
· Thuật toán chính phủ điện
tử Hàn Quốc
THƯ MỤC TÀI
LIỆU THAM KHẢO
[1] ANSI X9.52-1998: Triple Data
Encryption Algorithm Modes of Operation, 1999
[2] FIPS197: Advanced Encryption Standard
(AES), November 26, 2001
[3] ISO/IEC JTC 1/SC 27 Standing
Document No.
12
(SD12) on the Assessment of Cryptographic Algorithms and Key-Lengths
[4] ISO/IEC 9594-8, Information
technology — Open Systems Interconnection — The Directory: Public-key and
attribute certificate
frameworks
...
...
...
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] ISO/IEC 18033-1, lnformation
technology — Security techniques — Encryption algorithms — Part 1: General
[7] TTAS.KO-12.0004: A 128-bit Block
Encryption Algorithm Standard, Telecommunication Technology Association, 1999
[8] TTAS.KO12.0040/R1: 64-bit
Block Cipher MIGHT, Telecommunication Technology Association, 2009
[9] C. Adams, "Constructing Symmetric
Ciphers Using the CAST Design Procedure", Designs, Codes and
Cryptography, vol.12, no.3, pp.283-316, November 1997
[10] K. Aoki, T. Ichikawa, M. Kanda,
M. Matsui, S. Moriai, J.
Nakajima and T. Tokita, "The 128-Bit
Block Cipher Camellia", IEICE
Transaction, vol.E85-A, no.1,
pp.11-24, January 2002
[11] D. Hong, J. Sung, S. Hong, J.
Lim, S. Lee, B. Koo, C. Lee, D.
Chang, J. Lee, K. Jeong, H. Kim, J. Kim and S. Chee, "HIGHT: A New Block Cipher
Suitable for Low-Resource Device", Proceedings of the 8th Cryptographic
Hardware and Embedded Systems Workshop,
Lecture Notes in Computer Science 4249, Springer-Verlag, pp.46-59, 2006
[12] M. Matsui, "New Block Encryption
Algorithm MISTY", Proceedings
of the 4th Fast Software Encryption Workshop, Lecture Notes in Computer Science
1267, pp.54-68, 1997
MỤC LỤ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
1. Phạm vi áp dụng
2. Thuật ngữ và định nghĩa
3. Các ký hiệu
4. Mã khối 64 bit
4.1. Mở đầu
4.2. TDEA
4.3. MISTY1
4.4. CAST-128
4.5. HIGHT
...
...
...
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. Mở đầu
5.2. AES
5.3. Camellia
5.4. SEED
Phụ lục A (Quy định) Mô tả DES
A.1. Mở đầu
A.2. Mã hóa DES
A.3. Phép giải mã DES
A.4. Các hàm DES
...
...
...
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 (Quy định) Định danh đối tượng
Phụ lục C (Quy định)
Dạng đại số của các S-box
trong Thuật toán MISTY1 và Camellia
C.1. Mở đầu
C.2. S-box trong MISTY1
C.3. Các S-box Camellia
Phụ lục D (Tham khảo) Véc tơ kiểm tra
D.1. Mở đầu
D.2. Véc tơ kiểm tra TDEA
D.3. Véc tơ kiểm tra MISTY1
...
...
...
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.5. Véc tơ kiểm tra HIGHT
D.6. Véc tơ kiểm tra AES
D.7. Véc tơ kiểm tra Camellia
D.8. Véc tơ kiểm tra SEED
Phụ lục E (Tham khảo) Bảng đặc tính
Thư mục tài liệu tham khảo