Dịch vụ đăng ký cấp Tiêu chuẩn Việt Nam TCVN11367-3:2016 xin vui lòng liên hệ: 0904.889.859 – 0988.35.9999 
[ad_1]

Nội dung toàn văn Tiêu chuẩn quốc gia TCVN 11367-3:2016 (ISO/IEC 18033-3:2010) về Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã – Phần 3: Mã khối


TIÊU CHUẨN QUỐC GIA

TCVN 11367-3:2016

ISO/IEC 18033-3:2010

CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – THUẬT TOÁN MẬT MÃ – PHN 3: MÃ KHỐI

Information technology – Security techniques – Encryption algorithms Part 3: Block ciphers

Lời nói đầu

TCVN 11367-3:2016 hoàn toàn tương đương với ISO/IEC 18033-3:2010.

TCVN 11367-3:2016 do Cục Quản lý mật mã dân sự và Kiểm định sn phẩm mật mã biên soạn, Ban Cơ yếu Chính phủ đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm đnh, Bộ Khoa học và Công nghệ công bố.

Bộ tiêu chuẩn TCVN 11367 Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã gồm 04 phần:

TCVN 11367-1:2016 (ISO/IEC 18033-1:2015) Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã – Phần 1: Tổng quan.

TCVN 11367-2:2016 (ISO/IEC 18033-2:2006) Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã – Phần 2: Mật mã phi đối xứng.

TCVN 11367-3:2016 (ISO/IEC 18033-3:2010) Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã – Phần 3: Mã khối.

TCVN 11367-4:2016 (ISO/IEC 18033-4:2011) Công nghệ thông tin – Các kỹ thuật an toàn – Thuật toán mật mã – Phần 4: Mã dòng.

 

CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – THUẬT TOÁN MẬT MÃ – PHN 3: MÃ KHỐI

Information technology – Security techniques – Encryption algorithms Part 3: Block ciphers

1. Phạm vi áp dụng

Tiêu chuẩn này đặc tả các mã khối. Mã khối ánh xạ các khối n bit vào các khối n bit dưới sự kiểm soát của khóa có độ dài k-bit. Có tất cả bảy loại mã khối khác nhau được mô tả và chúng được phân loại trên bảng 1.

Bảng 1 – Đặc tả mã khi

Độ dài khi

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 chun 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 ca 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 chun 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 chun 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ã.

[ISO/IEC 18033-1:2005]

2.3. Bn 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 ca 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ệ mt mã được mô tả trong tiêu chun này ca 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.

[ISO/IEC 10116:2006]

2.6. Bn 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

hàm giải mã với khóa K

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 AB 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 AB

image001 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 AB 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 AB

Ú

phép toán logic OR trên xâu bit, tức là nếu AB là các xâu bit cùng độ dài, thì AÚB là xâu bit gồm các bit là kết quả của phép toán logic OR AB

phép ghép các xâu bit

 ·

phép nhân trên trường hữu hạn

image002 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

phép nhân vòng sang trái i bit.

image003 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

phép nhân vòng sang phải i bit.

image004 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

phép bù bit của x

a mod n

với các số nguyên an, 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

image005 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

phép cộng trong số học mô-đun, nghĩa là nếu AB là hai xâu t-bit thì Aimage005 - Tiêu chuẩn Việt Nam TCVN11367-3:2016B được xác định bằng (A+B)mod 2t

image006 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

phép cộng trong số học mô-đun, nghĩa là nếu AB là hai xâu t-bit thì Aimage006 - Tiêu chuẩn Việt Nam TCVN11367-3:2016B được xác định bằng (A+B)mod 2t

4. Mã khối 64 bit

4.1. Tổng quan

Trong Điều này đặc tả bn loại mã khối 64 bit: TDEA (hay Ba DESTriple DES”) Điều 4.2, MISTYI ở Điu 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 ca bt kì hệ mật nào trong điều này, được thiết kế để mã hóa và giải mã các khi 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/gii 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 ca 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 KDk là phép giải mã của DES với khóa K.

