Tiêu chuẩn quốc gia TCVN 118163:2017 (ISOIEC 101184:1998 with amendment 1:2014) về Công nghệ thông tin Các kỹ thuật an toàn Hàm băm Phần 3: Hàm băm chuyên dụng.Tiêu chuẩn quốc gia TCVN 118163:2017 (ISOIEC 101184:1998 with amendment 1:2014) về Công nghệ thông tin Các kỹ thuật an toàn Hàm băm Phần 3: Hàm băm chuyên dụngTiêu chuẩn quốc gia TCVN 118163:2017 (ISOIEC 101184:1998 with amendment 1:2014) về Công nghệ thông tin Các kỹ thuật an toàn Hàm băm Phần 3: Hàm băm chuyên dụngTiêu chuẩn quốc gia TCVN 118163:2017 (ISOIEC 101184:1998 with amendment 1:2014) về Công nghệ thông tin Các kỹ thuật an toàn Hàm băm Phần 3: Hàm băm chuyên dụng
Trang 1TCVN TIEU CHUAN QUOC GIA
TCVN 11816-3:2017
ISO/IEC 10118-3:2004 WITH AMENDMENT 1:2006
Xuất bản lần 1
CÔNG NGHỆ THÔNG TIN - CÁC KỸ THUẬT AN TOÀN -
HAM BAM - PHAN 3: HÀM BĂM CHUYÊN DỤNG
Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions
Trang 2Mục lục Lời nói đầu 1 Phạm vi áp dụng (hảne34802140401495038010l 7 2 Tal GU Vi6N GAM eesssssssserssccsessonverecseseesssseseessee 3 Các thuật ngữ và định nghĩa 4 Các ký hiệu (và thuật ngữ viết tất) 5 Các yêu cầu
6 Mô hình hàm băm chuyên dụng
Trang 3TCVN 11816-3 : 2017 12.1 Các tham số, hàm số va hang sổ 12.2 Phương pháp đệm 2.3 Mô tả hàm vòng 413 Ham bam chuyén dung 7 (WHIRLPOOL), 13.1 Các tham số, hàm số và hằng số 13.2 Phương pháp đệm 3.3 Mô tả hàm vòng 14 Hàm băm chuyên dụng 8 (SHA-224) 14.1 Các tham số, hàm số va hang sé 14.2 Phương pháp đệm 14.3 Mô tả hàm vòng Phụ lục A (Tham khảo) Các ví dụ Phụ lục B (Tham khảo) Đặc tả hình thức
Phụ lục C (Quy định) Mô đun ASN.1
Thư mục tài liệu tham khảo
Trang 4
Lời nói đầu
TCVN 11816-3 : 2017 hoàn toàn tương đương với ISO/IEC 10118-
3:2004 với sửa đổi 1:2006 và đính chính kỹ thuật 1:2011
TCVN 11816-3 : 2017 do Cục Quản lý mật mã dân sự và Kiểm định sản
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ố
Trang 5TIEU CHUAN QUOC GIA TCVN 11816-3 : 2017 Công nghệ thông tin - Các kỹ thuật an toàn - Hàm băm
Phân 3: Các hàm băm chuyên dụng
Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-
functions
1 Pham vi 4p dung
TCVN 11816-3 đặc tả các hàm băm chuyên dụng, nghĩa là các hàm băm được thiết kế một cách riêng
biệt Các hàm băm trong phần này dựa trên cơ sở sử dụng việc lặp của một hàm vòng Bảy hàm vòng khác nhau được đặc tả đem đến sự khác biệt của các hàm băm chuyên dụng
Hàm băm chuyên dụng thứ nhất và thứ ba tại Điều 7 và 9 cung cấp lần lượt các mã băm có độ dài lên tới 160 bit Hàm băm thứ hai tại Điều 8 cung cấp độ dài của mã băm lên tới 128 bit Hàm băm thứ tư tại Điều 10 cung cắp độ dài của mã băm lên tới 256 bit Hàm băm thứ sáu tại Điều 12 cung cấp độ dài cố định của mã băm là 384 bit Hàm băm thứ năm và thứ bảy tại các Điều 11 và 13 cung cắp mã băm có độ dài lên đến 512 bit
2 Tài liệu viện dẫn
Các tài liệu tham chiếu sau đây rất cần thiết cho việc áp dụng tài liệu này Đối với những tài liệu tham chiếu đã ghi ngày tháng, chỉ áp dụng tài liệu đã dẫn đó Đối với những tài liệu tham chiếu không ghi ngày tháng, thì áp dụng phiên bản mới nhất (bao gồm cáo tài liệu đã sửa đổi)
TCVN 11816-1:2017 (ISO/IEC 10118 -1:2016), Công nghệ thông tin — Các kỹ thuật an toàn Hàm băm ~ Phần 1: Tổng quan
3 Các thuật ngữ và định nghĩa
Trong phần này các thuật ngữ và định nghĩa được đưa ra trong TCVN 11816-1:2017 và các thuật ngữ sau đây được sử dụng
31
Khối (block)
Trang 6Từ (word)
Một xâu 32 bit được sử dụng trong hàm băm chuyên dụng 1, 2, 3 và 4 tại các Điều 7, 8, 9 và 10 tương ứng, hoặc một xâu 64 bit được sử dụng trong hàm băm chuyên dụng 5 và 6 tại các Điều 11 và 12 tương ứng 3.3 Ma trận (matrix) Ma trận 8x8 trong đó mỗi phần tử là một xâu có 8 bit được sử dụng trong hàm băm chuyên dụng 7 tại Điều 13
4 Các ký hiệu (và thuật ngữ viết tắt)
4.1 Các ký hiệu trong TCVN 11816-1 (ISO/IEG 10118-1)
Trong phần này các ký hiệu dưới đây và các ký hiệu trong TCVN 11816-1:2016 được sử dụng Bị D A Vv lạ Ly xey Một byte Dữ liệu Mã bảm Giá trị khởi tạo
Độ dài (theo bit) của xâu đầu tiên trong hai xâu đầu vào của hàm vòng ý
Độ dài (theo bit) của xâu thứ hai trong hai xâu đầu vào của hàm vòng đ, đó cũng là độ dài của xâu đầu ra của hàm vòng ¢ va của /V
Dé dài (theo bit) của xâu bit X
Hàm vòng, ví dụ, nếu X, Y là các xâu bit có độ dài lần lượt là L;và 2z thì đ(X, Y) là xâu nhận được từ việc sử dụng ý cho X và Y
Phép xor của các xâu bit X và Y (véi Lx = Ly) 4.2 Các ký hiệu của phần này
Trong phần này, các ký hiệu sau đây được sử dụng
aa",
At
£0
Day cdc chỉ số được sử dụng để đặc tä một hàm vòng
Trang 74 Cag % Cyc C° Dị dy en fudge Hị GF(2*) M q R"0 § s0 sn tots W Xp Xo Ny Ze ` W,X,KuY,Z TCVN 11816-3 ; 2017 13
Các hàm nhận đầu vào là một ma trận 8x8 gồm các phan ti tiv trvdng GF(2") và đưa
ra một ma trận 8x8 gồm các phần tử từ trường GF(2), được sử dụng trong việc đặc tả hàm vòng tại Điều 13
Hàm nhận đầu vào là 2 ma trận 8x8 gồm các phần tử từ trường GF(29) và đưa ra một ma trận 8x8 gồm các phần tử từ trường GF(2%), được sử dụng trong việc đặc tả hàm vòng tại Điều 13
Các từ được sử dụng trong các hàm vòng
Ma trận vòng 8x8 với các phần tử được chọn từ trường GF(2?) được sử dụng trong việc đặc tả hàm vòng tại Điều 13
Khối nhận được từ xâu dữ liệu sau quá trình đệm
Các hàm lấy đầu vào là một hoặc ba từ và đầu ra là một từ đơn được sử dụng trong việc đặc tả các hàm vòng
Một xâu Lạ bit được sử dụng trong phép toán băm để lưu trữ kết quả trung gian Trường được định nghĩa như là GF(2)[xJ/Ða(x) với pa(x) = x$ + x* + x9 + x? + 1 Các phần tử trong trường là các xâu 8 bit
Ma trận 8x8 có các phần tử được chọn từ trường GF(2)
Số khối trong xâu dữ liệu sau quá trình đệm và tách
Phép dịch phải n bit, nghĩa là néu A là một từ và ø là một số nguyên dương thi R"(A) là kết quả của phép dịch phải nội dung của A sang phải 0 vị trí
Hộp thế phi tuyến thay mỗi phần tử x e GF(25) bằng một phần tử khác s[x] e GF(2!) Phép dịch vòng trái n bit Nghĩa là nếu A là một từ và n là một số nguyên dương thì khí đó S?{A) là kết quả của phép dịch vòng sang trái nội dung của A 0 vị trí
Phép dịch vòng phải n bit Nghĩa là nếu A là một từ và n là một số nguyên dương thì khi đó S“*Q là kết quả của phép dịch vòng sang phải nội dung của A n vị trí
Giá trị dịch chuyển được sử dụng để đặc tả một hàm vòng Các từ được sử dụng để lưu trữ các kết quả tính toán trung gian
Các ma trận với các phần tử được chọn từ trường GF(2%) được sử dụng để lưu trữ các kết quả tính toán trung gian
Phép toán logic AND trên xâu bit, nghĩa là nếu A va Bla cdc tir thi A A B là từ nhận
Trang 8được bằng phép toán logic OR của A và B
¬ Phép tốn logie NOT trên xâu bit, nghĩa là nếu A là từ thì ¬A là một từ nhận được bằng phép toán logie NOTcủa A
ụ Phép cộng mô đun 2, trong đó w là số bit trong một từ nghĩa là nếu A và B là các từ thì AuB là một từ nhận được bằng cách phát triển A và B như các biểu diễn nhị phân của số nguyên và tính tổng theo mô đun 2* Khi đó kết quả sẽ nằm trong khoảng từ 0 đến 2" ~1 Giá trị của w là 32 để đặc cáo hàm băm chuyên dụng 1 đến 4 được xác định trong Điều 7-10 và là 64 đễ đặc tả các hàm băm 8 và 6 xáo định trong Điều 11 và 12 * Phép nhân của các ma trận 8x8 với các phần tử được chọn từ trường GF(2!), có
nghĩa là, nếu A và 8 là các ma trận như trên, thì As8 là ma trận nhận được bởi phép nhân A và B theo cách sau: khai triển mỗi phần tử của A hoặc 8 dưới dạng đa thức nhị phân của số nguyên (ví dụ, biểu diễn đa thức nhị phân của số nguyên 89 (hệ thập lục phân) là x7 + x*+ 1); thực hiện phép của 2 phần tử như là phần dư khi tích của hai đa thức được chia bởi đa thức pa(x), với pa(x) = xê + x + x2 + x# + 1; và lấy tổng bằng phép toán ®
r= Kỹ hiệu "đặt bằng" được sử dụng trong mô tả tiến trình của các hàm vòng © đó xác định một từ (hoặc một ma trận tại Điều 13) ở về trái phải bằng với giá trị của về phải
5 Các yêu cầu
Người dùng muốn sử dụng một hàm băm của TCVN 11816-3 phải tiến hành lựa chọn sau: ~ Một trong những hàm băm chuyên dựng được đặc tả dưới đây; và
~ Độ dài L„ của mã băm H
CHÚ THÍCH: Các hàm băm chuyên dụng 1 và 2 được mô tả sao cho thuận tiện cho việc tích hợp phần mềm đối với máy tính “lidle-endian!, nghĩa là byte có địa chỉ thắp nhắt trong một từ được mô tả như trọng số thắp nhất; và ngược lại các hàm chuyên dụng 3, 4, 5, 6 được mô tả sao cho thuận tiện cho việc tích hợp mềm đối với các máy tính ‘big-endian’ nhưng byte có địa chỉ thấp nhất trong từ lại được mô tả như trọng số cao nhất Tuy nhiên, nều điều chỉnh phù hợp thì bắt kỳ hàm nào trong 6 hàm trên đều có tích hợp cho máy tính 'fitle-endian' hoặc 'blg-endian' Hàm chuyên dụng thứ 7 được xác định cho 'endian-neutraf' mà trong việc tính tốn nó khơng sử dụng phép toán số học (như các phép cộng số nguyên) Nếu dãy các phần tử từ trường GF(2®) (c6 nghĩa là byte) được ánh xạ tới các từ của máy tính để thực hiện các phép toán song song như phép XOR thỉ việc phan bé byte trong từ là không cần thiết miễn là phù hợp với ánh xạ ngược TAt cả các hàm băm đặc tả trong TCVN 11816-3,
nhận đầu vào và đưa ra đầu ra là một xâu bit; Điều này không phụ thuộc vào quy định trật tự byte bền trong mỗi hàm băm
CHÚ THÍCH: Việc lựa chọn Lw ảnh hưởng đến tính an toàn của hàm băm Tắt cả hàm băm được đặc tả trong TCVN 11816-3
được tin là hàm băm kháng va chạm trong các môi trường mà ở đó việc thực hiện tính toán mã băm 2”? là không thổ được
về mặt tính toán
6 Mô hình hàm băm chuyên dụng
Các hàm băm được đặc tả trong TCVN 141816-3 dựa trên mô hình tổng quát cho hàm băm được đưa ra ở TCVN 11816-1
Trong đặc tả của các hàm băm ở phần này, giả định rằng đầu vào của hàm băm là xâu dữ liệu đã
Trang 9TCVN 11816-3 : 2017 Xo, Xty Xena thi sau đó nó sẽ được biểu dién nhu mét xau cia n byte, Bo, Br, Bas nh sau Mỗi một
nhóm 8 bit liên tiếp được coi như là một byte, bit đầu tiên của nhóm là bit có trọng số cao nhất trong byte đó Từ đó
Bị= 2'Xu.+ 2X + +Xuz, VOI IOS <n)
Phép biến đổi đầu ra của các hàm băm đặc tả trong TCVN 11816-3 là các mã băm H nhận được bằng cách lấy Lị bit tận cùng bên trái của L; bit cuối của xâu đầu ra Hạ,
Các định danh được xác định cho mỗi hàm băm chuyên dụng được đặc tả trong chuẩn này Các định danh hàm băm đối với các hàm băm chuyên dụng được đặc tả tại các Điều 7, 8, 9, 10, 11, 12 va 13 lần lượt tương ứng với 31, 32, 33, 34, 35, 36 và 37 (theo hệ thập lục phân) Khoảng giá trị từ 38 tới 3F (theo hệ thập lục phân) được dành riêng để sử dụng sau này như định danh các hàm băm của TCVN 11816-3 Các định danh hàm băm còn được sử dụng trong các định danh đối tượng của OSI trong Phụ
luc C
7 Hàm băm chuyên dụng 4 (RIPEMD-160)
Điều này đặc tả phương pháp đệm, giá trị khởi tạo và hàm vòng sử dụng trong các mô hình tổng quát cho hàm băm được mô tả trong TCVN 11816-1: 2017 Phương pháp đệm, giá trị khởi tạo và hàm vòng được đặc tả ở đây khi sử dụng trong mô hình tổng quát để xác định hàm băm chuyên dụng 1 Hàm băm chuyên dụng này có thể được áp dụng cho tắt cả các xâu dữ liệu D có nội dung lớn nhất là 24-4
bit
Trong TCVN 11816, định danh của hàm băm chuyên dụng 1 là 31 (theo hệ thập lục phân) CHỦ THÍCH: Hàm băm chuyên dụng 1 trong điều này được gọi với tên chung là RIPEMD-160, [3]
7.1 Các tham số, hằng số và hàm số 7.1.1 Các tham số
Đối với hàm băm này Lạ = 512, Lạ = 180 và Lự có thể đến 160
7.1.2 Quy ước thứ tự byte
Đặc tả hàm vòng ở điều này được giả định một khối đầu vào là một dãy các từ 32 bit, mỗi khối 512 bit được tạo thành từ 16 từ như vậy Một dãy 64 byte Bọ, B:, Bạy được biểu diễn là một dãy 16 từ Zo, Z¡ Z¡s như sau, Mỗi nhóm 4 byte liên tiếp được coi là một từ, byte đầu tiên của từ có trọng số thấp
nhất Vì vậy
2)= "Bang + 2" Bae + 2°Bass +Ba (0<1< 15)
Thực hiện phép biến đổi ngược để chuyển đổi mã băm từ một dãy các từ thành một dãy byte
CHU THICH: The tự byte được đặc tả ở đây khác với Điều 9.1.2
7.1.3 Các hàm số
Để thuận lợi cho việc cải đặt phần mềm, hàm vòng ø được mô tả theo thuật ngữ các phép toán trên các từ 32 bit Một dãy các hàm số đo, g¡, , g;e được sử dụng trong hàm vòng này, mỗi một hàm g¡, 0 <
¡< 79, nhận ba từ Xa, X; và Xz làm đầu vào và đưa ra duy nhất một từ
Các hàm số g, đượè xác định như sau:
Trang 10gio, Xi, X2) = (Xo AX1) V(AXo AX2) 1681831 Qi(Xo, X4, X2) = (Xo 7X1) @ Xe 32s | $47 GiXo, X1, X2) = (Xo A Xa) V (Xt A 7X2) 46< ¡ <63 giề%, Xụ X;) = Xe @ (Xi V¬ Xa) 64<i<79 7.1.4 Các hằng số
Hai dãy các từ hằng số Ca C¡, C;o và Co, C”„ , C?o được sử dụng trong hàm vòng này Trong biểu diễn hệ thập lục phân chúng được xác định như sau (bit có trọng số cao nhất tương ứng với bit trái nhất): Œ = 00000000, Œ¡ = 50428BE6, osisis, C; = 54827999, = C, = 5C4DD124, 16 si < 31, C = GED9EBA1, C’, = 6D7038F3, 32 <i s 47, 8F1BBCDC, Cị = 7A6D76E9, 48 <i< 63, Gj II A953FD4E, Œ = 00000000, 64<¡<79,
Hai dãy của 80 giá trị dịch được sử dụng trong hàm vòng này, mỗi một giá trị dịch có giá trị từ 5 đến 16 Ký hiệu những dãy này là (f, t;, ,te), (fø, f, fe) Ngoài ra hai dây của 80 chỉ số được sử dụng trong hàm vòng này, mỗi một giá trị trong dãy là từ 0 đến 18 Ký hiệu những dãy này là (8o, 8t, ,8mn),
(8% a”, a1a) Bốn dãy được xác định trong Bảng 1 sau: Bảng 1
Trang 11TGVN 11816-3 : 2017 5 13 6 8 4 a 6 2 13 11
7.4.5 Gid tri khởi tạo
Đối với hàm vòng này giá trị khởi tạo /V luôn phải là xâu 160 bit, được biểu diễn dưới dạng một dãy
của 5 từ Yø, Y„ Yz, Ys, Y„ ở hệ thập lục phân, trong đó Y2 là 32 bit trái nhất của 160 bit Yo = 67452301, Y; = EF©DAB89, Y;= 98BADCFE, Ys = 10325476, Y;= C3D2E1F0 7.2 Phương pháp đệm
Xâu dữ liệu D cần phải đệm thêm vào để số bit của nó là bội nguyên của 512 Quá trình đệm được thực hiện như sau:
1 D được nối với duy nhất một bit '1'
Trang 122 Kết quả của bước trước được nối với bit 0 giữa 0 và 611 sao cho độ dài thu được (theo bit) của xâu là đồng dư với 448 theo mô đun 612 Một cách rõ ràng hơn, nếu chiều dài ban đầu của D là Lo, và r là số dư khi Lo chia cho 612, thì số các số 0 cần thêm là hoặc 447-r (nếu r < 447) hoặc 959 - r (nếu r> 447) Kết quả là một xâu bit có độ dài là 64 bít là bội nguyên của 812
3 Chia biểu diễn 64 bit nhị phân của Lo thành hai xâu 32-bit, một nửa là xâu có trọng số cao nhất của Lp, và một nửa là một xâu có trọng số thấp nhất Ghép xâu kết quả từ bước trước đó với hai xâu 32 bít trên bằng cách ghép xâu có trọng số thắp nhất trước xâu có trọng số cao nhất
Trong mô tả hàm vòng dưới dây, mỗi một khối dữ liệu 512 bit D, 1 <¡< q, được khai triển thành một dãy 16 từ Zø, Z¡, ,Z:s, trong đó Zo tương ứng với 32 bit tận cùng bên trái của D,
CHU THÍCH: Việc nối hai xâu 32-bit của Lo ở bước 3 sao cho hai xâu 32-bit này được sử dụng trực tiếp như các từ Z„ và Z¡z của khối dữ liệu cuối cùng, dựa trên cơ sở quy ước thứ tự byte tại Điều 7.1.2, 8 bit tận cùng bên trái của Lo có trọng số thấp nhất và 8 bit tận cùng bên phải có trọng số cao nhất
7.3 Mô tả hàm vòng
Hàm vòng j hoạt động như sau Chú ý rằng, trong mô tả nây, các ký hiệu W, Xo, X:, Xa, Xa, X4, Xo, Xi,
X?, X2, X4, đễ ký hiệu 11 từ có giá trị khác nhau cần thiết trong các tính toán
1 Giả sử 512 bit đầu vào (đầu tiên) của ở là Zø, Z¿, Z;s trong đó Z¿ là 32 bit trái nhất của 812 bit
Cũng giả sử rằng 160 bit đầu vào (thứ 2) của đ là 8 từ Y, Y¿, Y2, Ya, Ya
2 Dat Xo = Yo, Xị :# Y2, X; ;= Yz, Xã :£ Y2, Xã :Z Y 3 Dat X’0 := Yo, X4 = Vs, X'2 1= Y2 X$ ;# Ya X4 := Y4
4 Với ¡ từ 0 đến 79 thực hiện 4 bước theo thứ tự sau :
(a) W = S*(X oll gi(Xq, Xz, KaWZ qi WCW, ; (b) Xq = X43 Xq t= Xi X; = S19); X; t= Xụ Ấy = W (c) W = S!QY'gM8g;a~(X*, Ä 2, X'a)UZ„ 9C )X'4; (0) Xa = X4j X4 = XaiX: = S10(W2);X; = Xây Ấ: = W 5 Đặt W=Y%, Yo = YWXz X's, Yy = YoWXSWX"4, Yo = YaX,WUX"o, Ys = YglXpWUX'y, Y, = WWX,WX',
6 Năm từ Ya, Y, Yz Y+„ Y„ là đầu ra của hàm vòng ¿ Sau vòng lặp cuối cùng của hàm vòng các giá trị Yo, Ys, Yo, Ya, Ya được chuyển thành dầy 20 byte sử dụng phép biến đổi ngược được đặc tả tại Điều 7.1.2, ở đó Yatạo ra 4 byte đầu tiên, Y; sẽ tao ra 4 byte tiếp theo, tiếp tục như vậy Như vay byte dau
tiên (trái nhất) tương ứng với byte có trọng số thấp nhất của Y¿ và byte thứ 20 (phải nhất) tương ứng với byte có trọng số cao nhất của Y4 20 byte phải được biến đổi thành một xâu 160 bit sử dụng phép
biến đổi ngược được đặc tả tại Điều 6 Nghĩa là bit đầu tiên (trái nhất) tương ứng với bit có trọng số
cao nhất của byte đầu tiên (trái nhất) và bit thứ 160 (phải nhất) tương ứng với bit có trọng số thấp nhất
Trang 13TCVN 11816-3 : 2017 Hình 1 dwéi day mé ta buéc a va b cia myc 4 của hàm vòng ø trong hàm băm chuyên dụng 1 (RIPEMD-160) (một nửa kháo, tức là, bước e và d là tương tự) Trong hàm vòng ý, các bước từ a tới c của mục 4 được sử dụng 80 lần (/ = 79) Xo X, X: XS X¿ (Trước vòng?) + Sử + + Xo Xị Xy X; Xy (Sauvòngi
Hình 1: Một phần của hàm vòng trong Hàm băm chuyên dụng 1 8 Ham bam chuyên dụng 2 (RIPEMD-128)
Điều này đặc tả một phương pháp đệm, một giá trị khởi tạo và một hàm vòng để sử dụng trong các mô hình tổng quát cho hàm băm được mô tả ở TCVN 11816-1: 2017 Phương pháp đệm, giá trị khởi tạo và hàm vòng được đặc tả ở đây khi sử dụng trong mô hình tổng quát để xác định hàm băm chuyên dụng 2 Hàm băm chuyên dụng này có thể được áp dụng cho tất cả các xâu dữ liệu D có nội dung lớn
nhất là 2-1 bịt
Trong TCVN 11816, định danh của hàm băm đối với hàm băm chuyên dụng 2 là 32 (theo hệ thập lục phân)
CHÚ THÍCH: Hàm băm chuyên dụng 2 được định nghĩa trong Điều này còn được gọi theo tên RIPEMD-128, (3 Hàm băm
này chỉ được sử dụng trong các ứng dụng có mã băm chữa 128 bit hoặc nhỏ hơn được col là an toàn
8.1 Các tham số, hàm số và hằng số
8.1.1 Các tham số
Đối với hàm băm này Ls = 512, Lạ = 128 và L„ có thể đến 128
8.1.2 Quy ước thứ tự byte
Quy ước thứ tự byte của hàm băm này tương tự như quy ước thứ tự byte tại Điều 7 8.1.3 Các hàm số
Để thuận lợi cho việc cài đặt phần mềm, hàm vòng ø được mô tả theo thuật ngữ của các phép toán trên các từ 32-bit Một dãy các ham s6 go, g¡, , gas được sử dụng trong hàm vòng này, mỗi một hàm gy 0 SiS 63, nhan ba tir Xo, X; và X; làm đầu vào và đưa ra duy nhất một từ
Các hàm gi được xác định giống như 64 ham đầu tiên được quy định tại Điều con 7.1.3
Trang 148.1.4 Các hằng số
Hai dãy từ hằng số Cọ, G¡, , Cøa và C’o, C?, , Cs được sử dụng trong hàm vòng này Chúng được biểu diễn dưới dạng hệ thập lục phân (các bit trọng số cao nhất tương ứng với các bít bên trái nhất) chúng được xác định như sau:
Œ¡ = 00000000 C¡ = 50A28BE6 0<i<15 C; = 54827999 Cc’, = 5C4DD124 16<is 31 C, = 6ED9EBÁ1 C'; = 6D703BF3 32 sis 47 C, = 8F1BBCDC c’, = 00000000 48 sis 63
Hai dãy 64 giá trị dich được sử dụng trong hàm vòng này, mỗi một giá trị dịch từ 5 đến 15 Ký hiệu những dãy này là (fø, f;, ,fsa), (to, f, ,fe;) Chúng được xác định bằng với 64 giá trị đầu tiên của dãy tương ứng được quy định tại Điều con 7.1.4
Cuối cùng, hai dãy thêm của 64 chÏ số được sử dụng trong hàm vòng này, mỗi một giá trị của dãy từ 0 đến 16 Ký hiệu những dãy này như là (2ø, a¡, 8ø), (ao, 8, 8'sa), và chúng được định nghĩa bằng với 64 giá trị đầu tiên tương ứng với dãy được quy định tại Điều con 7.1.4
8.1.6 Giá trị khởi tạo
Đối với hàm vòng này, giá trị khởi tạo /V luôn phải là xâu 128 bít, được biểu diễn dưới dạng một dãy của 4 từ Yø, Y„ Yz Y2, ở hệ thập lục phân, trong đó Ya là 32 bit trái nhất của 128 bit: Yo = 67452301, Y1 = EFCDAB89, Y2= 98BADCFE, Y3 = 10325476 8.2 Phương pháp đệm Phương pháp đệm dữ liệu được dùng với hàm băm này tương tự với phương pháp được quy định tại Điều 7.2 : 8.3 Mô tả hàm vòng
Hàm vòng ¿ hoạt động như sau Lưu ý, trong mô tả này sẽ sử dụng các ký hiệu W, Xo, X4, Xa, Xs, va Xo, X's, X5, Xs đễ ký hiệu 9 từ có giá trị khác nhau cần thiết trong các tính toán
1, Giả sử 612 bit đầu vào đầu tiên của ở là Z, Z¿, , Z;ø với Zs chứa 32 bit trái nhất của 612 bít Cũng
giả sử rằng 128 bit đầu vào thứ hai của gla 4 tl Yo, Y1, Ya, Ya 2 Đặt Xo := Yo, Xị := Y¡, X; rẽ Y2 VÀ Xa c2 Y2
3 Dat Xo := Yo, X= Yt, X2:= Yo, va X3: Ya
4 Với ¡ chạy từ 0 đến 63 thực hiện 4 bước sau đây theo thứ tự xác định
(a) W:=S" (Xow glX1, Xz, Xs) UZ G);
(b) Xo '= Xa; Xo c= Xo; Xo 5X1; X= W;
Trang 15TCVN 11816-3 : 2017 (d) Xo = X's; X's = Xo, X25 Xi, X41 = W 5 Đặt W:= Yo Yo:= ¥1UX2 U's Y¡:= Ya Xa Xo Y¿:= Ys UXo X1 Y;:=WUXi UX›
6 Bốn từ Yo, Ys, Yz, Y¿ là đầu ra của hàm vòng ¢ Sau vòng lặp cuối cùng của hàm vòng các giá trị Y, Y Yz, Y được chuyển thành dây 16 byte sử dụng phép biến đổi ngược được đặc tả tại Điều 7.1.2, ở
đó Yotạo ra 4 byte đầu tiên, Y; sẽ tạo ra 4 byte tiếp theo, tiếp tục như vay Như vậy byte đầu tiên (trái nhất) tương ứng với byte có trọng số thấp nhất của Yovà byte thứ 16 (phải nhất) tương ứng với byte có trọng số cao nhất của Yz 16 byte phải được biến đổi thành một xâu 128 bit sử dụng phép biến đổi ngược được đặc tả tại Điều 6 Nghĩa là bit đầu tiên (trái nhất) tương ứng với bit có trọng số cao nhất của byte đầu tiên (trái nhất) và bit thứ 128 (phải nhất) tương ứng với bit có trọng số thấp nhất của byte thứ 16 (phải nhất)
Hình 2 dưới đây mô tả bước a và b của mục 4 của hàm vòng ø trong hàm băm chuyên dụng 2 (RIPEMD-128) (một nửa khác, tức là, bước c và d là tương tự) Trong hàm vòng j các bước bước từ a tới c của mục 4 được sử dụng 64 lần (/ = 0, , 63) KX XX, XX, Xz (Trbcvongi) - Z2 + lạ ory sử w Xẹ X\ X_ Xz Gavvongi)
Hình 2: Một phần hàm vòng trong hàm băm chuyên dụng 2 9 Hàm băm chuyên dụng 3 (SHA-1)
Trang 169.1 Các tham số, hàm số và hằng số
9.1.1 Các tham số
Đối với hàm băm này L; = 812, La = 160 và L„ có thể đến 160
9.1.2 Quy ước thứ tự byte
Đặc tả hàm vòng ở điều này được giả định một khối đầu vào là một dãy các từ 32 bit, mỗi khối 512 bít được tạo thành từ 16 từ như vậy Một dãy 64 byte Bụ, Bị, , Bạ được biểu diễn là một dãy 16 từ Za, Zs Zig Nhu sau Mai nhóm 4 byte liên tiếp được coi là một từ, byte đầu tiên của từ có trọng số cao nhất Vì vậy
Z)= 2™ By + 2° Bay + 2°Ban2 + Bang (0S 18 15)
Thực hiện phép biến đổi ngược để chuyển đổi mã băm từ một dãy các từ thành một dãy byte
CHÚ THÍCH: Thứ tự byte được đặc tả ở đây khác với Điều 7.1.2
9.1.3 Các hàm số
Để thuận lợi trong việc cài đặt phần mềm, hàm vòng ở được mô tả theo thuật ngữ của các phép toán
trên các từ 32-bit Một dãy các ham fy, f;, , f;ø được sử dựng trong hàm vòng này ở đó mỗi hàm f¡ 0 < ¡
< 79 nhận ba từ Xz, X; và Xz làm đầu vào và đưa ra một từ duy nhất Các hàm số , được xác định như sau:
iŒ,XuX; ) = (Xọ AX:) V (¬XoAX;), (0<¡i<19),
Fi(Xo,X1,X2) = Xo OX, OXq (20 $i $39),
Œu,Xu,X;) = (Xo AXy) V (XoAX;)V(AS;), (40 Si $59),
fiŒ›,Xu,3X; ) = Xo@Xz OX (60 <i<79),
9.1.4 Cac hang sé
Mét day tir hang s6 Co, C;, , C7» duoc sir dung trong hàm vòng này Trong biểu diễn hệ thập lục phân
chúng được xác định như sau (bit có trọng số cao nhất tương ứng với bit trái nhất): Œ¿ = 54827999, (0 < ¡ < 19),
Œ¡ = 6ED9EBA1,(20 < ¡ < 39), C, = BF1BBCDC, (40 < ¡ < 49), Œ¡ = CA62C1D6,(60 < ¡ < 79)
9.1.5 Giá trị khởi tạo
Đối với hàm vòng này giá trị khởi tạo /V luôn phải luôn là xâu 160 bit được biểu diễn dưới dạng một
Trang 17TCVN 11816-3 : 2017 9.2 Phương pháp đệm
Xâu dữ liệu D cần phải đệm thêm vào để số bit của nó là bội nguyên của 612 Quá trình độm diễn ra như sau:
1 D được nối với duy nhất một bit ‘1’
2 Kết quả của bước trước được nỗi với bit 0 giữa 0 và 511 sao cho độ dài thu được (theo bit) của xâu là đồng dư với 448 theo mô đun 512 Một cách rõ ràng hơn, nếu chiều dài ban đầu của D là Lo, và r là số du khi Lp chia cho 512, thì số các số 0 cần thêm là hoặc 447-r (nếu r < 447) hoặc 959 - r (nếu r > 447) Kết quả là một xâu bit có độ dài là 64 bit là bội nguyên của 512
3 Ghép xâu kết quả từ bước trước đó với 64-bit nhi phan cila Lp, bit có trọng số cao nhất đầu tiên
Trong mô tả hàm vòng này, mỗi một khối dữ liệu D; 512-bit, 7 < ¡ < q, được khai triển thành một dãy 16
tỪ Zo, Zt, ,Z:ø, ở đó Zo tong ứng với 32 bit trái nhất của D,
CHÚ THÍCH: Việc nối xâu 64-bit của Lo ở bước 3 sao cho xâu 32-bit có trọng số cao nhất và xâu 32-bit có trọng số thấp nhát
của Lo được sử dụng tương ứng với các từ Z:s và Z¿ của khối dữ liệu cuối cùng, được dựa trên cơ sở quy wdc thir ty byte
tại Điều 9.1.2, byle có trọng số cao nhất của Lo là byte trai nhất và byte có trọng số thấp nhất của Lo là byte phải nhất 8.3 Mô tả hàm vòng
Hàm vòng ø thực hiện như sau Lưu ý, trong mô tả này sử dụng các ký hiệu W, Xø, X;, Xz, Xz X4, Zo, Z¡, Za, Zzs, đễ ký hiệu 86 từ có giá trị khác nhau cần thiết trong các tính toán
1 Giả sử 642 bit đầu vào (đầu tiên) của ở là Zo, Z¿, ,Z:s với Zo là 32 bit trái nhất của 512 bit Cũng giả sử rằng 180 bít đầu vào thứ 2 của ølà 5 từ Yo, Y„ Yz Y» Y4
2 Với ¡ = 16 đến 79 đặt
Zi:= SỈ (Zia @ Zia O Zs O Zire)
3 Đặt Xz= Yo, X1!= Y+, Xz:= Yz Xs:= Ya va Xe= Yo 4 Với ¡= 0 đến 79 thực hiện hai bước sau:
(a) W:= S5@X¿) 0f(Xi, X;, X:) UX; U74 0 Gị;
(b) Xa:= Xa; Xa:= Xa; X;:= S%9(X‡); Xị:= Xe Xo:= W
5 Dat Yor= Yo UXo, Ys= Ys UXs, Ya™ Yo & Xz, Yai= Ys 0X, Ye= Y4 0 Xã
6 Nam tl Yo, Y1, Y2, Ys, Y« la dau ra cia ham vong ø Sau vòng lặp cuối cùng của hàm vòng các giá trị Yo, Ys, Yz Y2 Y được chuyển thành dãy 20 byte sử dụng phép biến đổi ngược được đặc tả tại Điều 9.1.2, ở đó Y¿ tạo ra 4 byte đầu tiên, Y; sẽ tạo ra 4 byte tiếp theo, tiếp tục như vậy Như vậy byte đầu tiên (trái nhất) tương ứng với byte có trọng số cao nhất của Y¿ và byte thứ 20 (phải nhất) tương ứng với byte có trọng số thấp nhất của Y4, 20 byte phải được biến đổi thành một xâu 160 bit sử dụng phép
biến đổi ngược được đặc tả tại Điều 6 Nghĩa là bịt đầu tiên (trái nhất) tương ứng với bit có trọng số
cao nhất của byte đầu tiên (trái nhất) và bit thứ 160 (phải nhất) tương ứng với bit có trọng số thấp nhất
của byte thứ 20 (phải nhất)
Hình 3 dưới đây mô tä bước a và b của mục 4 của hàm vòng ø trong hàm băm chuyên dụng 3 (SHA- 1) Trong hàm vòng ¢, các bước từ a và b của mục 4 được sử dụng 80 lần (/ = 0, , 79)
Trang 18X, (Trude vong ) thatthe So X X, X, X: X¿ Gavvongi)
Hinh 3 - Một phân hàm vòng trong hàm băm chuyên dung 3
40 Hàm băm chuyên dụng 4 (SHA-256)
Điều này đặc tả một phương pháp đệm, một giá tri khởi tạo và một hàm vòng để sử dụng trong các mô hình tổng quát cho hàm băm được mô tả ở TCVN 11816-1: 2017 Phương pháp đệm, giá trị khởi tạo và hàm vòng được đặc tả ở đây khi sử dụng trong mô hình tổng quát để xác định hàm băm chuyên dụng 4 Hàm băm chuyên dụng này có thể được áp dụng cho tất cả các xâu dữ liệu Ð có nội dung lớn nhất là 2-1 bit Trong TCVN 11816, định danh của hàm băm đối với hàm băm chuyên dụng 4 là 34 (theo hệ thập lục phân) CHÚ THÍCH: Hàm băm chuyên dụng 4 được xác định trong Điều này còn được gọi với tên chung SHA-268, [2] 10.1 Các tham số, hàm số và hằng số 10.1.1 Các tham số
Đối với hàm băm này Lị = 812, Lạ = 256 và L„ có thể đến 286 0.1.2 Quy ước thứ tự byte
Quy ước thứ tự byte của hàm băm này tương tự như quy ước thứ tự byte tại Điều con 9.1.2 10.1.3 Cac ham 36
6 thuan Ii trong vide cai dat phan mam, ham véng ¢ dec mé ta theo thuật ngữ của các phép toán trên các từ 32-bit Một dãy cac ham sé eo, @1, @2, 9s, 84, ø; được dùng trong hàm vòng này, hàm eo và ei mỗi hàm nhận 3 từ X2, X; và X; làm đầu vào, øz, øs, 6„ øs mỗi hàm nhận 1 từ X;làm đầu vào, và mỗi một hàm trong sáu hàm này đưa ra duy nhất một từ 32 bit
Các ham sé eg, e1, 62, @3, e4, ; được xác định như sau:
€0 (Xo Xu X; ) = (ŒXo A X;)@(¬XoAX:),
61 (Xo, Xq, Xo) = (Xọ AXJ)@ŒoAX;)@0ŒAX;),
€2(Xp) = 5" (Xp)@S"** (Xp)@S'?” (Xo),
e3(Xo) = 8” (Xa) @S"™* (Xo) @S'* (Xo),
€4(Xo) = S!7 (Xo) OS" (Xa) OR? (Xo),
Trang 19TCVN 11816-3 : 2017
@s(Xo) = "97 (Xo) BS" (Xo) ORC),
10.1.4 Các hằng số
Một dãy từ hằng số Co, C, , Cøs được sử dụng trong hàm vòng này, Trong biểu diễn hệ thập lục phân
chúng được xác định như sau (bit có trọng số cao nhất tương ứng với bit trái nhất) và theo thứ tự Co, Cụ Cao,
428a2£98 71374491 b5c0fbc£ e9b8dba5 3956c25b 59f111f1 923f82a4 ablc5ed5 d807aa98 12835b01 243185be 550o7dc3 72be5d74 80deblfe 9bdc06a7 cl9bf174 e49b69cl efbe4786 0£c19dc6 240calcc 2de92c6f 4a7484aa 5cb0a9dc 76£998da 983e5152 a831c66d b00327c§ b£597£c7 c6a00bf3 d5a79147 06ca6351 14292967 27b70aBS 2e1b2138 4d2c6d£fc 53380d13 650a7354 ?66a0abb 81c2c92e 92722c85 a2bfe8al a81a664b c24b8b70 c76c5la3 d192e819 6990624 f40e3585 106aa070 19a4¢116 1e376c08 2748774c 34b0bcb5 391c0cb3 4edðaa4a 5b9cca4£ 682e6££3 748£82ee 78a5636£ 94c87814 6cc70209 90befffa a4506ceb bef9a3f7 c67178£2 CHÚ THÍCH: Những giá trị này là 32 bit đầu tiên của phần phân số của căn bậc ba của 64 số nguyên tổ đầu tiên 10.1.5 Giá trị khởi tạo
Đối với hàm vòng này giá trị khởi tạo /V phải luôn là xâu 256 bit được biểu diễn dưới dạng một dãy 8 tlr Yo, Y1, Y2, Ya, Ys, Ys Y, Y; ở hệ thập lục phân, trong đó Yo là 32 bít trái nhất của 256 bit Yo = 62098667, Y, = bb67aeB5, Y; =3c6ef372, Yq = a64ff53a, Y, = 51005278, Ys = 9b05688c, Y, = 1f83d9ab, Y; = Bbe0cd19 CHÚ THÍCH: Những giá trị này nhận được bằng cách lầy các phần phân số của căn bậc hai của tám số nguyên tố đầu tiên 10.2 Phương pháp đệm Phương pháp đệm dữ liệu được sử dụng cho hàm băm này tương tự với phương pháp độm được quy định tại Điều 9.2 10.3 Mô tả hàm vòng
Hàm vòng thực hiện như sau Lưu ý, trong mé ta nay, stv dung cac ky higu Wi, We, Xo, X1, Xz Xo, Xt Xs Xe, Xr, Zo, Zi, Za, , Zas đễ ký hiệu 74 từ có giá trị khác nhau cần thiết trong các tính toán
1 Giả sử 612 bit đầu vào đầu tiên của ở là Zo, Z¿, Z„ trong đó Za là 32 bit trái nhất của 612 bit Cũng
giả sử rằng 256 bit đầu vào thứ 2 cilia ¢ 1a 8 tir Yo, Ys, Ya Yo, Y4-Ys, Yø, Y7 2 Với ¡ = 76 đến 63 đặt
Z¡!= (242) 9 Ziz W Oa{Zirs) 9 Zme
3 Đặt Xe:= Yạ Xị ;= Ys, Xo:= Yo, Xa:= Vo, X4:= Ys, Xe2= Yo, Xe 2= Yo, Xr := Yr 4 Với ¡ = 0 đến 63 thực hiện ba bước sau :
Trang 20(dD) We := @2(Xo) ở e(ŒG, Xt Xa);
(0) _Xpi= Xej Xq = Nei Ng Xgh Xp Xe O Wy5 qs Nop My = yi XY = Xo Xq = Wy Mạ,
5 Dat Yo'= Yo U Xo, Yr i= Ys U Xs, Yo:= Yo UXo, Yo= Ya UXs, Yass Va UXs Yo i= Ve UXs, Yo:= Yo U
Xo, Yr = V7 WX7,
6 Tam ti? Yo, Ys, Ya, Ya, Ys, Ys, Yo, Y; là đầu ra của hàm vòng ở Sau vòng lặp cuối cùng của hàm vòng 8 từ Yo Yr, Y2, Ys, Yn Ys Yo Yr dure chuy€n thanh mét day 32 byte sử dụng phép biến đổi ngược
được đặc tả tại Điều 10.1.2, ở đó Ytạo ra 4 byte đầu tiên, Y; sẽ tạo ra 4 byte tiếp theo, tiếp tục như
vậy Như vậy byte đầu tiên (trái nhất) tương ứng với byte có trọng số cao nhất của Yo và byte thứ 32 (phải nhất) tương ứng với byte có trọng số thấp nhất của Y;, 32 byte phải được biến đổi thành một xâu 266 bit sử dụng phép biến đổi ngược được đặc tả tại Điều 6 Nghĩa là bit đầu tiên (trái nhất) tương ứng với bịt có trọng số cao nhất của byte đầu tiên (trái nhất) và bit thứ 256 (phải nhất) tương ứng với bít có trọng số thấp nhất của byte thứ 32 (phải nhất)
Hình 4 dưới đây mô tả các bước a, b và c của 4 của hàm vòng ¿trong hàm băm chuyên dụng 4 (SHA- 258) Trong hàm vòng đ các bước a, b và c của mục 4 được sử dụng 64 lan (1 = 0, ., 63) Xo XH ®& Xs X a XX T1.» INET + & w | Ẻ + \ ` X % & % XS Xs XM % + he ye |
Hình 4: Một phần của hàm vòng trong hàm băm chuyên dụng 4 1 Hàm băm chuyên dụng 5 (SHA-512)
Điều này đặc tả một phương pháp đệm, một giá trị khởi tạo và một hàm vòng để sừ dụng trong các mô
hình tổng quát cho hàm băm được mô tả ở TCVN 11816-1: 2017 Phương pháp đệm, giá trị khởi tạo
Trang 21TCVN 11816-3 : 2017
1.1.2 Quy ước thứ tự byte
Đặc tả hàm vòng ở điều này được giả định một khối đầu vào là một dãy các từ 64 bit, mỗi khối 1024 bit
được tạo thành từ 16 từ như vậy Một dãy 128 byte Bo, Br, , Biar được biểu diễn là một dãy 16 tir Zo,
= Z như sau Mỗi nhóm 8 byte liên tiếp được col là một từ, byte đầu tiên của từ có trọng số cao
nhất, VÌ vậy
Z)= 2° By + 2 Bans + 2” Bonz + 252Bạug + 22Bau+ + 209Ba„s + 28Ba„¿ + Bạuy — (0Ï% 18)
Thực hiện phép biến đổi ngược để chuyển đổi mã băm từ một dầy các từ thành một dãy các byte
11.1.3 Các hàm số
Để thuận lợi trong việc cài đặt phần mềm, hàm vòng ø được mô tả theo thuật ngữ của các phép toán trên các từ 64-bit Một dãy các hàm số dọ, dị, da, da, dạ dạ được dùng trong hàm vòng này, hàm dọ và d; mỗi hàm nhận 3 từ 64 bịt X;, X; và.X; làm đầu vào, d;, dạ, dạ và d; mỗi hàm nhận 1 từ 64 bit làm đầu vào, và mỗi một hàm trỏng sáu hàm này đưa ra duy nhất một từ 64 bit
Các hàm dù, di, dz, d›, dạ, dạ được xác định như sau:
do(Xo, Xa Xo) = (Xo A X:)@(¬XcA;), dy (Xo, Xa Xo ) = (Ko AXa)@(XoAX2)@(KAX2),
da(Xq) = 5’? (Xo)@S'™* (Xo) @S'??(Xo), đạ(ŒXe) = S**(Xq)BS'* (Xo) BS" (Xo), dg(Xo) = S'*(Xp)@S"* (Xp) OR? (Xo), ds(Xo) = S"°(Xo)@S'* (Xo)ORS(X0).-
11.1.4 Cac hằng số
Một dãy từ hằng số Co, C¡, , C;o được sử dụng trong hàm vòng này Trong biểu diễn hệ thập lục phân
chúng được xác định như sau (bit có trọng số cao nhất tương ứng với bit trái nhất) và theo thứ tự Co, Chevy Cra
428a2£98d728ae22 1131449123ef65cd b5c0fbcfec4d3b2£ e9b5dba58189dbbc 3956c25b£348b538 59£111£1b605d019 923£82a4a£f194f9b ablc5ed5da6d8118 d807aa98a3030242 12835b0145706fbe 243185be4ee4b28c 550c7dc3d5ffb4e2 72be5d?4£27b896£ 80đebl1fe3b1696b1 9bdc06a725c?1235 c19b£174c£692694 e49b69c19ef14ad2 efbe4786384£25e3 0fc18dc68b@cdSb5 240calcc??ac3c65 2de92c6£592b0215 4a7484aa6ea6e483 5cb0a9dcbd41£bd4 ?6f988da831153b5 983e5152ee66dfab a831c66d2db43210 b00327c8998£fb213f b£597fc?bee£f0se4 c6e00b£f33da88fc2 d5a79147930aa725 06ca6351e003826£ 142929670a0e6s70 27b10a8546422ffc 2e1b21385c26c926 4đ2c6d£fc5ac42asd 53380d139d95b3d£ 650a13548baf63de ?66a0abb3c77b2a9 81c2c92e47edase6 92722c851482353b a2b£e0a14c£10364 a81a664bbc423001 c24bab70d0£89791 c76c51a20654be30 d192e819d6ef5218 d69906245565a910 £40e35855771202a 106aa07032bbdlb8 19a4c116b8d2d0cB 1e376c085141ab53 2748774cd£f9eeb99 34b0bcb5e19b48a8 391c0cb3c5c95a63 4ed8aa4ae3418acb 5b9cca4f1763e373 682e6££3d6b2b8a3 148£82ae5defb2f£c ?8a5636£43172f60 84c87814a1£0ab?2 8cc?02081a6439ac 90be£ffa23631e28 a4506cebde82bde9 be£9a3f7b2c67915 c67176£2e372532b ca273eceea26619c d186b8c721c0c207 eada7dd6cde0eble £57d4£7£ee6ed178
06£067aa72176fba 0a637dc5a2c898a6 113£9804be£90dae 1b710b35131c471b 28db77£523047d84 32caab7b40c72493 3c9ebe0a15c9bebc 431d67c49c100d4c
Trang 221.1.5 Giá trị khởi tạo
Đối với hàm vòng này giá trị khởi tạo /V phải luôn là xâu 612 bít được biểu diễn dưới dạng một dãy 8 từ Y2 Y Yx Yz Y4 Y Ys, Y; ở hệ thập lục phân, trong đó Y¿ là 64 bit trái nhất của 612 bít, Yo = 6a09e667f3bcc908, Y; = bb67ae8584caa73b, Yor 3c6ef372fe94f82b, Ya = a54ff53a5f1d36ft, Y4= 510e527fade682d1, Ye = ShO5688c2b3e6c'f, Ye= 1f83d9abfb41bd6b, Y;= Sbe0cd19137e2179 CHỦ THÍCH: Những giá trị trên nhận được bằng cách lầy các phần phân số của căn bậc hai của tám số nguyên tổ đầu tiên ` 1.2 Phương pháp đệm Xâu dữ liệu D cần phải đệm thêm vào để số bít của nó là bội nguyên của 1024 Quá trình đệm diễn ra như sau;
1 D được nối với duy nhất một bit 1’
2 Kết quả của bước trước được nối với bit 0 giữa 0 và 1023 sao cho độ dài thu được (theo bit) của xâu là đồng dư với 896 theo mô đun 1024 Một cách rõ ràng hơn, nếu chiều dài ban đầu của D là Lo, và r là số dự khi Lọ chia cho 1024, thì số các số 0 cần thêm là hoặc 895-r (nếu r < 895) hoặc 1919 - r (nếu r > 895) Kết quả là một xâu bit có độ dài là 128 bit là bội nguyên của 1024
3 Ghép xâu kết quả từ bước trước đó với 128-bit nhị phân của Lo, bit có trọng số cao nhất đầu tiên Trong mô tả hàm vòng này, mỗi một khối dữ liệu D; 1024-bit, 7 < 7 < q, được khai triển thành một dãy
46 ti? Zo, Z¿, ,Z:s, ở đó Zo tương ứng với 64 bít trái nhất của D,
CHỦ THÍCH: Việc nổi xâu 126-bit của Lo ở bước 3 sao cho xâu 64-bit có trọng số cao nhất và xâu 64-bit có trạng số thắp nhất
của Lo được sử dụng tương ứng với cáo †ử Z¡¿ và Z¡s của khối dữ liệu cuối cùng, được dựa trên cơ sở quy ước thứ tự byte
tại Điều 11.1.2, byte có trọng số cao nhất của Lo là byte trái nhất và byle có trọng số thắp nhất của Lo là byte phải nhất, 1.3 Mô tả hàm vòng
Hàm vòng ở hoạt động như sau Chú ý rằng, cdc ky higu Ws, We, Xo, Xi, X2, Xa, Xa, Xs, Xo, Xz Zo, Zt, Zz, 4 Zr, 48 ky hiéu 90 tr o6 gia trị khác nhau cần thiết trong các tính toán
1 Giả sử 1024 bit đầu vào (đầu tiên) của ø là Zo, Z¿, Z;s trong đó Zo chứa 64 bit trái nhất của 1024
bit Cũng giả sử rằng 812 bit đầu vao (thir 2) cla gla 8 tly Yo, Y1, Ya, Ya, Ya Ys, Yo, Yr
2 VOi i= 16 đến 79 đặt Z) := de(Zr2) WU Zur U dafZis5) W Zite
3 Đặt Xo ;= Yo, X1 = Yt, Xo 0= Yo, Xo := Va, Xa 2= Ya, Xs /= Ye, Xe 7= Yo, X7 2= Yr
4 VOi i= 0 đến 79 thực hiện ba bước sau:
(a) W¿ := X; w dạ(X¿) ở do (Xa, Xs, Xe) UCU Zi; (b) W¿:= da(Xo) & ds (Xo, Xt, Xz);
Trang 23TCVN 114816-3 : 2017 6 Đặt Yo:= Yo UXo, Y1s= Yr UX1, Yo:= Ye UXz Ya:= Ya UXs, Yas= Ys UX, Yo= Ye Us, Yo:= Yo U Xw Y;:= Y; UX;
6 Tám từ Yo, Yi, Ya, Yo, Ya, Yo, Yo, Yy là đầu ra của hàm vòng ø Sau vòng lặp cuối cùng của hàm vòng 8 từ Yo, Yx, Ya Ya, Ye Ye Ye, Yr duoc chuyén thanh một dãy 64 byte sử dụng phép biến đổi ngược được đặc tả tại Điều 11.1.2, ở đó Yotạo ra 8 byte đầu tiên, Y; sẽ tạo ra 8 byte tiếp theo, tiếp tục như vậy Như vậy byte đầu tiên (trái nhất) tương ứng với byte có trọng số cao nhất của Ya và byte thứ 64 (phải nhất) tương ứng với byte có trọng số thắp nhất của Y; 64 byte phải được biến đổi thành một xâu 512 bit sử dụng phép biến đỗổi ngược được đặc tả tại Điều 6 Nghĩa là bit đầu tiên (trái nhất) tương ứng
với bit có trọng số cao nhất của byte đầu tiên (trái nhất) và bit thứ 512 (phải nhất) tương ứng với bít có
trọng số thấp nhất của byte thứ 64 (phải nhất)
Hình 5 dưới đây mô tả các bước a, b và c của mục 4 của hàm vòng ý trong hàm băm chuyên dung 5 (SHA-512) Trong hàm vòng è, các bước a, b và e của mục 4 được sử dụng 80 lần (¡ = 0, , 79) X XX Xs X4 Ns % Xr : [a DA Av NU] re de +h sT + | ow, + ‡ XXN Ñ Xe X CN 6 Xs Me &
Hinh 5: Mét phan ham véng trong ham bam chuyén dyng 5 12 Ham băm chuyên dụng 6 (SHA-384)
Điều này đặc tả một phương pháp đệm, một giá tri khởi tạo và một hàm vòng để sử dụng trong các mô hình tổng quát cho hàm băm được mô tả ở TCVN 11816-1: 2017 Phương pháp đệm, giá trị khởi tạo và hàm vòng được đặc tả ở đây khi sử dụng trong mô hình tổng quát để xác định hàm băm chuyên dụng 6 Hàm băm chuyên dụng này có thể được áp dụng cho tắt cả các xâu dữ liệu D có nội dung lớn nhdt la 278-4 bit Trong TCVN 11816, định danh của hàm băm đối với hàm băm chuyên dụng 6 là 36 (theo hệ thập lục phân) CHU THICH: Ham băm chuyên dụng 6 được xác định trong Điều này còn được gọi với tên chung SHA-384, [2] 42.1 Các tham số, hàm số và hằng số 42.1.1 Cac tham số
Trang 2412.1.3 Cac hàm số
Các hàm số của hàm băm này giống với các hàm số đối với hàm băm tại Điều 11 12.1.4 Các hằng số
Các hằng số của hàm băm này giống với các hằng số của hàm băm tại Điều 11
12.1.8 Giá trị khởi tạo
Đối với hàm vòng này giá trị khởi tạo /V phải luôn là xâu 512 bit được biểu diễn dưới dạng một dây 8 tiv Yo, Y1, Yz Y+ Y4 Ys, Y, Y; ở hệ thập lục phân, trong đó Yo là 64 bit trai nhất của 512 bit Yo =cbbb9d5dc1059ed8, Y;= 629a292a367cd507, Ya= 9159015a3070dd17, Ys= 152fecd8f70e5939, Y4= 67332667ffc00b31, Ye = 8eb44a8768581511, Ye = db0c2e0d64f98fa7, Y; = 47b5481dbefa4fa4 CHÚ THÍCH: Những giá trị trên nhận được từ các phần phân số của căn bậc hai của các số nguyên tố thứ 9 tới thứ 16 12.2 Phương pháp đệm Phương pháp đệm dùng trong hàm băm này giống với phương pháp đệm được đặc tả trong Điều 11.2 12.3 Mô tả hàm vòng
Hàm vòng dùng với hàm băm này giống với hàm vòng được xác định trong Điều 11.3
Giá trị băm 384 bit cuối cùng nhận được bằng cách cắt bớt đầu ra của SHA-512 để lầy được 384 bit
trái nhất của nó
413 Hàm băm chuyên dyng 7 (WHIRLPOOL)
Trang 25TCVN 11816-3 : 2017 13.1.2 Quy ước thứ tự byte
Đặc tả hàm vòng ở điều này được giả định một khối đầu vào là ma trận M (tất cả các ma trận có kích
thước 8x8 với các phần tử được chọn từ trường GF(2%)), mỗi khối 512 bit được tạo thành từ một ma trận như vậy Day 64 byte B = (Bo, By, Bạ›) được biểu diễn như một ma trận M theo cach sau Phan tử ở hàng đầu tiên và cột đầu tlên của ma trận là byte trái nhất (byte trái nhất tương ứng với byte trọng số lớn nhất) của dãy B (tức Bu), phần tử ở hàng đầu và cột thứ hai của ma trận sẽ là byte thứ 2 trái nhất của B (tức B)), và phần tử ở hàng thứ 8 và cột thứ 8 của ma trận sẽ là byte phải nhất của B
(tức Baa) Sử dụng hàm co được chỉ ra tại Điều con 13.1.3 để thực hiện điều nay
Thực hiện phép biến đổi ngược để chuyển đổi mã băm từ một ma trận như vậy thành một dãy các byte
13.1.3 Các hàm số
Để thuận lợi trong việc cài đặt phần mềm, hàm vòng ý được mô tả theo thuật ngữ của các phép toán trên ma trận M Một dãy các hàm số co, cr, C2, 6s, cạ được dùng trong hàm vòng này Chúng được xác định như sau
Hàm cọ nhận một dãy 84 byte 8 = (Ba, Bị, ., Bạa) là đầu vào, và đưa ra ma trận Z' = (z'y) trong đó
z=Bạy (0-Si,j $7)
Điều này có nghĩa là Z’ = co(B) khi va cht Khi z'y = Ba (0 <i, J <7)
Hàm c; nhận ma trận X” = (x”) là đầu vào va đưa ra một ma tran W’ = (wy) trong đó wi= sjt}, (0 <ỉ J <7)
và s là hộp thế phi tuyến Nghĩa là W' = e;(X”) khi và chỉ khi wÿ = sJx' (0 <‡, j <7)
Trang 26Hàm o; nhận đầu vào là ma trận X”= (x7) và đưa ra ma trận W'= (w) với W1 = X tp mods, (0 <ỉ, j S7)
Điều này có nghĩa là W'= œa(X”) khi và chỉ khi w'ÿ = X'w¿ moasj , (Ơ < ijs7) Ham ¢3 nhan ma trận X” là đầu vào và đưa ra ma trận Wˆtrong đó Wz=X"sC* và ở đây C” là ma trận vòng 8x8 với các phần tử được chọn từ trường GF(2%), như được đặc tả dưới đây: 01 01 04 01 08 05 02 09 09 01 01 04 01 08 05 02 02 09 01 01 04 01 08 05 05 02 09 01 01 04 01 08 08 05 02 09 01 01 04 01 01 08 05 02 09 01 01 04 04 01 08 05 02 09 Of 01 01 04 01 08 05 02 09 01
Điều này có nghĩa là W”= ea(X”) khi và chỉ khi W/ = X?e C7,
Hàm c¿ nhận đầu vào là 2 ma trận X”= (x7) và Y' = (y¡) và đưa ra một ma trận duy nhất W = (wj) trong đó
w= x® yụ, (0 <¡ j< 7)
Điều này có nghĩa là W = œa(X”) khi và chỉ khi wj= X@ vụ, (0 < Í J< 7)
13.1.4 Các hằng số
Một dãy các ma trận hằng số A' = (Af/) (0 < r < 10) được sử dụng trong hàm vòng này, Hằng số vòng cho vòng thứ r là một ma trận, được xác định như sau:
Aq=sj8(r- 1) +ƒj (0<J<7),
A,=0, (1sis7,0<js7)
13.1.5 Gia tr] khdi tạo
Giá trị khởi tạo /V là một xâu có 812 bit '0'
13.2 Phương pháp đệm
Xâu dữ liệu D cần phải đệm thêm vào để số bit của nó là bội nguyên của 512 Quá trình đệm diễn ra
như sau:
1, D được nồi với duy nhất một bit *1'
2 Kết quả của bước trước được nói với bit 0 giữa 0 và 511 sao cho độ dài thu được (theo bit) của xâu
là bội lẻ của 256
Trang 27TCVN 11816-3 : 2017 Trong mô tả của hàm vòng này, mỗi khối dữ liệu Dị 512 bit, 7 </ <q, được khai triển thành ma trận Z’ = (zt) (0 <¡,j<7), được đặc tả tại Điều 13.1.2, ở đó z'so tương ứng với 8 bit trái nhất của D; và z'z; tương ứng với 8 bit phải nhất của D
CHU THICH: Vide nếi xâu 286 bít của Lo trong bước 3 sao cho xâu 288-blt được sử dựng trực tiếp như nửa thứ hai của ma
trận dữ liệu cuối cùng, dựa trên quy ước thứ tự byte ở Điều 13.1.2, byte có trọng số lớn nhất của Lo ở hàng thứ 8 va cột đầu tiên, byte có trọng số thắp nhất của Lo ở dòng thứ 8 và cột thứ 8,
13.3 Mé ta ham vòng
Hàm vòng ¿ hoạt động như sau Chu ¥ rang, cdc ky higu W, X”, Ko, Ki, Kio d& ky higu 13 ma trận khác nhau, các phần tử được lựa chọn từ trường GF(2*) với các giá trị cần thiết trong các tính toán 1 Giả sử 612 bit đầu vào (đầu tiên) của ø là ma trận Z' với các phần tử được chọn từ trường GF(2?)
được định dạng bằng cách sử dụng quy ước trật tự byte được đặc tả trong Điều 13.1.2 Cũng giả sử rằng 512 bit đầu vào thứ hai của ø là ma trận Y” với các phần tử được chọn từ trường GF(2°)
2 Đặt Ko ;= Y' và với ¡ từ 1 đến 10, đặt:
Kr= ©a(6s(ea(G(Ki4))), A)
CHỦ THÍCH: Bước này mở rộng ma trận Ythành dãy các khoá vòng Ko, Kio 3 Đặt X”;= œ(Z”, Kẹ); và với J từ 1 đến 10 thực hiện hai bước sau
(a) W':= œ(ca(es(ei(X?)), K);
(b) X":= W 4 Đặt Y':= W'@ Kạ® Z
5, Ma trận Y" biểu diễn đầu ra của hàm vòng ø Sau vòng lặp cuối cùng của hàm vòng, ma trận Y' được chuyển thành dãy 64 byte sử dụng phép biến đổi ngược được đặc tả tại Điều 13.1.2, ở đó phần tử ở hang đầu tiên và cột đầu tiên của ma trận tạo ra byte đầu tiên, phần tử ở hàng đầu tiên và cột thứ hai của ma trận sẽ tạo ra byte tiếp theo, , phần tử ở hàng thứ 8 và cột thứ 8 của ma trận tạo ra byte cuối cling 64 byte được chuyển thành một xâu 512 bit sử dụng phép biến đổi ngược được đặc tả trong
Điều 6, có nghĩa là, bít thứ nhất (trái nhất) tương ứng với bit có trọng số cao nhất của byte đầu tiên (trái nhất), và bit thứ 512 (phải nhất) tương ứng với bit có trọng số thấp nhất của byte thứ 64 (phải nhất)
Hình 6 dưới đây chỉ ra các bước a) và b) của mục 3 trong hàm vòng ÿ của hàm băm chuyên dung 7 (WHIRLPOOL) Trong hàm vòng j các bước được chỉ ra dưới hình 6 được thực hiện 10 lần (/ = 7, .,
Trang 28=z G G 6 1 Gs x” w
Hinh 6, Mét phan cita ham vòng trong hàm băm chuyên dụng 7
14 Hàm băm chuyên dụng 8 (SHA-224)
Hàm băm chuyên dụng 8 được bổ sung bới ISO/IEC 10118-3:2004/Amd.1:2006
Điều này đặc tả một phương pháp đệm, một giá trị khởi tạo và một hàm vòng để sử dụng trong mô hình tổng quát đối với các hàm băm được mô tả trong TCVN 11816-1:2017 Phương pháp đệm, giá trị khởi tạo và hàm vòng đặc tả tại đây được sử dụng trong mô hình tổng quát trên cùng với định nghĩa hàm băm chuyên dụng 8 Hàm băm chuyên dựng này có thể được áp dụng cho tất cả các xâu dữ liệu D có nội dụng lớn nhất là 2%4-1 bít
Trong TCVN 11816, định danh hàm băm đối với hàm băm chuyên dụng 8 là 38 (hệ thập lục phân)
CHU THICH: Ham băm chuyên dụng 8 được định nghĩa trong mục này được gọi chung là SHA-224, [2]
14.1 Các tham số, hàm số và hằng số 14.1.4 Các tham số
Đối với hàm băm này L; = 812, L¿ = 288 và L„ = 224
14.1.2 Quy ước thứ tự byte
Quy ước xếp thứ tự byle đối với hàm băm này giống với quy ước đối với hàm băm của Điều 10
14.1.3 Cac hàm số
Các hàm số đối với hàm băm này giống với các hàm số đối với hàm băm của điều 10 14.1.4 Các hằng số
Các hằng số đối với hàm băm này giống các hằng số đối với hàm băm của điều 10
14.1.8 Giá trị khởi tạo
Đối với hàm vòng này giá tri khởi tạo /V luôn là xâu 256 bit sau đây được biểu điển như một dây tám từ
Trang 29TCVN 11816-3 : 2017 Yo= 64f98fa7 Y;= befa4fa4 CHỦ THÍCH: Các giá trị này là 32 bịt thứ tự thắp của các giá trị được đặc tả trong 12.1.5 14.2 Phương pháp đệm
Phương pháp đệm sẽ được dùng với hàm băm này cần phải là giống như phương pháp đệm được định nghĩa trong Điều 10.2
14.3 Mô tả hàm vòng
Hàm vòng được dùng với hàm băm này cần phải giống hàm vòng được định nghĩa trong Điều 10.3 Giá trị băm 224 bit cuối cùng nhận được bằng cách cất bớt đầu ra của SHA-256 để lẫy được 224 bit
Trang 30Phy luc A (Tham khảo)
Các ví dụ
Phụ lục này đưa ra một số ví dụ cho việc tính toán của hảm băm chuyên dụng 1-8 Với mỗi hàm băm, các giá trị trung gian nhận được trong quá trình thực hiện hàm băm cũng được đưa ra đối với một số ví dụ
Trong phụ lục này, đề cập đến mã ASCII của xâu dữ liệu; chúng tương đương với loại mã sir dung ISO 646
A.1 Hàm băm chuyên dụng 1
CHÚ THÍCH: Tài liệu tham khảo [3] chứa mô tả dạng mã giả của hàm băm chuyên dụng 1 A.1.1 Ví dụ 1 “Trong ví dụ này, xâu dữ liệu là một xâu rỗng, tức là xâu có độ dài bằng không Mã băm là xâu 160-bit dưới đây $C 11 85 A5 C5 E9 FC 54 61 28 08 97 7E E8 FŠ 48 B2 25 8D 31 A.1.2 Ví dụ 2
Trong ví dụ này, xâu dữ liệu gồm một byte duy nhất, chính là bản mã ASCII của ký ty ‘a’ Ma bam la xâu 160-bit dưới đây: 0B DC 9D 2D 25 6B 3E E9 DA AE 34 7B R6 F4 DC 83 5A 46 7F FE A,1.3 Ví dụ 3 Trong ví dụ nảy, xâu dữ liệu là xâu 3 byte là bản mã A§CII của 'abe' Nó tương ứng với xâu bit: 01100001 01100010 01100011’ Sau quá trình đệm, khối 16 từ đơn nhận được tử xâu dữ liệu như sau: 80636261 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000018 00000000 Các giá trị Xo, Xu, Xa, Xa, Xa, X'o, X's, X’2, X's, X'; nhận được lần lượt như sau (biểu diễn dưới dạng thập lục phân):
Trang 32A.1.4 Ví dụ 4
Trong ví dụ này xâu dữ liệu là xâu 14 byte là ban ma ASCIl ctia ‘message digest’ Mã băm là xâu 160 bit sau: 5D 06 89 EF 49 D2 FA E5 72 B8 81 B1 23 A8 5F FA 21 59 5F 36 A.1.5 Ví dụ 5 Trong ví dụ này, xâu dữ liệu là xâu 26 byte là bản mã ASCII của *abcdefghijkImnoparstuvwxyZ" Mã băm là xâu 160 bit sau: F7 1C 27 10 9C 69 2C 1B 56 BB DC EB 5B 9D 28 65 B3 70 8D BC A.1.6 Ví dụ 6 Trong ví dụ này xâu dữ liệu là xâu 62 byte là bản mã ASCII của 'ABCDEFGHI.JKLMNOPGRSTUVWXYZabcdefghijklmnopqrstuvwwxyz0123456789' Mã băm làxâu 160 bit sau: B0 E2 0B 6E 31 16 64 02 86 ED 3A 87 A5 71 30 79 B2 1F 51 89 A.17 Ví dụ 7
Trong ví dụ này xâu dữ liệu là xâu 80 byte là bản mã ASCII của tám lần lặp xâu '1234567890' Mã băm là xâu 160 bit sau: 9B 75 2E 45 57 3D 4B 39 F4 DB D3 32 3C AB 82 BF 63 32 6B FB A.1.8 Ví dụ 8 Trong ví dụ này xâu dữ liệu là xâu 56 byte là bản mã ASCII của 'abcdbcdecdefdefgefghfghighijhijkijkljkImklmnlmnomnopnopd" Sau quá trình đệm, hai khối 16 từ nhận được từ xâu dữ liệu như sau: 64636261 65646362 66656463 67666564 68676665 69686766 6A696867 6B6A6968 6C6B6A69 6D6C6B6A 6E6D6C6B 6F6E6D6C 706F6E6D 71706F6E 00000080 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Các giả trị Xạ, Xạ, Xa, Xa, Xa, X'o, X's, X'2, X'a, X (biểu diễn dưới dạng thập lục phân) nhận được lần lượt như sau đối với việc tính khối đầu tiên:
Trang 34EGC7ACA1, P336AA45, 7943443, ĐADFA20E, 556E3B3P, 73485C36, 91704BDB, DBPA79F5, F3FBB365, 386EF6EB SS56E2B3E, 2FF847D6, F336AA45, GF110DE5, DADFA2OE, 386EF6FB, 40CBA937D, 91704BDR, A9E7D76F, F3FBB365 DADEA20E, 332F264C9, 2FF847D6, DAA917CC, 0P110DE5, F3PBB365, B0BD2456, 40CBA97D, C12P6E45, ASE7076F 0E110DES, 78378FE9, 33FEG4C9, R11F58BP, DAA917CC, A9E7D76P, CA09D415, BOBD2456, 2EA5F503, C12F6E45 Các giá trị Xo, X1, Xa, Xa, Xa, X'o, X's, X’2, X's, Xe (bidu diễn dưới dạng thập lục phân) nhận được lần lượt như sau đối với việc tính khối thứ hai:
52720555, 3B09A402, 9434381, SCBOCIEA, 90390740, 52720555, 3809A402, 94Œ34381, SCEDC3EA, 90390740 9039Đ740, 58874B6C, 3B09A402, ODOFC653, 9ŒEDC3EA, 9039D740, TFA6C9AP, 3B809A402, 0D0EC653, SCEDCIEA SCEDC3BA, 1D0043D8, 59874B6C, 269008EC, 0D0EC653, 9CEDC3EA, 149F92B4, 7FA6C9AF, 263008EC, 0D0EC653 ODOECES3, EF3045D6, 1D0D43D8, 1020B166, 269008EC, 0D0EC653, 0E887B05, 148F32B4, 9B26RDFP, 26900BEC 2690085Œ, 1E6BCBAD, EF3045D6, 390F6074, 1D2DB166, 269008EC, 6E0757AC, QEBB7EO5, TE4ADO052, 9B26BDEE 1D2DB166, 78CC70E3, 1E6BC8AD, C1175RBG, 350F6074, SBZ6RDEE, 22C1290R, 6EB757AC, 21EB143A, 7B4AD052 350E6074, 13A4B937, 79CC70E3, AP22B479, C1175BBC, 7E4AD052, SEBO2C5A, 32C1290B, 1D5EBIBA, 21F6143A C1175BBO, EE066CB9, 13A4B937, 31C38DE7, AF22B479, 21F8143A, 719PB9D9, 8EBOZC5A, OAAAZCCB, 1D5EBIBA AP22B479, A08APF93, HEO66CB9, 92E4DC4E, 31C38DE7, 1D5EBIBA, 3D5B§A9A, 719EB9D9, COB16AZA, 04A42CÈB 31C38DE7, 89P27A43, A08AFF93, 19B2E7B8, 92E4DC4E, O4A42CCB, 47DEAOA3, 3D5B8A9A, TAE765C6, C0B16A3A 92E4DC4E, 50EECBA1, 89E27A43, 2BFE4E82, 1982E7B8, COR16A3A, A6AACEPI, 47DEA0A3, 6EZA6BF5, TAR?65C6 19B2E7B8, DFDEB92D, SDREC8A1, 89E90E27, 2BFE4E82, 7AE765C6, 4456D048, A6ÀACEE, 7A828DIF, 6R2A68F5 2BFE4E82, 47B046Cđ, 0FDFB92D, BB228543, 89F90E27, 6E2A68F5, 072D166P, 4456D048, AB3B869A, 7A28DIF' 89E90E27, 5CBF582E, 47804608, 7A24B43F, BB228543, TAGZED1F, B3?A11D1, 072D166E, 5B412111, AB38B69A BB228543, 3D7F05B8, 5C8F582E, C11B211E, 7A24B43F, AB3BB869A, 654CBE94, B37A11DI, R459BB1C, 5B412111 7A24B43F, 962BCAF7, 3D7F05B8, 30608972, C11B211B, 58412111, 6AFFĐABA, 654CBE94, E84746CD, R459B81C C11B211E, 1A45902E, 962RCAF7, FCl6EOF5, 3D60B972, B459RB1C, EPDE390E, 6AFFSABA, 32PA5195, E84746CD 3D60B972, 1622907A, 1A459DZE, AF2BDES8, FC16EQE5, E84746CD, 563023C2, REOE390E, EEGNESAB, 32PA5195 FC16EQOFS, B75B2E49, 1622907A, 16745869, AFZBDE58, 32FA5195, 5C2944EB, 5690232, 38E43BBð, PEGAEQAB AF2BDE58, 6FI6D4C4, B75BZ2E49, 8A41E858, †674BB69, FE6RE9AB, 103CE067, 5C294SE8, 40BFO9SA, 38543885 16T4B869, 46FDEEB9, 6P16D4C4, 6CB926DD, 8A41E850, 38E4ZBB8, AB641473, 103CE067, A512A170, 408E095A BA41EB58, E9F89E50, 46FDEEB9, 5B5311BC, 6CB926DD, 40BF095A, 25643DBF, AB641473, F3819C40, A513A170 6CB926DD, FC9A614C, E9F89F50, F7BAZ51B, 5B5311RC, A513A170, E€0A5336, 25643DBF, 9051CEAD, F3819C40 5B5311BC, D525F69D, FC9A6L4C, R27D43A7, F7BAZ51B, F3819C40, FF4D319D, EEDA5336, ÿ0F6FC95, 9051CEAD P1BA2S1B, EDFBF331, D52SP69D, 69853332, E27D43A7, 9051CEAD, 6D5A26DD, FF4D318D, 294CDB98, 90F6FC95 E27D43A7, 93C5E732, EDPAF331, 97DA7754, 698533B2, 90F6FC95, 655C140A, 34C637ED, 294CDB98 69853382, 24907FDP, 93C5E732, EFCCC7B7, 97DA7754, 294CDB98, 79C1BC35, 68437585, 34C637FD 97DA7754, E2193E3E, 24907EDF, 179CCA4F, RECCC7B7, 34C637FD, B2D5EF34, 79C1BC35, 70502A15, 68A37585 EFCCC7B7, D3AD6006, E2193F3E, 41FF7C92, I79CCA4F, G8A375B5, DBB7209A, B2DSEF34, OGFODSE7, 70502A15 179C2A4P, 6BBBEAB4, D3AD6006, 64FCFBB8, 41FE7C92, 70502A15, 4DEC84F2, DBB7209A, 57BCD2CB, 06F0D5BT 41FF?C92, 5052D6EF, 6B8BEFAB4, B5801B4E, 64FCFB6B, O6FOD5E7, D4F6A30D, 4ÐEC84F2, 1Q826B6E, 57BCĐ2CB 64FCFBB8, FF26EBCB, 5052DSEF, 2EEADIAE, B5801B4E, 57BCD2CB, 019109F0, D4F6A30D, B213C937, 10826B6E B5801B4B, 5A010G53, FP36EBC8, 4B5BBD41, 2FEhDIAE, 1C126B6E, 20FBAB36, 0191C9F0, DA8G3753, B213C937 2FEADIAB, 952BFB5D, 5A010G53, DBAF23EO, 4B5RBD41, B213C937, 7E796493, 20FRA336, 4727C106, DA8G3753 4R5BBD41, FEO5BEE3, 952REB5D, 04314D68, DBAF23FO, DAñG3753, C9EABB3B, JE796493, EEACDB83, 47272006 DRAE23FC, 2256AF69, FEO5BEE3, AEED7654, 04314D6B, 4727C005, B44977A5, C9EABB3E, E59Z4DF9, PPACDB83 04314D68, 5285B0D3, 2256AF69, 16FBBFE8, AFPD7654, EEAODB93, 287580C6, B44977A5, AAECEB27, E5924DEF9 AFED?654, 1DFBB56C, 5285R0D3, SABDA489, 16FBBFFS, E5924ĐF9, 1E1DBD16, 287580G6, 25DE96D1, AAPCEB27 16FB8EE8, 32974404, 1DFBB56C, 16234D4A, 5ABDA489, AAECFB27, FBEB2IBA, 1E1DBD16, D60318A1, 25D&96D1 B5ABDA4B9, 90AC71CE, 32974404, EBE15B077, 26C34D4A, 25DE96D1, B74BF3E2, FBEB2IBA, 76F45878, D6031BAI 16C34D4A, 849CCC12, 30AC71CE, 5DIO1QCA, EE15B077, D60318A1, 755BEDDF, B74BE3E2, ACSGEBEF, 76F45878 REISBO77, 3⁄40EBE92, 848CCC12, B1C73A42, 5DI010CA, 76P45878, 3CD099C6, 755BEDDE, 2ECFSADD, ACB6EBEE SDIOLOCA, F521E5F5, 340ERE92, 73304A12, B1C73A42, ACB6PBEP, A19BBAA2, 3CDO9SC6, 6EB77DD5, 2FOPBADD B1C73A42, 27528557, FS31E5F5, 3AFA48DQ, 73304A12, 2ECFBADD, EFC554F1, A19BBAA2, 426718F3, 6FB77DD5 T3304À12, E4AFA69F, 27528557, G797D7D4, 2AFA4ôD0, 6FR77DO5, F56F1485, EEC554E1, GEEASAG6, 426718F3 3AFA48D0, E3462C93, E4AFA69F, 4A15509D, C797D724, 426718F3, E0A1480A, F56F1485, 1553C7BE, 6EEABA86 C79707D4, 3CFSCDB5, 23462093, BEQA7F92, 4A155C9D, 6EEABAS6, 9F80007D, B0A14B0A, BC5217D5, 1553C78F 4A158C9D, B6C756F9, 3E5CDB5, 18B2FBD, BE9A7F92, 1553C7BF, 090898BE, 9EBQ007D, 8520282, BC521705 BEQATF92, CC2AB627, BGGT56F9, P73614F3, 18824F8D, BC521705, A0CD75A2, 090898BE, 0001F67E, 85202B82 28B24EBD, E5471921, CC2AR627, 1D5BE€DB, D73614F3, 85202B82, 95FP46F6, AOCD7BHA2, 22625824, 0001F67E D73614F3, EEFEEBC6, E5471921, AAD8920, ID5BE6DB, O001E67E, 4B55D932, OSFEAGES, 35D68A83, 2262F024 1D5BB6DB, T88EFBE7, E8FEFBC6, 1C648795, AAD89F30, 2262Ff824, 681302D4, 4B55D832, FS1BSA57, 35D68AB3 AAD89F30, FASTFIBB, 7B8EFBE7, FBEFIBA3, 1C648795, 35D68A83, B60FSE32, 68130204, 5760G92D, FSIBSAS7 1648795, 2PP15484, EA97F1BB, 3FERSDE2, FBEFIBA3, F91B9A57, CA3DDACO, S6QFSE3Z, 4C0B51AO, 5760C92D FBBELBA3, D884695B, 2FE154B4, SECGEFEA, AFZE9DE2, 5760C92D, 7E790793, CA3DDACQ, 3E38CA18, 4C0B51A0 3FEF9DE2, A09357E9, D884695h, 9552D0BP, 5EC6EFEA, 4COB51A0, 4£0DF927, 72790793, F76B0328, 3E38CA18 BFC6BEER, 019B9791, A09357E9, 11A56F62, 8552D0BF, 3E3S8CA1G, 311DFB90, 4E0DE927, E41E4DF9, f76B0320 8552ÐOBP, 70DB6GFDP, 019B9791, 4D5EA682, H1A56F62, F7680528, 24FA9ĐƠ7, 311DEBSI, 37F49D38, E41E4DF9 11A56F62, 82F104Bé, 7IDB6FDF, 6E5F4406, 4D3FA682, E41E4DE9, CE45E142, 24FA9DC7, 77EE40G4, 37P49D38 ADSFAGH2, BFAB29F8, @2F104B4, €DBE7DC3, 6EIE4406, 37E40D38, 9G4P267P, CE45E142, FA?71C93, 77PE4004 6E5B4406, 880198A3, BEAB29F8, C412D20B, 6DBF?DC3, 77EE4QC4, 06880805, 9C4F267F, 17650539, EA771C93 GDBF7DC3, 917C197C, 8B0198A9, ACA7E2FR, Œ412D20B, BA771C93, 7625BD09, 06880805, 3C99FE71, 17850B39 C412D20B, 03E7992A, S17C197C, 0662A620, ACA7E2FE, 17850B39, 8720C8E7, 7625BD09, 2020141A, 3C99EE7I ACA7B2FB, 824CEE7A, 03ET7992A, FQ65F245, 0662A620, 3C99FE71, CBR?DA7A, 8720CBE7, 96F425Đ8, 2020141A O662A62Q, AF16F218, 824CEF7A, 9E64A80F, F065F249, 2020141A, 98851068, CĐB7DA7A, B2229E1C, 96F42500 F065F245, PFC8943D, AFIGF218, 33BDEAQ9, 9F64A8DF, 96F429D8, C85C4EBB, 88851068, DFE9ERZE, 83239E1C
Trang 35
TCVN 11816-3 : 2017 SE64A80F, C80FF53B, EFC8943D, 5BCB62BC, 33BDEA09, B3239ELC, 57BF10E2, C85C4EB8, 14430222,
33RDEA09, 2BDP9E36, C80FF53B, 2250E7BF, 5BC86ZBŒ, DF69EB2E, 48932G1A, 57BF18E2, 713AE321, SEC862BC, 6E1D6950, 28DF9E36, 3FD4EF20, 2250P7BF, 1441A222, 15C7B0BD, 48932C1A, FC63895P, 2250FTBP, 21EEE621, 6E1DB950, 7E78DBA3, 5ED4EF20, 713AE321, FCBCSE78, 15C7B0BD, 4CB06322, 3PD4EF20, 561379BA, 21PEP621, 762541Bg, 7E7BDBA3, FC63895E, DD2BEAG0, FCBO9E78, IEC2P457,
TE7BDBA3, 4D0255C5, 561379BA, BB988487, 762541BB, 4CR06922, CP1BBB10, DD28EA60, F279E3F2,
T62541BB, 966845EC, 4D0255C5, 4DE6E958, RB9B8487, 1EC2F457, 5D899D62, CPIRBB1D, À3A98374,
BBBBB487, D$22DEHB, ÿ66845EC, 09571534, 4DE6F358, F27ÿE3F2, F1144141, 5D999D62, 6EEO433C, ADEGESS6, B9@19R2A3, D922DEBB, A117B259, 09571534, A3A58374, 940BBA12, Fl144141, 26758976,
9571534, D3CFB0E9, Bộ19B2A3, 8B7AF364, A117B259, 6EE0433C, 33DDA9B5, 940BBA12, 5105074, A117B259, F546PA98, D3CFS0F9, 6GCABSPEP4, 8B7AE364, 2(758976, DCEOB562, 33DDA3B5, 2EEB4ASO, 8B7AB364, Ä1D3372D, F548EA98, 3E03P74F, 66CABPEđ, 51050704, C103FBE9, DCP0B562y 76A6D4CE, 66CABEE4, 6578D66C, A1D3372D, 23AA63D5, 3E03E74F, 2PP64A50, 93296109, C103PBE9, 82D59B73, 3E03874F, 57C29604, G578D66C, 4CDCB687, 23AA63D5, T6A6D4CP, B183744E, 832961D9, DFPFA204, 23AA63D5, 27FBE937, 57C29604, E359B195, 4CDCB687, 82D58B73, E710A112, B183744E, A587650C, Mã băm là xâu 160 bit sau:
12 A0 53 38 4A 9C 0C 88 E4 05 A0 6C 27 DC F4 9A DA 62 EB 2B
A.1.9 Ví dụ 9
Trong ví dụ nảy xâu dữ liệu là xâu 1000000 byte là bản mã ASCII của 10° ki ty ‘a’ Mã băm [a xâu 160 bit sau: 52 78 32 43 CL 69 78 DB El 6D 37 F9 7F 68 FO 83 25 DC 15 28 A.1.10 Ví dụ 10 Trong ví dụ này xâu dữ liệu là xâu 112 byte là bản mã ASCII của *abcdefnhbcdafghledefghidefghilkefghijklfghi]kimghilklmn hijkimnoljkimnopjkimnopqkimnoparimnoparsmnoparstnoparstu' Mã băm là xâu 160 bit sau: 6f 3ƒ a3 9b 6b 50 3c 38 4f 91 9a 49 a7 aa 5c 2c 08 bd £b 45 A.1.11 Ví dụ 11 Trong ví dụ này xâu dữ liệu là xâu 32 byte là bản mã ASCII của "abcdbcdecdefdefgefghfghighijh[Jk° Mã băm là xâu 160 bit sau: 94 c2 64 11 54 04 e6 33 79 0d fc c8 7b 58 7d 36 7? 06 7d 9£ Ä.2 Hàm băm chuyên dụng 2 A.2.1 Ví dự 1
Trang 36Mã băm là xâu 128-bit dưới đây: 86 BE 7A FA 33 9D OF C7 CF C7? 85 E7 2F 57 8D 33 A.2.3, Ví dụ 3 Trong ví dụ nảy, xâu dữ liệu là xâu có 3 byte là bản mã ASCII của 'abc' Tương ứng với xâu bit: ‘01100001 01100010 01100011’ Sau quá trình đệm, khối đơn 16 từ nhận được tử xâu dữ liệu như sau: 80636261 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000018 00000000 Các giá tri Xo, Xs, Xa Xa Xò, X's, X', X% (biểu diễn dưới dạng hệ thập lục phân) nhận được lần lượt như sau:
61452301, EECDAB89, 98BAnCrE, 10325476, 67452301, EFCDAB89, 98BADCFE, 10325476 10325476, 6D431A1?, EECDABB9, 98BADCFE, 10325476, 7037640, EECDABB9, 98BADCEE 8BADCEE,-B05D8A99, 6D431A77, EFCDAB89, 98BADCEE, 989E6BB0, 70376F40, EFCDABS9 EFCDABB9, 0C32E5C7, B05D8A99, 6D431A77, EECDARB9, 39R14904, 989F6BB0, 70376F40 6D431A77, A20B2C0F, DC32E5C7, B05D8A99, 70376F40, 671C03CC, 39R14904, 9896080 B05DBA99, 74EBB811, A20B2C0E, 0C32E5C7, 989E6BB0, AFDSSCA2, 671C03CC, 39814904 (C32ESC?, 2EFB728R, 74EBR911, A20B2C0F, 39B14904, A12E346F, BED5S5C42, 671C03CC A20B2C0r, A766AE02, 2FEB728B, 74EBB914, 671C03CC, 9892210, A12E346F, BED55C42 74BBB911, 03234F3D, A766A502, 2FEB728B, BEDSSC42, OFSSFBEA, 989C2210, A12F346E 2FEW?28B, 52662805, 03234F3D, A766AEO2, 212f346P, 068D5115, 0E95EBEA, 9892210 AT66AE02, FE7I8A4C3, 52662805, 03234F3D, 989G2210, AFCD27FC, Q68D5115, 0F95FBEA (03234F3D, 1C?F5769, E778A4C3, 52662805, 0F95FBRA, CBDIF3F8, AFCD27EC, 068D5115
52662805, 95765642, 10785769, E778A4C3, 068D5115, CEFFE405F, CBDIE3F8, AFCD27FC
Trang 383F 45 EF 19 47 32 C2 DB B2 C4 A2 C7 69 79 5F A3 A.2.8 Trong vỉ dụ này xâu dữ liệu là xâu 86 byte là bản mã ASCII của í dụ 8 “abedbcdecdofdofgefghfghighijhlJkijkijkimklmnimnomnopnopdq” Sau quá trình đệm, hai khối 18 từ nhận được từ xâu dữ liệu như sau: 64636261 65646362 66656463 67666564 6867666% 69686766 6A696867 6B6A6968 6C6B6A69 6D6C6B6A GEGDGCE6B 6F6E6DỐC 706F6E@D 71706F6E 00000080 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000010 00000000 Các giá tri Xo, X1, X2, Xa, X’o, X+, X;, Xz (biểu diễn dưới dạng hệ thập lục phân) nhận được trong quá
trình tính toán đối với khối thứ nhất lần lượt như sau:
61452301, EFCDAB89, 98BRDCFE, 10325476, 67452301, EFCDAB89, S8BADCFE, 10325476 10325476, 6D431997, FECDAS89, 98BADCFE, 10325476, D89EDSA, EFCDABS9, SBBADCEE 98BADCFE, C9AE23F2, 60431997, EFCDAS99, SBBADCFE, 69B1QAC1, DB9EDSA9, EFCDABBĐ FECDAB89, 69A6A520, COAEZ3F2, 6D431997, EFCDAB89, BEGIDB9C, G69B10AC1, DASEDSAS 6D43199?, FB032247, 69A6R520, C9AB23F2, D89EDSA9, ABRCC2AE, B661DBĐC, 69B10AC1 CðnE23E2, 16C49226, EB032247, 69A6A520, 69B10AC1, D412CADI, NHACC2AY, B661DABC 69A6A520, 17A099B7, 16G49226, FP032247, B661DBBC, E2DEDE22, D412CADI, ABACC2AF FB032247, 3B9BAEB7, 77A099B7, 16C49226, ABACC2AF, CFBO3688, Z2DEDF22, D412CAD1 16C49226, DAGIABG2, 3B9BAEB7, 77A099B7, D412CAD1, 72599389, CFHO3688, E2DEDF22 77A099B7, 54CB88CC, DA6+AS82, 3B9BASB7, F2DEDF22, CF3CD6B2, 72598389, CFB03688 389nAEB7, F2635347, S4C888CC, DA61ABB2, CEB03688, B235784E, CF3CD682, 72599389 nA61A882, E2CAC9B4, F2635347, 54C888CC, 72599389, B81678DE, 2357845, CE3CD682 54C888CC, 9596C718, F2CAC9B4, f2635347, CF4CD682, E8153738, 8816780, 8235784E ¥2635347, 9DD54912, 9596C718, E2CRC9B4, P235784E, BD994856, #8153735, 881678DE E2CAC9B4, 2E8539A7, 9D054912, 9596C718, 881678DE, B0055655, BD994B56, B8153735 9596C718, 2303C213, 2E8538A7, 9DD54912, £815373B, CC87BE5A, B0055655, BDĐ94B56 9DD54912, EA795E25, 2303C213, 2EB539A7, BD994B56, 6B24384D, CC87EF5A, BO055655 28853987, 23D7CB45, EA79BE25, 2303C213, B0055655, 93E7329E, 6B24384D, CCB7EFSA 2303C213, F028EF04, 23D7CB45, EA79BE25, CC87EFSA, 35B95AE7, 93E7329F, 6824384) EA19BE25, 48863719, F028EE04, 23D2CB45, 6B24384D, 06C6536D, 35B95AE7, 93573297 23D7CB45, 514C81B6, 4886319, F028E704, 93E7329F, FFICSDC7, 06C6536D, 35B95AE7 F028PF04, 6102CE67, 514C81B6, 48863719, 35B95AE7, D0DS41F1, FF1CSDC7, 06C6536D 48863r19, 330485FD, 6102CE67, 514C81H6, 06C6536D, A94C0DD9, D0DS41F1, FEICSDC? 514C8156, 289E8C82, 330485FD, 6102CB67, FEICSDC?, DEDC1E39, A94C0DD9, D0DS41E1 6102CE6?, 13CC3A1D, 289E8C82, 330485FD, DOD541F1, 12D926C0, DEDC1E39, A94C0D09 330485FD, 40A226A6, 13CC3A1D, 28988C82, A94C0DD9, ED7EDA63, 120926C0, DEDC1E39 289FBCB2, T0BEB1A8, 40A226A6, 13CC3A1D, DEDCiE39, 9E52218C, ED?EDA63, 12D926C0 13CC3R1D, CE1DIA3?, 70BFBIAB, 404226A6, 12D926C0, F5D22339, $9E52219G, ED7EDA63 40A226A6, EC9F7830, CE1D1A37, 70BFBIA8, FD7EDA63, 0BCBB4FC, F5D22339, 9E52219G DÔ0BFB1AS, 3C#2D6EE, EC9W7830, CE1D1A37, ĐE52219C, FCFBD381, 0BCSB4EC, FSD22330 CE1DiA37, FOCIF95C, 3CF2D6EE, EC977830, F5D22339, 286A3895, FCEBD391, 0BC5B4FC ECSF7830, ĐA351A9D, EUGIF95C, 3CF2D6EE, ÖBCSB4EC, FBFBSB05, 2B6A3898, FCEBD391 3CF2D6EE, 13850685, 9A351A9D, F0C1E95C, FCFHD391, F7BBBEAB, FBES5B05, 2B6A389P FOCLF9SC, EAIS74p1, 13880685, 9A354A9D, 2B6A389B, C8592AC, F7BEBEEB, FEFESROS 9A351A9D, 4719C849, EA3574D1, 13880685, FBF8SB5, FE2D3EFA, C8592ACC, E7BPBsBn 138B0685, 57F52213, 4719C849, EA3574D1, F7BRBEBB, 5411CC34, FR2DSEEA, CðS92ACC EA3524D1, 4751PB80, 57F52A13, 4719849, C8592ACC, DCBEDS4G, 5411CC34, FE2D3EEA 47190849, B8060SEAF, 47516880, S7652A13, FE2D3BFA, 55C1E317, DC8PDS46, 5411CC34 57FS2A13, 1E53AD4A, BO6Q5BAE, 4751F880, 5411CC34, 0582E4F0, 55C1E317, DCBED546 4751F880, 1ABEED79, 1F53AD4A, 80605BAF, DC8EDS546, 5E192900, 0B92E4F0, SSC1B317 Q0605BAF, 75EACBB7, 1ABEED?, 1E53AD4A, 55C1E317, 186EB0CE, 5E192900, 0592E4E0
Trang 39
TCVN 11816-3 : 2017
1E53AD4A, 08AC1056, 75ERCBB7, 1ABEED79, 0B32E4F0, SFSAG4E3, 186EB0CF, SE192900 1ABEED?9, 9BDB7A88, 08AC1056, 75EACB57, 5E192900, 3701E783, 8F3A64E3, 186EBDCE TSEACBH7, ADF32F05, 98DB7A88, 08AC1056, 186E50CF, 6CE969E9, 3701E783, 8F3A64E3 08AC1056, 2277880D, ADE32F05, 9BDB7A88, 8F3A6453, EE?22405, 6CE969E9, 3701E783 9BDB7A88, 535DBB9A, 2277880D, ADF32F05, 37018783, 3£849D0F, £E7224D5, 6CEI69E9 ADF32F05, 2A494EC5, 535DHB9A, 2277B80D, 6CE969E9, DDBD8EE7, 3E843D0F, EE?7224D5 2277B80D, 693C7A09, 2A494ECS, 535DBB9A, EE7224D5, C3DDAC40, DDBDBEE7, 3E849D0# 535DBH9A, 148AS796, 693C7A09, 2A494EC5, 3E649D0F, 5E0EL0H9, C3DDAC40, DDHD@EE7 2A494FC5, D2932448, 148A5796, 693C7A09, DDBD8EE7, 1CCB7SAF, SEQE10B9, C3DDAC40 693C7A09, 39CA97B6, D2932448, 148A5796, C3DDAC40, 27f81499, 1CCB7SAF, 5E0E10B3 148A5796, 770BCE9B, 39CA97B6, 12932448, SEOH1089, 82843491, 2781499, 1CCB7SAF D2932448, 8C4DCGAF, 770BCZ98, 39CA97B6, ICCBISAF, AE4H13E9, 82843491, 27781499 39CAS7B6, O48CC517, BC4DC6AF, 770BCE98, 27F91499, 03BD1BD9, 4F4E13E9, 82843491 TTOBCESS, 419960CF, 048CC517, 9C4DC6R?, 82643491, 6EA999B7, 038D1BD9, 4E4E13E3 8C4DC6AF, 407700EE, 419960CF, 048CC517, 4E4E1389, 37B18629, 6EA999B7, 03ED1BD3 048CC517, E60ABEC4, 407700EE, 419960CF, 038D18D9, 9EA44395, 37B18629, 6FA999B57 419960CF, OE248A8B, E6QABEC4, 407700EE, 6FA99987, F877D28C, 3EA44395, 37218629 407700EE, 10667792, OF24BA8B, EG0ABEC4, 37818629, FG63EA862, FB77D28C, 9EA44395 E60ABEC4, 646BB7A9, 10667792, 0E248A8B, 9EA44395, 424072F0, P63EA862, F8T7D28C 0E248A8H, 625CCE22, 646BB7A8, 10667792, F877D28C, 38764288, 424072F0, F63FA862 106677192, 8E0E1101, 625CCE22, 646BB7AS, #63EA862, CD620E4E, 3B7642B8, 424072r0 646BB7A8, C23D3583, 8E0E1101, 625CCE22, 424072F0, BFAR1A02, CD62074E, 3B7642B8 625CCE22, B1DE3DC5, C23D3583, 8E0E1101, 38762288, 1BA7EFD36, BFAR1A02, CD620E4E 8E0E1101, D2424181, 91DE3DC5, €23D3583, CD620F4E, E62BB2A4, 1BA7FD36, BFAALAQ2
Các giá trị Xo, X1, Xa Xo, Xo, Xt, Xe, Xa’ (biu dién dudi dang hé thap luc phan) nhan dug trong qua
trình tính toán đối với khối thứ hai lần lượt như sau:
31560350, 285A21CP, 846C181n, 553B61B8, 31560350, 285A21CF, 846C1818, 55386158
553B6158, 1ADDE153, 295A21CE, 846C181B, 55386188, 56C9C102, 285A2LCE, 946C181B 946C18tB, CE8FC309, 1ADDE153, 285A21CF, 846C181B, 702249A4, 56C8C102, 285A21CE
285A21CF, 0DDB8403A, CE8FC309, 1ADDE153, 285A21CEF, 22CB0A97, ?02249A4, 56C8C102 1ADDE153, 4842F01E, 0DD8403A, CE8FC309, 56C8C102, 35B2DCDF, 22CB0A97, 702249A4
CEBFC309, BE6A9014, 4842F01E, 0DDB403A, 702249A4, D2EFFB4A, 35B2DCDF, 22CB0A97T 0DD8403h, 7FE339CA, BE6A9014, 4832F01E, 22CB0A97, S8EA6C60, D2EFEB4R, 3532DCDE
4842F01E, DICCFD4B, 7FE339CA, BE6A9014, 35B2DCDF, 82DEA3AE, 59EA6C60, D2EFFB4A ĐE6A9014, 108966B1, DICCFD4B, 7EE339CA, D2EFFB4A, 4481FDE2, 92DEA3AE, 59EA6C60 TFE339CA, 899223E8, 108966B1, DICCFD4B, 59FA6C60, 138B8F73, 4481FDE2, 82DEN3AE DICCFD4B, 5E3B9917, 899223E8, 108966B1, 82DEA3AE, 946BD4T8, 138B8F73, 4481FDE2
108966B1, 7666663B, 553B9917, 899223E8, 4481FDE2, BDOGOSEA, 9468D478, 13BB8E73 899223E8, ALBADS2C, 76666638, 5E389917, 13BB8F73, 36F99153, BD0605ER, 946BD478 5E3B9917, DE527A04, A1BAD92C, 76666638, 946BD478, BB4AE872, 36Z99153, BD0605ER
76666638, E52F1533, DE527A04, A1BAD92C, HD0605EA, 7C346442, EB4AE872, 36799153 AlBAD92C, 5C3C2C22, E52F1533, DE527A04, 36F99153, AFA320AD, 70346442, #B4AEB72 DES21A04, FC1C4108, 5C3C2C22, E52P1533, EB4AE872, B4905651, AFA320AD, TC346442 #52P1533, 0A03E845, EC1C4108, 5C3C2C22, 7C346442, 02E94FA1, B4905651, AFA320AD
5C3C2C22, EB74BD26, 0A03E94B, FCIC4108, AFA320AD, E08D1799, O2E94FA1, 84905651
FC1C4108, C78DCSC4, FB74BD26, 0A03E64B5, B4905651, 69AFAA80, E09D1799, O2E94FAL 0A03E84%, ACF60434, C78DC5C4, FB74BD26, 02E94FA1, FA665E46, 69AFAA80, E08D1799 FB74BD26, 58F751P0, ACF60434, C18DC5C4, £08D1799, 269AB?B3, FA665E46, 69AFan80 EB75C7CB, 58F751E0, ACF60434, 69AFAA90, 0F06388B, 269AB7E3, FA665E46
, 83C0ABB7, EBT5C7CB, 587751E0, FA665E46, FD44FBD5, 0E06386B, 269A87Z3 S58F751E0, 2787178, 83C0A8B7, ÉB75C7CB, 2698723, DBBC0190, FD44EAD5, 0F063885 EB15C?CB, B?B9163F, 27C87178, 93C0A8B7, 0F06388B, DOE3FC2B, DBBC0180, ED44EBDS 83C0A8B57, 0FAIC6DC, B7B9163F, 27C87118, FD44FBD5, 7D87B4BA, DỤESEC2B, DBRC0190
2787178, 2CC60316, OFALCEDC, B7B9163F, DBBCO190, 68367FDB, ‘7D87B4BA, DOESFC2B B1BB163r, 0802944, 2CC60316, 0FA1C6DC, D0E3FC2B, 53AB55439, 68367rDB, 7D87B4BA 0FAIC6DC, F693A10E, 0802044, 2CC60316, 7D87B4BA, E79B?5B5, S3aB5439, 68367£p8
2CC60316, 35622459, F693A10E, 08029C44, 68367EDB, 830530DF, E78B75B5, 53AB5439 08029C44, 66957869, 35622489, £693A10E, 53A85439, 67ECBIAC, 830530DF, E78575B5 F693A10E, 7870168, 6697969, 35622489, E78875B5, 7578243, 67FCB1AC, 8305300 35622489, 037FB19C, 7B70C168, 669F7869, 830530DF, E0CA8878, 757BB243, 67ECBIAC 669F7869, 9B0A10B3, 037FB19C, 7B70C168, 67FCBIAC, EA1OCB33, FOCA8878, 757B8B243 78700168, 90015956, 9B0A10B3, O37FB19C, 75788243, 5487E56C, FA10CB33, F0CA8878
037FB1SC, 6A7DESF4, 90015956, 9B0A10B3, FQCA8878, A5D33699, 5487E56C, FA10CB33
9B0A10B3, E522D913, 6A7DE5E4, 9D015956, FA10CB33, BEB495HC, A5D33699, 5487256C
9D015956, 0EFD42E5, E522D913, 6A7DE5F4, 5487E56C, 05202Y93, BEB49SBC, A5D33699
Trang 406RTDESFA, #5220913, 0EED42ES, 7902100B, ACEFABC, E07378EF, 489C7A1A, CO2A45A5, 3068DDE8, D5DDS018, B9D75D76, 51A9820D, 3658904, BSC6DEAF, 725DE80C, 3F7A2507, 90539EB6, SA249895„ ATCECDCD, F8DCD128, 3E80DB2A, A2SD36CB, A92CE759, 0CD0BA66, AF620775, 69D4E1DE, 79021008, 1ACEFABC, E07378FE, 489C7A1A, C02A45A5, 3068DDE8, DSDD5018, B9N75D76, S1a9B2DD, 36F589C4, B5C60EAE, 25DF80C, 3F7A2507, 9DS39EB6, 5A249895, À7CECDCD, F8DCD12B, 3E30DB2A, A25D36CE, A92CF759, 0CD0BA66, AF62D?15, 69D4E1DE, 0EE66339, SCSBSFBD, ODS0E8CF, Mã băm là xâu 128 bit sau: Al AA 06 89 DO FA FA 2D DC 22 ES A.2.9 Ví dụ 9 0EFD42ES, 19021008, ACEFABC, E07378FE, 489CTA1A, C02A45A5, 3068DDE8, Đ5DD5018, B9D75D76, S1A9B2DD, 36F589C4, B5C60EAE, 725DF80€, 3F7A2507, 9D539EB6, 5A249895, RICECDCD, F8DCD12B, 3P300B2A, A2SD36CE, A92CF759, 0CDOBA66, AF62D775, 69D4B1DE, 02866339, SCSB5EBD, E522D913, QEFD42E5, 79021008, 1ACEFABC, E07378FF, 482C7A1A, C02A45AS, 3068DDE8, pspns018, BOD75D76, 51A9B2DD, 36F589C4„ BSC6OEAF, 725DF80C, 3F7A2507, 9n539EB6, 5a249895, A?CECDCD, F8DCD12B, 3E30DB2A, A25D36CE, AQ2CF759, OCDOBAS6, AF62D775, 69D4E1DF, QEE66339, A5D33699, BEBA95BC, 05202893, BACE7DD9, 08D045DD, 5448A3ã0, D98BB3AA, 12EC982E, 4A1EB2B2, Đ677AANS, 5AA89133, 49BCB169, CE4FA8D2, C1985968, 42144054, 60827896, T050ED96, CRC74513, 3431C75E, 0E3A1C68, 62EEECB7, 2B1F312D, ¥B124197, ĐB8A5G11, EC3264DC, SÁR87F7C, BACE7DD9, 08D045DD, 5448A3A0, D9SBE3AA, 12BC982E, 4A1EB2B2, D677ABR8, 5RAB9133, 49BCE169, CE4FASD2, C1985969, 42744084, 60927896, 1050ED96, cBc74513, 8431C75E, 0E341C68, 62EEEC87„ 2B1F312D, FB124197, DB8ASC11, EC3264DC, 9AA§7E7C, 04512915, C163272A, CCD7DE45, 05202F93, BACE7DD9, 080045DD, 5448A3A0, DOBBESAA, 12ãC982F, 4A1EB2R2, D67TAAAB, 5AA89133, 49BCE169, CE4FA8D2, C1985969, 42744004, 60822896, 2050ED96; CBC14513, 8431C15E, 053A1C68, 62EEEC87, 2B1¥312D, ¥B124197, DB8ASC11, C326AnC, 9RA87E7C, 04512915, C163272n, 8B 49 13 3A 06