Tiêu chuẩn quốc gia TCVN 11816-2:2017 về Công nghệ thông tin - Hàm băm sử dụng mã khối N-bit

BL |
Khi n chẵn, xâu bit chứa n/2 bit trái nhất của khối B. Khi n lẻ, xâu bit chứa (n +1)/2 bit trái nhất của khối B |
BR |
Khi n chẵn, xâu bit chứa n/2 bit phải nhất của khối B. Khi n lẻ, xâu bit chứa (n - 1)/2 bit phải nhất của khối B |
Bx |
Khi B là một dãy các khối m bit thì Bx(x ≥ 0) đại diện cho khối thứ x của B. |
EK(P) |
Thuật toán mã khối n bit với đầu vào là khóa K và khối bản rõ. Các thuật toán mã khối được đặc tả trong tiêu chuẩn TCVN 11367-3:2016 (ISO/IEC 18033-3) được khuyến cáo sử dụng trong các hàm băm. |
K |
Khóa cho thuật toán E |
u hoặc u' |
Hàm nhận đầu vào là một khối n bit và đầu ra là một khóa cho thuật toán E. |
5 Sử dụng mô hình tổng quát
Các hàm băm được đặc tả trong 4 mục tiếp theo cung cấp mã băm H có độ dài LH. Các hàm băm đều tuân thủ theo mô hình tổng quát được đặc tả trong TCVN 11816-1. Với mỗi một hàm băm chỉ cần thiết xác định các tham số dưới đây.
- Tham số L1, L2, LH;
- Phương pháp đệm;
- Giá trị khởi tạo IV;
- Hàm vòng f;
- Phép biến đổi đầu ra T.
6 Hàm băm 1
6.1 Tổng quan
...
...
...
CHÚ THÍCH: Hàm băm 1 được mô tả trong [5].
6.2 Lựa chọn tham số
Các tham số L1, L2 và LH của hàm băm 1 được đặc tả trong phần này thỏa mãn L1= L2 = n và LH nhỏ hơn hoặc bằng n.
6.3 Phương pháp đệm
Việc lựa chọn phương pháp đệm sử dụng cho hàm băm 1 không thuộc phạm vi của TCVN 11816-2. Cũng như các yêu cầu tối thiểu, phương pháp đệm đưa ra một tập gồm q khối D1, D2,...,Dq, trong đó mỗi khối Dj có độ dài n và có thể làm đầu vào cho các đầu ra khác nhau. Các ví dụ về các phương pháp đệm được trình bày trong Phụ lục A TCVN 11816-1.
6.4 Giá trị khởi tạo
Việc lựa chọn IV dùng cho hàm băm 1 không thuộc phạm vi TCVN 11816-2. IV là một xâu bit có độ dài n và giá trị của IV có thể được thống nhất và cố định bởi người sử dụng hàm băm.
6.5 Hàm vòng
Phép biến đổi u:
...
...
...
Hàm vòng f kết hợp khối dữ liệu đệm Dj (L1 = n bit) với Hj-1 và đầu ra trước đó của hàm vòng (L2 =n bit) tạo thành Hj. Cần lựa chọn hàm u như một phần của hàm vòng để biến đổi một khối n bit thành một khóa để sử dụng cho thuật toán mã khối E. Việc lựa chọn hàm u để sử dụng cho hàm băm 1 nằm ngoài phạm vi TCVN 11816-2.
Hàm vòng được xác định như sau:
Đặt H0 = IV
f(Dj, Hj-1) = EKj(Dj) Å Dj trong đó Kj = u(Hj-1). Hàm vòng được mô tả trong Hình 1.
Hình 1: Hàm vòng của hàm băm 1
6.6 Phép biến đổi đầu ra
Phép biến đổi đầu ra T đơn giản là phép cắt, ví dụ mã băm H nhận được bằng cách lấy các bit LH trái nhất của khối đầu ra cuối cùng Hq.
7 Hàm băm 2
...
...
...
Hàm băm 2 được đặc tả trong phần này cung cấp mã băm có độ dài L1 và L2 trong đó L1 bằng n và L2 bằng 2n. Một số định nghĩa riêng được yêu cầu cho hàm băm 2 được trình bày dưới đây.
CHÚ THÍCH 1: Hàm băm 2 được mô tả trong [4].
CHÚ THÍCH 2: Trong [6] tấn công về mặt lý thuyết lên hàm băm 2 đã được ghi nhận: một tấn công va chạm với n =128 có độ phức tạp 2124,5, một tấn công tiền ảnh yêu cầu độ phức tạp và không gian đầu vào xấp xỉ 2n.
Lý do duy nhất để giữ hàm băm 2 trong TCVN 11816-2 là vì đảm bảo tính tương thích với các ứng dụng đã có.
7.2 Lựa chọn tham số
Các tham số L1, L2 và LH của hàm băm 2 được đặc tả trong phần này thỏa mãn L1 = n, L2 = 2n, và LH nhỏ hơn hoặc bằng 2n.
7.3 Phương pháp đệm
Việc lựa chọn phương pháp đệm sử dụng cho hàm băm 2 không thuộc phạm vi của TCVN 11816-2. Cũng như các yêu cầu tối thiểu, phương pháp đệm đưa ra một tập gồm q khối D1, D2, …, Dq, trong đó mỗi khối Dj có độ dài n và có thể làm đầu vào cho các đầu ra khác nhau. Các ví dụ về các phương pháp đệm được trình bày trong Phụ lục A TCVN 11816-1.
7.4 Giá trị khởi tạo
...
...
...
7.5 Hàm vòng
Hàm vòng f kết hợp khối dữ liệu đệm Dj (L1 = n bit) với Hj-1 và đầu ra trước đó của hàm vòng (L2= 2n bit) tạo thành Hj. Cần lựa chọn phép biến đổi u và u’ như một phần của hàm vòng. Các biến đổi này biến đổi một khối đầu ra thành 2 khối thích hợp độ dài LK bit làm khóa cho thuật toán E. Đặc tả của u và u' nằm ngoài phạm vi TCVN 11816-2. Tuy nhiên, việc lựa chọn u và u' cũng cần được xem xét vì sự quan trọng của nó đối với sự an toàn của hàm băm.
Đặt và
tương ứng bằng IVLvà
IVR. Hàm vòng
được xác định như sau, với j =
1 đến q.
và
và
và
Hàm vòng được mô tả trong Hình 2, trong
đó X và Y được thay thế tương ứng với và
.
7.6 Phép biến đổi đầu ra
...
...
...
Hình 2: Hàm vòng của hàm băm 2
8 Hàm băm 3
8.1 Tổng quan
Hàm băm 3 được đặc tả trong phần này cung cấp mã băm có độ dài LH, trong đó LH bằng 2n, với giá trị n chẵn. Một số định nghĩa riêng được yêu cầu cho hàm băm 2 được trình bày dưới đây.
CHÚ THÍCH: Hàm băm 3 được mô tả trong [1].
8.2 Lựa chọn tham số
Các tham số L1, L2 và LH của hàm băm 3 được đặc tả trong phần này thỏa mãn L1 = 4n, L2 = 8n, và LH = 2n.
8.3 Phương pháp đệm
...
...
...
8.4 Giá trị khởi tạo
Việc lựa chọn IV dùng cho hàm băm 3 không thuộc phạm vi TCVN 11816-2. IV là một xâu bit có độ dài 8n và giá trị của IV có thể được thống nhất và cố định bởi người sử dụng hàm băm.
8.5 Hàm vòng
Phép biến đổi u:
Định nghĩa 8 ánh xạ u1, u2, ...,u8 từ không gian mã tới không gian khóa, sao cho:
ui(C) ≠ uj(C) với tất cả i, j từ tập {1,2,..., 8},j ≠ i đối với tất cả giá trị của C.
Điều trên có thể đạt được bằng cách cố định các bit khóa ví dụ, có thể cố định 3 bit khóa tới các giá trị 000, 001 ….., 111. Các điều kiện khác có thể áp dụng dựa vào các ánh xạ ui, ví dụ để tránh các vấn đề liên quan đến khóa yếu hoặc các thuộc tính bù của mã khối. Đặt uj,i = uj,(Xj,i).
Hàm fi:
Định nghĩa 8 hàm fi như sau:
...
...
...
Ánh xạ tuyến tính β:
Định nghĩa ánh xạ tuyến tính β nhận đầu vào là một xâu 2n bit X = x0||x1||x2||x3 và ánh xạ sang một xâu 2n bit Y = y0||y1||y2||y3 như sau:
y0 := x0Åx3
y1 := x0Åx1Åx3
y2 := x1Åx2
y3 := x2Åx3
Trong đó xi và yi là các xâu n/2 bit.
Hàm vòng f có 8 khối mã song song, và 8 dãy biến có độ dài n bit Hj,1, Hj,2,…, Hj,8.
Trong mỗi vòng lặp, 4 khối dữ liệu độ dài n bit Dj,1, Dj,2, Dj,3, Dj,4 (độ dài L1 = 4n bit) được kết hợp với đầu ra vòng trước đó của hàm vòng Hj-1,1, Hj-1,2,…, Hj-1,8 (độ dài L2 = 8n bit) để tạo thành Hj,1, Hj,2,…, Hj,8 (độ dài L2 = 8n bit)
...
...
...
i) Đặt H0,1, H0,2..., H 0,8 theo cách sao cho H 0,1||...||H 0,8 = IV.
ii) For i = 0 to 5 do { MiL := I2i+1 ; MiR := I2i+2}
R0 := 0 ; R1 := 0;
iii) for i = 1 to 5 do{
B := R1ÅMi;
R1 := R0Åβ (B);
R0 := B;}
iv) for i = 1 to 8 do { X i := Ii ;}
...
...
...
Hàm vòng có dạng sau (1 ≤ j ≤ q)
(Xj,1, Xj,2,…, Xj,8, Yj,1, Yj,2,…, Yj,8):=g1(Hj-1,1, Hj-1,2,… Hj-1,8,Dj,1, Dj,2, Dj,3, Dj,4);
for i = 1 to 8 do {Hj,i := fi(Xj,i,Yj,i);}
Hàm vòng được mô tả trong Hình 3 và ánh xạ g1 được mô tả trong Hình 4 dưới đây:
Hình 3: Hàm vòng của hàm băm 3
Hình 4: Ánh xạ tuyến tính g1 của hàm băm 3
8.6 Phép biến đổi đầu ra
...
...
...
Dq+1,i = Hq,i,1≤ i ≤ 4
Dq+2,i = Hq,i+4,1≤ i ≤ 4
Dq+3,i = Hq,i,1≤ i ≤ 4
Dq+4,i = Hq,i+4, 1≤ i ≤ 4.
Đầu ra của hàm băm có độ dài LH là ghép của Hq+4,1 || Hq+4,2. Phép biến đổi đầu ra yêu cầu 26 lần mã (trong vòng lặp cuối chỉ 2 lần mã được thực hiện).
9. Hàm băm 4
9.1 Tổng quan
Hàm băm 4 được đặc tả trong phần này cung cấp mã băm có độ dài LH, trong đó LH bằng 3n, với giá trị n chẵn.
CHÚ THÍCH: Hàm băm 4 được mô tả trong [2].
...
...
...
Các tham số L1, L2 và LH của hàm băm 4 được đặc tả trong phần này thỏa mãn L1 = 3n, L2 = 9n, và LH = 3n.
9.3 Phương pháp đệm
Phương pháp đệm sử dụng cho hàm băm 4 được đặc tả trong mục A.3 TCVN 11816-1, trường hợp r = n.
9.4 Giá trị khởi tạo
Việc lựa chọn IV dùng cho hàm băm 4 không thuộc phạm vi TCVN 11816-2. IV là một xâu bit có độ dài 9n và giá trị của IV có thể được thống nhất và cố định bởi người sử dụng hàm băm.
9.5 Hàm vòng
Phép biến đổi u:
Định nghĩa 9 ánh xạ u1, u2, …, u9 từ không gian mã tới không gian khóa, sao cho:
với tất cả i, j thuộc tập {1,2,..., 9}, j ≠ i, ui(C) ≠ uj(C),đối với tất cả giá trị của C
...
...
...
Hàm fi
Định nghĩa 9 hàm fi như sau:
fi(X,Y) = Eui(X)(Y),1 ≤ i ≤ 9.
Ánh xạ tuyến tính β:
Xem 8.1 để biết thêm các định nghĩa liên quan đến hàm băm này.
Hàm vòng f có 9 khối mã song song, và 9 dãy biến có độ dài n-bit Hj,1, Hj,2,…, Hj,9.
Trong mỗi vòng lặp, 3 khối dữ liệu độ dài n bit Dj,1, Dj,2, Dj,3 (độ dài L1 = 3n bit được kết hợp với đầu ra vòng trước đó của hàm vòng Hj-1,1, Hj-1,2,…, Hj-1,9 (độ dài L2 = 9n bit) để tạo thành Hj,1, Hj,2,…, Hj,9 (độ dài L2 = 9n bit).
Hàm vòng dựa vào một ánh xạ tuyến tính g2 nhận đầu vào là 12 xâu dài n-bit l1, l2,…, l12 và ánh xạ sang 9 xâu độ dài n bit X1, X2,…, X9 và 9 xâu độ dài n bit Y1, Y2,…, Y9. Ánh xạ sử dụng chín xâu phụ có độ dài 2n bit R0, R1, R2, M0, M1,..., M5. Ánh xạ g2 được xác định theo các bước sau đây:
i) Đặt H0,1,..., H0,9 theo cách sao cho H 0,1||...||H 0,9 = IV
...
...
...
R0 := 0 ; R1 := 0 ;R2 := 0 ;
iii) for i = 0 to 5 do {
B := R2 Å Mi;
U := β (B);
R2 := R1 Å U;
R1 := R0 Å U;
R0 := B ; }
iv) for i = 1 to 9 do {Xi := li;}
...
...
...
Hàm vòng có dạng sau (1≤ j ≤ q)
(Xj,1, Xj,2,…, Xj,9, Yj,1, Yj,2,…, Yj,9):=g2(Hj-1,1, Hj-1,2,… Hj-1,9,Dj,1, Dj,2, Dj,3);
for i = 1 to 9 do {Hj,i := fi(Xj,i,Yj,i);}
Hàm vòng được mô tả trong Hình 5 và ánh xạ g2 được mô tả trong Hình 6 dưới đây:
Hình 5: Hàm vòng của hàm băm 4
9.6 Phép biến đổi đầu ra
Sau quá trình xử lý bản thông báo đệm, chuỗi các biến có giá trị Hq,1, Hq,2,…, Hq,9 Thực hiện 4 vòng lặp bổ sung với đầu vào
Dq+1,i = Hq,i, 1≤ i ≤ 3
...
...
...
Dq+3,i = Hq,i+6, 1≤ i ≤ 3
Dq+4,i = Hq,i, 1≤ i ≤ 3.
Đầu ra của hàm băm có độ dài LH là ghép của Hq+4,1|| Hq+4,2|| Hq+4,3. Phép biến đổi đầu ra yêu cầu 30 lần mã (trong vòng lặp cuối chỉ 3 lần mã được thực hiện).
Hình 6: Ánh xạ tuyến
tính g2 của
hàm băm 4
PHỤ LỤC A
(tham khảo)
SỬ DỤNG AES
...
...
...
Phụ lục này trình bày một cách sử dụng thuật toán mã khối AES (TCVN11367-3:2016 (ISO/IEC 18033-3)) kết hợp với các hoạt động của hàm băm được đặc tả trong TCVN 11816-2. Các tham số cho AES là n = 128. Độ dài K là 128 bit.
A.2 Hàm băm 1
IV = ‘52525252525252525252525252525252’ (dạng mã thập lục phân)
Phép biến đổi u được chọn theo cách sau: gọi X là biễu diễn nhị phân của xâu 128-bit khi đó Y = u(X) = X.
CHÚ THÍCH: Người ta tin rằng việc tìm được va chạm cho hàm vòng và hàm băm cần tới 264 lần mã AES.
A.3 Hàm băm 2
IVL = ‘52525252525252525252525252525252’ (dạng mã thập lục phân)
IVR = ‘25252525252525252525252525252525’ (dạng mã thập lục phân)
Phép biến đổi u được lựa chọn như sau: gọi X = x1x2…x128 là biểu diễn nhị phân của một xâu X độ dài 128 bit Khi đó Y = u(X) là xâu nhận được sau khi chuyển bit x1 thành giá trị ‘0’. Kết quả là: Y = 0x2x3…x127x128. Phép biển đổi u’ được lựa chọn như sau: Y = u'(X) là xâu nhận được sau khi chuyển bit x1 thành giá trị ‘1’. Kết quả là: Y = 1x2x3…x127x128.
...
...
...
IV1, IV2,..., IV8 cùng bằng ‘52525252525252525252525252525252’ (dạng mã thập lục phân)
Phép biến đổi u1, u2, …u8 được chọn như sau: X = x1x2…x128 là biểu diễn nhị phân của xâu X độ dài 128 bit. Khi đó Y = ui(X) là xâu nhận được sau khi chuyển các bit x1, x2, x3 tới giá trị cho trước trong bảng 1 dưới đây.
Bảng A.1 - Hàm băm 3: Giá trị của các bit khóa số 1, 2, 3 trong 8 hàm con
Hàm con i
Hàm con i
1
000
2
001
...
...
...
010
4
011
5
100
6
101
7
110
...
...
...
111
A.5 Hàm băm 4
IV1, IV2, ... IV9 cùng bằng '52525252525252525252525252525252' (dạng mã thập lục phân)
Phép biến đổi u1, u2, …u9 sẽ được chọn như sau: X = x1x2…x128 là biểu diễn nhị phân của xâu X độ dài 128-bit. Khi đó Y = ui(X) là xâu nhận được sau khi chuyển các bit x1, x2, x3, x4 tới giá trị cho trước trong bảng 2 dưới đây.
Bảng A.2 - Hàm băm 4: Giá trị của các bit khóa số 1, 2, 3 và 4 trong 9 hàm con
Hàm con i
Hàm con i
1
0000
...
...
...
0001
3
0010
4
0011
5
0100
6
0101
...
...
...
0110
8
0111
9
1000
PHỤ LỤC B
(tham khảo)
Các ví dụ
...
...
...
Phụ lục B đưa ra ví dụ về việc tính toán mã băm cho tất cả các hàm băm được đặc tả trong các mục từ 6 đến 9 TCVN 11816-2, thuật toán mã khối được đặc tả trong phụ lục A TCVN 11816-2; Việc lựa chọn phương pháp đệm được đặc tả trong phụ lục A TCVN 11816-1.
Xâu dữ liệu là mã ASCII 7-bit được mô tả trong [3] (Không chẵn lẻ) cho “Now_is_the_time_for_all_” khi đó biểu thị “_” chỉ các khoảng trống trong biểu diễn hệ thập lục phân.
‘4e6f77206973207468652074696d6520666f7220616c6c20’
B.2 Hàm băm 1
Xem A.2.
Phương pháp đệm 1
Phương pháp đệm 2
...
...
...
Phương pháp đệm 1
Phương pháp đệm 2
B.4 Hàm băm 3
Phương pháp đệm 3
...
...
...
Mã băm
'35af124f4845eb47256a959eb84554e03b78dd0c4a1d9bf36c4a4010aa41d8c5’
Phương pháp đệm 3
...
...
...
Mã băm
'cdac9fdaff9e80f1c464af255041b323c8d6aa10e8f147a2dedfd219ae0c2a4c96e3c0f64293b5298b264625901920d1’
PHỤ LỤC C
(quy định)
...
...
...
Phụ lục này liệt kê mô đun ASN.1 của hàm băm sử dụng mã khối n-bit được đặc tả trong TCVN 11816-2
Thư mục tài liệu tham khảo
[1] KNUDSEN, L.R. PRENEEL, B. Hash-functions based on block ciphers and quaternary codes, Advances in Cryptology, Proc. AsiaCrypt’96, LNCS 1163, K. Kim, T. Matsumoto, Eds., Springer-Verlag, 1996,
[2] KNUDSEN, L.R. PRENEEL, B. Fast and secure hashing based on codes, Advances in Cryptology, Proc. Crypto’97, LNCS 1294, B. Kaliski, Ed., Springer-Verlag, 1997, pp. 485-498
[3] ISO 646:1991, Information technology - ISO 7-bit coded character set for information interchange
[4] COPPERSMITH, D. MATYAS, S.M. PEYRAVIAN, M. Rationale for Bit Fixing in the MDC-2 Algorithm, IBM T.J. Watson Research Center, Yorktown Heights, N.Y., 10598, Research Report RC 21471, May 7 1999
[5] MENEZES ALFRED J., PAUL C. VAN OORSHOT, Scott A. VANSTONE, Handbook of Applied Cryptography. Fifth Printing (August 2001)
...
...
...
[7] ISO/IEC 18033-3:2005, Information technology - Security techniques - Encryption algorithms - Part 3: Block ciphers
MỤC LỤC
Lời nói đầu
1 Phạm vi áp dụng
2 Tài liệu viện dẫn
3 Thuật ngữ và định nghĩa
4 Ký hiệu và thuật ngữ viết tắt
5 Sử dụng mô hình tổng quát
6 Hàm băm 1
...
...
...
6.2 Lựa chọn tham số
6.3 Phương pháp đệm
6.4 Giá trị khởi tạo
6.5 Hàm vòng
6.6 Phép biến đổi đầu ra
7 Hàm băm 2
7.1 Tổng quan
7.2 Lựa chọn tham số
7.3 Phương pháp đệm
...
...
...
7.5 Hàm vòng
7.6 Phép biến đổi đầu ra
8 Hàm băm 3
8.1 Tổng quan
8.2 Lựa chọn tham số
8.3 Phương pháp đệm
8.4 Giá trị khởi tạo
8.5 Hàm vòng
8.6 Phép biển đổi đầu ra
...
...
...
9.1 Tổng quan
9.2 Lựa chọn tham số
9.3 Phương pháp đệm
9.4 Giá trị khởi tạo
9.5 Hàm vòng
9.6 Phép biến đổi đầu ra
Phụ lục A (Tham khảo) Sử dụng AES
Phụ lục B (Tham khảo) Các ví dụ
Phụ lục C (Quy định) Mô đun ASN.1
...
...
...
Nguồn: https://thuvienphapluat.vn/TCVN/Dien-dien-tu/TCVN-11816-2-2017-ISO-IEC-10118-2-2010-Cong-nghe-thong-tin-Ham-bam-ma-khoi-N-bit-916325.aspx
Bài viết liên quan:
- Tiêu chuẩn TCVN 14263:2024 mô tả mã khối MKV
- Tiêu chuẩn TCVN 14241-2:2024 về Giống chó Sông Mã
- Tiêu chuẩn TCVN 14223-2:2024 về Yêu cầu an toàn thiết bị lưu giữ ngoài nhà máy sản xuất, gia công kính phẳng
- Tiêu chuẩn TCVN 14223-3:2024 về Yêu cầu an toàn đối với Máy cắt kính
- Tiêu chuẩn TCVN 14213-1:2024 về Yêu cầu thiết kế thi công Tường Barrette
- Tiêu chuẩn TCVN 14212:2024 Thiết kế, thi công và nghiệm thu đối với móng cần trục tháp
- Tiêu chuẩn TCVN 13954:2024 về Thử nghiệm phản ứng với lửa để xác định tốc độ mất khối lượng của mẫu có bề mặt phẳng
- Tiêu chuẩn TCVN 13522-2:2024 về xác định tính lan truyền lửa tại mức thông lượng nhiệt 25kW/m2
- Tiêu chuẩn TCVN 12197:2024 về Mã hóa có xác thực
- Tiêu chuẩn TCVN 14213-2:2024 về Yêu cầu kỹ thuật thi công tường Barrette
- Tiêu chuẩn TCVN 12783:2019 xác định tổng hàm lượng brom và iot bằng phương pháp phổ phát xạ quang plasma cặp cảm ứng
- Tiêu chuẩn TCVN 8064:2024 về Nhiên liệu điêzen 5 % Este metyl axit béo (DO B5)
- Tiêu chuẩn TCVN 8063:2024 về Xăng không chì pha 5 % Etanol (Xăng E5)
- Tiêu chuẩn TCVN 5740:2023 về Vòi đẩy chữa cháy
- Tiêu chuẩn TCVN 14262:2024 Định lượng Lactobacillus plantarum/Lactobacillus acidophilus bằng kỹ thuật đếm khuẩn lạc
- Tiêu chuẩn TCVN 14203:2024 về yêu cầu đối với mẫu tiêu bản côn trùng
- Tiêu chuẩn TCVN 14223-1:2024 về Thiết bị lưu giữ, xếp dỡ và vận chuyển trong nhà máy
- Tiêu chuẩn TCVN 13957:2024 về Yêu cầu thiết kế, thi công và nghiệm thu đối với Tuy nen kỹ thuật
- Tiêu chuẩn TCVN 9994:2024 về Quy phạm thực hành vệ sinh đối với rau quả tươi
- Tiêu chuẩn TCVN 14190-1:2024 về Khung tiêu chí và phương pháp luận đánh giá an toàn hệ thống sinh trắc học