4.2.2.2. Phép mã hóa của TDEA

Phép biến đi khối P 64 bit thành khối C 64 bit được xác định như sau:

image007 - Tiêu chuẩn Việt Nam TCVN11367-3:2016.

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:

image008 - Tiêu chuẩn Việt Nam TCVN11367-3:2016.

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, K2K3 là những khóa DES khác nhau;

2.Tùy chọn khóa 2: K1K2 là các khóa DES khác nhau, còn K3=K1.

CHÚ THÍCH Tùy chọn khóa K1=K2=K3 tương đương với DES-đơn không được khuyến cáo sử dụng. Ngoài ra nên sử dụng tùy chọn 1 hơn tùy chọn 2, vì tùy chọn 1 cung cp mức an toàn bổ sung tại cùng hiệu năng thực thi (tham khảo thêm chi tiết b [3]).

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 khi 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):

image009 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

(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):

image010 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

với i = 9;

Ri = FL(Li-1, KLi)

Li = FL(Ri-1, KLi+1)

(3)C=L9R9

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 FL1 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, đóS7,S9, FI, FO, FL và FL1, các hàm này sẽ được định nghĩa dưới đây.

4.3.4.2. Hàm FL

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 (XYlà dữ liệu, KL là khóa):

image011 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image012 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image013 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 1 – Thủ tục mã hóa

Hình 2 – Thủ tục giải mã

4.3.4.3. Hàm FL1

Hàm FL-1 là hàm ngược ca 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 FL1 được xác đnh như sau (XYlà dữ liệu, KL là khóa):

image014 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.3.4.4. Hàm FO

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 (XYlà dữ liệu, KOKI khóa):

image015 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 (XY là dữ liệu, KIlà khóa):

image016 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image017 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image018 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 3 – Hàm FL

Hình 4 – Hàm FL-1

image019 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image020 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 cu 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. S7S9 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 bi giao ca 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}.

Bng 2 S7

image021 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng 3 – S9

image022 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image023 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.3.5. ợc đồ khóa MISTY1

Lược đồ khóa nhận khóa 128 bit Kđưa ra khóa con 128 bit K1, như được ch ra ở hìnhdướ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:

image024 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

CHÚ THÍCH Khi giá trị hậu tố lớn hơn 8, thì trừ đi 8.

image025 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 7- Lược đồ khóa MISTY1

4.4. CAST-128

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 bitvớ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 nhn trong tiêu chun 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 (KmKr khóa):

image026 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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áccácvòng (vàcác cặpkhóacon) đượ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

4.4.4.1. Các cặp khóa vòng

CAST-128 sử dụng một cặp khóa con cho mỗi vòng: 32 bit Km được sửdụngnhư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 laId tương ứng là các byte có có nghĩa nhất qua byte ít có nghĩa nhất của I).

image027 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 (Type2).

Các vòng 3, 6, 9,12 và 15 s dụng hàm f kiểu 3 (Type3).

4.4.4.3. Các hộp thế

4.4.4.3.1. Các S-box S1 đến S8

Tám hộp thế được sử dụng: các S-box S1, S2, S3 và S4 là những S-box hàm vòng, S5, S6, S7 và S8 là những S-box lược đồ khóa.

4.4.4.3.2. S-Box S1

image028 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image029 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image030 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image031 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.4. S-Box S3

image032 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.5. S-Box S4

image033 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image034 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.6. S-Box S5

image035 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image036 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.7. S-Box S6

image037 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image038 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.8. S-Box S7

image039 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image040 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.4.3.9. S-Box S8

image041 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

4.4.5. Lược đồ khóa CAST-128

image042 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image043 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

CHÚ THÍCH Na 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.

image044 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image045 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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ố thp nhất được dùng trong mỗi vòng.

vi i = 1 đến 16

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 (WKiSKi 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)

image046 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

(3)với i = 0 tới 30

image047 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Với i = 31

image048 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

(4)

image049 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

(5) C = C7 ||C6 ||C5 ||C4 ||C3 ||C2 ||C1 ||C0 (Ci là các bản )

image050 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 8 – Thủ tục mã hóa theo HIGHT

4.5.3. Giải mã theo HIGHT

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 image051 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 được thay thế bằng phép image052 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 trừ phép toán image053 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 nối SKi và đầu ra của F0.

(2)Thứ tự áp dụng WKiSKi ngược vi thứ tự trong mã hóa.

4.5.4. Các hàm HIGHT

4.5.4.1. Các hàm F0F1

Thuật toán HIGHT sử dụng hai hàm F0F1 đượ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) = (x1) Å (x2) Å (x7)

4.5.4.3. Hàm F1

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)= (x3) Å (x4) Å (x6)

4.5.5. c đồ khóa HIGHT

Phần lược đồ khóa nhận khóa chủ 128-bit K =K15K14║…║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:

(1)s0 = 0, s1 = 1,s2 = 0, s3 = 1, s4 = 1,s5 = 0, s6 = 1

 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

image054 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

với j = 0 đến 7

image055 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5. Mã khối 128-bit

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 ca khối đầu vào và đầu ra là 128 bit (4 từ). Độ dài ca khóa Klà 128, 192 và 256 bit. Số vòng, Nr, là 10,12 và 14, tùy thuộc độ dài khóa, được mô ttrên Bảng 4.

Bảng 4 Số vòng trong AES

Độ dài khóa

Số vòng (Nr)

AES-128

10

AES-192

12

AES-256

14

Đối với cả hai phép mã hóa và gii 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) dch 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 ca mng 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 Điu 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 4và số cột c, với 0 ≤ c < 4.=”” trạng=”” thái=”” được=”” kí=”” hiệu=”” là=””>S = (sr,c)

Khi bắt đầu quá trình mã hóa, 16 byte ca Trạng thái được khởi tạo với pi byte bn rõ, tính từ trên xuống dưới và từ trái sang phải và được minh họa trên Hình 9.

image056 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 ca 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:

image057 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image058 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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, mng 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 sdụ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.

Phép gii mã đầy đủ có thể mô tả như sau:

image059 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Các phép biến đổi SuBytes-1 (), ShifRows-1(), MixColumns1 () 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 ging nhau, trừ vòng cuối không chứa phép biến đi MixColumns1 (). Việc tính các khóa vòng Wi được mô tả tại Điu 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 (), MixColumns1 (), 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

image060 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 10 – SubBytes () áp dụng S-box cho từng byte ca Trạng thái.

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

image061 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng 5 Các S-box ca AES

Ví dụ, nếu s1,1 = {53} thì giá trị thay thế là giá trị nằm trên giao ca hàng có chỉ số ‘5’ và cột có chỉ số ‘3’ của Bng 5, điều này cho kết quả là s1,1có giá trị {ed}.

5.2.4.3. Phép biến đổi SubBytes1 ()

SubBytes1 () là phép biến đi nghịch đảo ca 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 SubBytes1() được mô tả trong Bng 6.

Bng 6 S-box nghịch đảo AES

image062 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.2.4.4. Phép biến đi ShifRows ()

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 ca 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 ctrong 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 ShiftRows1 ()

ShiftRows1() 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 chuyn. Ba dòng dưi cùng được dịch vòng lên 4-r bytes, đây rlà số thứ tự vòng.

Cụ thể, phép biến đổi ShiftRows1 () được thực hiện như sau:

S’r,c = Sr,(c+r)mod4 với 0 <>r< 4,=”” và=”” 0=”” ≤=””>c<>

Hình 12 mô tả phép biến đổi ShiftRows1 ()

image063 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 11ShiftRows () dịch vòng ba dòng cuối ca Trạng thái

image064 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 12Shiftrows1 () 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 ca 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:

image065 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Kết quả của phép nhân trên là bốn byte trong cột được thay thế như sau:

image066 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Toán tử Åtrong các biểu thức trên biểu th phép cộng trong trưng GF(28), với phép cộng bit XOR. Phép nhân được thực hiện theo modulo ca đa thức bất khả qui của trường. Trong trường hợp thuật toán AES đó là đa thức x8 +x4 + x3 +x + 1.

Hình 13 mô t phép biến đổi MixColumns ().

image067 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 MixColunms1 ()

MixColumns1 () 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 ca trường hữu hạn GF(28):

image068 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Kết quả của phép nhân là bốn byte trong mỗi cột được thay thế như sau:

image069 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.2.4.8. Phép biến đổi AddRoundKey ()

Trong phép biến đổi AddRoundKey (), khóa vòng được cộng vào Trạng thái bằng phép cộng bit đơn giản XOR. Mỗi khóa vòng gồm bốn từ (128 bit) lấy từ lược đồ khóa (được mô t tại 5.2.5). Bốn từ này được cộng vào cột Trạng thái như sau:

[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 ≤ 4w(4*i+c)là các từ ca lược đồ khóa thứ c của khóa vòng thứ iWi = [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 ≤ INr. Trong phép mã hóa, phép cộng khóa vòng ban đầu xy 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 ≤ iNr.

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

image070 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 14 AddRoundKey () cộng bitXORtừ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 hi 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<>(Nr + 1).

Việc m rộng khóa đầy đủ cho AES-128 và AES-192 có th được mô tả như sau:

image071 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Trong phép toán trên, vòng khóa W0 đầu tiên được s dụng trong phép cộng khóa khi đầu, trực tiếp kết hợp với 4 từ của khóa mật K. Các cột 32-bit wj ca các khóa vòng còn lại được tạo ra theo phương pháp truy hồi. Phép biến đổi SubBytes* () thay thế bytes của từng cột riêng l, cũng giống như phép biến đi SubBytes () được mô tả tại ở 5.2.4.2. Phép biến đi ShiftColumn () là dịch vòng lên phía trên một byte. Các hằng image072 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 là những cột 4-byte cố định, được xác định dưới dạng (02i-1,00,00,00)Tvới {02} biểu diễn phần tử xtrong trường GF(28) (sử dụng cùng đa thức bất khả qui x8 + x4+ x3+ x + 1).

Phép m rộng khóa đầy đ cho AES-256 có thể được mô tả như sau:

image073 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Trong phép toán trên K0K1 biểu thị hai nửa ca 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 xng 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 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 (LR là các biến với độ dài 64-bit, kw, kkl là các khóa vòng độ dài 64-bit):

image074 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image075 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 15 Thủ tục mã hóa ca Camellia cho khóa 128 bit

5.3.2.2. Khóa 192-bitvà 256-bit

Quá trình mã hóa với khóa 192bit 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 (LR là các biến độ dài 64 bit, kw, kkl là các khóa vòng 64 bit):

image076 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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:

image077 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image078 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 16 Thủ tục mã hóa Camellia cho khóa 192 và 256 bit

image079 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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:

image080 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.3.4. Các hàm Camellia

5.3.4.1. Các hàm xác định

Thuật toán Camellia sử dụng một số hàm, cụ thể là các hàm F, FL, FL1 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 gm phép toán cộng bit XOR, tiếp đó áp dụng tám S-box song song kích thước 8×8 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:

y1y2y3y4y5y6y7y8║ = LiÅki

ở đây,

Li = x1x2x3x4x5x6x7x8

Mỗi yj sau đó được đi qua S-box kích thước 8×8 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 zj, trong đó

image081 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image082 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 18 Thủ tục giải mã Camella cho khóa 192 và 256 bit

image083 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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:

image084 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

ở đây:

image085 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Sau đó đầu ra 64-bit ca F-hàm L’i được thiết lập bằng cách ghép các biến 8-bit z’j:

L’i = z’1z’2z’3z’4z’5z’6z’7z’8

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 (XYlà dữ liệu 64-bit, kl là khóa vòng 64 bit, XL, XR, YL, YR, kliL, kliRcó độ dài 32-bit)

image086 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image087 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image088 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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. FL1-hàm được xác định như sau (XY là dữ liệu 64-bit, kl là khóa vòng, XL, XR, YL,YR,kliL, kliR có độ dài 32-bit)

image089 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image090 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 21 FL1-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, s3s4 đượ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, gh nhận đầu và 8-bit a = a1a2a3a4a5a6a7a8,và cho các giá tr đầu ra 8-bitb = b1b2b3b4b5b6b7b8, ở đây aibi là các giá trị 1-bit, f là hoán v affine của đầu vào, gphép nghịch đảo trên trường GF(28)hphé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 bi giao của dòng ‘5’ và cột ‘3’ trên Bảng 7, kết quả cho giá trị s1 = {c2}.

image091 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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.

image092 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image093 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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

image094 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.3.4.5.5. S-box s4

s4 được ch ra trên Bng 10 và có cấu trúc như sau:

s4:y = s1 (x1).

image095 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 bn 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 bn 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 ca KRKRL. Như vậy,

K = KLKRL, KRR = image096 - Tiêu chuẩn Việt Nam TCVN11367-3:2016, KR = KRLKRR

Với phiên bản 256 bit, khóa K khóa 128-bit KL và khóa 128-bit KR. Như vậy,

K = KLKR

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 Kbằng KL, K = KLKRL or KLKR 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 ca các khóa “được mã hóa” KAKB (ở đây KA, KB có độ dài 128 bit).

image097 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 22 Phần chính ca lược đồ khóa

Đối vi phiên bn khóa 128-bit, đầu ra của phần chính ca 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 KBkhô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 ca phần chính của lược đồ tạo khóa là khóa con 128 bit KAvà 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 ca Hình 22 là KLÅKR phép toán này được khóa hóa bởi hai hằng 64-bit å1å2. Tiếp đó đầu ra 128-bit từ phép toán 2-vòng thứ nhất được cộng bit XOR vi 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å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 ca Hình 22. Phép toán 2-vòng thứ ba này được khóa hóa bi hai hằng 64 bit là å5å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, KAKB có độ dài 128 bit):

image098 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

đây đầu vào 128-bit cho 2RoundFeistel là tách thành hai phần 64-bitL0R0đầu ra 128-bit từ2RoundFeistel cũng được tách thành hai phần 64 bit L2R2và cả hai đầu vào khóa vòng 64-bit của 2RoundFeistel là åiåi+1.

2RoundFeistel được mô tả như sau:

image099 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Các hằng của lược đồ khóa 64-bit được xác định trên Bảng 11

image100 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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, KAKB.

Bng 12 dành cho phiên bn 128-bit và Bảng 13phiê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

image101 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image102 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.4. SEED

5.4.1. Thuật toán SEED

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):

image103 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image104 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 ca SEED

5.4.4.1. Hàm vòng F

Hàm vòng F ch ra trên Hình 24 và được định nghĩa như sau (CD là dữ liệu, Klà khóa)

image105 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image106 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 ca hai S-box kích thước 8×8 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:

image107 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image108 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Ở đây, m0 = {fc}, m1 = {f3}, m2 = {cf}, m3 = {3f},

image109 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình 25Hà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:

image110 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Trong đó n1 = 247, n2 = – 251, b1 = 169, b2 = 56 và

image111 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Lưu ý rằng A(i)image112 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 Åbilà phép biến đi afine của image112 - Tiêu chuẩn Việt Nam TCVN11367-3:2016. Với x bất kì thuộc image113 - Tiêu chuẩn Việt Nam TCVN11367-3:2016, 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 sdụng đa thức nguyên thủy p(x) = x8 + x6+…+ x + 1 để biểu diễn lại image112 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 trong image113 - Tiêu chuẩn Việt Nam TCVN11367-3:2016.

Các S-box S1S2 được mô tả tại Bảng 14 và 15.

Bng 14 S1hộp

image114 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng 15 – S2 – hộp

image115 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

5.4.5. Lược đồ tạo khóa SEED

Lược đồ to 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 dch vòng (sang trái/ sang phi). 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,0k1,1 đưc tạo như sau:

k1,0 = G(a + cKC0), k1,1 = G(b + kC0d)

Hai khóa con 32-bit của vòng thứ hai, k2,0k2,1 được tạo từ khóa đầu vào bằng cách dịch vòng 64 bit đầu tiên (ab) sang phải 8-bit như sau:

image116 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hai khóa con của vòng thứ ba, k3,0k3,1 được tạo từ khóa đầu vào bằng cách dịch vòng 64-bit cuối cùng (cd) sang trái 8-bit như sau:

image117 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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

image118 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

đây các hằng KCi (được mô t Bảng 16) được tạo từ một phần ca tỉ số vàngimage119 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bng 16 Các hằng KCi (ở dạng Hexa thập phân)

image120 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

 

PHỤ LỤC A

(Quy định)

MÔ TẢ DES

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 L0R0, 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 LiRi 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à khi 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 (PC là dữ liệu, Ki khóa).

image121 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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.

A.4. Các hàm DES

A.4.1. Phép hoán vị ban đầu IP

Phép hóa vị ban đầu IP được chỉ ra tại Bng 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.

Bng A.1 Hoán vị khi tạo

image122 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image123 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image124 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình A1 Th tục mã hóa

A.4.2. Hoán vị nghịch đảo IP1

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ảng A.2 – Hoán vị đầu nghịch đảo IP-1

image125 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 liu 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 ca 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áckhố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 (PClàdữ liệu, Ki là khóa)

image126 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image127 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Hình A.2 – Tính f(R, K)

A.4.4. Hoán vị m rộng E

Hoán v mở rộng E được chỉ ra trên Bảng A.3. Hoán vE nhận đầu vào 32- bit và cho đầu ra 48-bit. Ba bit đầu tiền của E là các bit các vị trí 32,1 và 2, hai bit cuối các vị trí 32 và 1.

Bảng A.3 Hoán vị m rộng E

image128 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

A.4.5. Hoán vP

Hoán vP đượ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) ca hàm P được xác định bi 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 ca P(L), bit thứ by làm bit thứ hai ca P(L),v.v và bit thứ 25 ca L làm bit thứ 32 của P(L).

Bảng A.4 Hoán vị P

image129 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 ca 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 bng đó 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 bi 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 bi 01 là hàng 1, cột được xác định bi 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ảng A.5 Các S-box

image130 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image131 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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. Bi vậy để mô tả KS chỉ cần mô tả việc tính toán ca Kn từ KEYvớ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 ging như lược đồ chuyển dịch sang trái. Một bit trong byte 8-bit của KEY có thể được khi động để phát hiện lỗi trong tạo khóa, phânphi 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ựachọn hoán vị 1 được xác định bởi Bảng A.6

Bng A.6 Hoán vị khóa PC-1

image132 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng trên được chia thànhhaiphần, phần thứ nhất xác định cách chọn các bit trongC0, phần thứ haixác định cách chọn các bittrong D0. Các bit ca KEY được đánh số từ1 đến 64.Các bittrong C0tương ứng là 57, 49, 41,…, 44và 36 của KEY, còn các bit trong D0 là cácbit 63, 55,47,..,12và 4 củaKEY. Với C0D0 đã xác định, có thể xác định được CnDn từ Cn-1Dn-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:

Bng A.7 Số các bit khóa được dịch chuyển của mỗi vòng

Số lần lặp

Số lần dịch trái

1

1

2

1

3

2

4

2

5

2

6

2

7

2

8

2

Số lần lặp

Số lần dịch trái

9

1

10

2

11

2

12

2

13

2

14

2

15

2

15

1

 

Ví dụ, C3D3 thu được tC2D2 tương ứng bằng hai dịch chuyển sang trái, và C16D16thu được từ C15D15ơ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à dch 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

image133 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bi vậy bit thứ nhất của Kn là bit thứ 14 của CnDn, bit thứ hai là bit thứ 17, v.v, bit thứ 47 là bit thứ 29, bit thứ 48 là bit thứ 32.

image134 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 chun này ca 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 cp dịch vụ an toàn hoặc khi thuật toán được tham s hóa bằng sự lựa chn 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 ở tng thp hơn (ví dụ bằng việc xác định đnh danh đi tượng ca cơ chế bọc khóa như một tham số trong cu 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.

image135 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image136 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

 

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 S7S9

Điều này mô tả các dạng đại số trên trường GF(2) của S7S9 trong thuật toán MISTY1

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 bng 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á trS7 = {57}

C.2.2. MISTY1 S-box S7

image137 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng C.1 – Dạng đại số của S7

image138 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

C.2.3. MISTY1 S-box S9

image139 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image140 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng C.2 – Dạng đại số của S9

image141 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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 = a1a2a3a4a5a6a7a8và 8-bit đầu ra b = b1b2b3b4b5b6b7b8║,aibilà 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, gh được mô tả dưới dạng đại số như sau:

f:

image142 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

g:

image143 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

g là phép nghch đảo trong trường GF(28), gi thiết image144 - Tiêu chuẩn Việt Nam TCVN11367-3:2016 = 0, ở đây b là phn tử trong trường GF(28) thỏa mãn điều kiệnb8 +b6 +b5 +b3 + 1= 0 và a = b238= b6 +b5 +b3+ b2là phn tử trong trường GF(24)thỏa mãna4+a+ 1 = 0

h:

image145 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

 

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.

D.2. Véc tơ kiểm tra TDEA

D.2.1. Mã hóa TDEA

Vi đầu vào đã cho (bn 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

image146 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image147 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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:

image148 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.2.2.2. Phép mã hóa TDEA (DES mã hóa – giải mã – mã hóa)

Bng D.2 Ví dụ thứ nhất của phép mã hóa TDEA

image149 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng D.3 Ví dụ thứ hai ca phép mã hóa TDEA

image150 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image151 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bng D.4 Ví dụ thứ ba của phép mã hóa TDEA

image152 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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ứ nht của phép mã hóa TDEA

image153 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng D.6 Ví dụ thứ hai của phép mã hóa TDEA

image154 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng D.7 Ví dụ thứ ba của phép mã hóa TDEA

image155 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image156 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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

image157 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.4. Véc tơ kiểm tra CAST-128

Với đầu vào đã cho (bản rõ và khóa), đầu ra (bản mã) được mô tả như sau:

Bng D.9 – Ví dụ ca phép mã hóa CAST-128

image158 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.5. Véc tơ kiểm tra HIGHT

Bng D.10 – Ví dụ của phép mã hóa HIGHT

image159 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.6. Véc tơ kiểm tra AES

D.6.1. Mã hóa AES

D.6.1.1. M đầu

Với đầu vào đã cho (bản rõ và khóa), đầu ra (bản mã) được mô tả như sau:

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

image160 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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

image161 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.6.1.4. Khóa 256 bit

Bảng D.13 – Ví dụ ca phép mã hóa với 256 bit khóa

image162 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.6.2. Ví dụ m rộng khóa

Điều này chỉ ra sự phát triển của việc sử dụng lược đồ khóa

image163 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image164 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Các giá trị trung gian ca 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

image165 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image166 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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.

image167 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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ã

image168 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image169 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image170 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

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

D.7.2.1. Khóa 128 bit

Bảng D.16 – Ví dụ ca phép mã hóa Camellia với 128 bit khóa

image171 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image172 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.7.2.2. Khóa 192 bit

Bảng D.17 – Ví dụ ca phép mã hóa Camellia với 192 bit khóa

image173 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image174 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.7.2.3. Khóa 256 bit

Bảng D.18 – Ví dụ của phép mã hóa Camellia vi 256 bit khóa

image175 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image176 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

D.8. Véc tơ kiểm tra SEED

image177 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image178 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

Bảng D.19 – Ví dụ ca phép mã hóa SEED

image179 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image180 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

image181 - Tiêu chuẩn Việt Nam TCVN11367-3:2016

 

PHỤ LỤC E

(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]

· Tốc độ xử lí phần mềm chậm

·Chuẩn công nghiệp ngân hàng

·ANSIX9.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 tng khác nhau)

·Chuẩn công nghiệp di động(3GPP&GSM:KASUMI dựa trên MISTY1)

·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á]

·IETF RFC 2144(xem RFCs 2984,2451, và 2400 s dụng trong S/MINE,lpsec và OpenPGP)

·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 quc (TTAS.KO-12.0040)

5

AES

[5]

· Phần cứng giới hạn

· Thuật toán đa nn tng (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

·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)

· 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

· [Hiệu năng phần cng không được đánh giá bởi bên thứ ba]

·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 Quc

 

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 ofCryptographic Algorithms and Key-Lengths

[4] ISO/IEC 9594-8, Information technology — Open Systems Interconnection — The Directory: Public-key and attribute certificate frameworks

[5] ISO/IEC 9834 (all parts,), Information technology — Open Systems Interconnection — Procedures for the operation of OSI Registration Authorities

[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

Lời nói đầu

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

5. Mã khối 128 bit

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

A.5. Lược đồ tạo khóa DES

Phụ lục B (Quy định) Định danh đối tượng

Phụ lụcC (Quy định) Dạng đại số ca 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ơ kim tra TDEA

D.3. Véc tơ kiểm tra MISTY1

D.4. Véc tơ kiểm tra CAST-128

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) Bng đặc tính

Thư mục tài liệu tham khảo

Đã xem:

Đánh giá:  

 

Thuộc tính TCVN TCVN11367-3:2016

Loại văn bản Tiêu chuẩn Việt Nam
Số hiệu TCVN11367-3:2016
Cơ quan ban hành
Người ký
Ngày ban hành
Ngày hiệu lực
Ngày công báo
Số công báo Còn hiệu lực
Lĩnh vực Điện – điện tử
Tình trạng hiệu lực Không xác định
Cập nhật 3 năm trước
Yêu cầu cập nhật văn bản này

Download TCVN TCVN11367-3:2016

PDF
File văn bản gốc (12.9MB)
DOC
File văn bản word (8.3MB)

[ad_2]
Quý doanh nghiệp có muốn đăng ký Tiêu chuẩn Việt Nam TCVN11367-3:2016 xin vui lòng liên hệ:

———————————————————————————————

VIỆN NGHIÊN CỨU PHÁT TRIỂN TIÊU CHUẨN CHẤT LƯỢNG

VPGD: P922 Tòa HH2A Khu đô thị Linh Đàm – Hoàng Mai – Hà Nội

Hotline: 0904.889.859 – 0988.35.9999

Website: https://vientieuchuan.vn

Email: vientieuchuan@gmail.com

Tiêu chuẩn Quản lý ISO là một tập hợp các hướng …

Hướng dẫn tổng quan trong bài viết dưới đây; sẽ có …

ISO là tổ chức quốc tế về tiêu chuẩn hóa (tên …

Giới thiệu về ISO/IEC 20000
ISO/IEC …

Người tiêu dùng ngày càng quan tâm đến việc đối xử …

ISO 31000 là gì?
ISO 31000 là một tiêu chuẩn quốc …

Giới thiệu ISO 29993: 2017
ISO 29993: 2017 quy …

Chưa bao giờ sức khỏe của người lao động lại được …

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *