Tin tổng hợp
Các chế độ hoạt động của mã khối (TCVN 12213-3:2017 (ISO/IEC 10116))

TCVN 12213 : 2018 hoàn toàn tương đương với ISO/IEC 10116 : 2017.

TCVN 12213: 2018 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ố.

Tiêu chuẩn này quy định các chế độ hoạt động và đưa ra các khuyến nghị để lựa chọn giá trị của các tham số (thích hợp); thiết lập 05 chế độ hoạt động cho các ứng dụng của mã khối n-bit. Các chế độ hoạt động của mã khối được xác định này chỉ đảm bảo tính bí mật cho dữ liệu, còn việc đảm bảo tính toàn vẹn dữ liệu không thuộc phạm vi của tiêu chuẩn này. Tất cả các chế độ hoạt động của mã khối n-bit được quy định trong tiêu chuẩn này đều phải tuân theo các yêu cầu được đưa ra tại Điều 5, TCVN 11213:2018.

Chế độ sách mã điện tử ECB

Mã hóa hoặc giải mã một khối có thể được thực hiện độc lập với các khối khác. Việc sắp xếp lại các khối bản mã sẽ dẫn đến việc sắp xếp lại các khối bản rõ tương ứng. Cùng một khối bản rõ luôn luôn tạo ra cùng một khối bản mã (đối với cùng một khóa) do đó, có thể tấn công bằng "tấn công từ điển", ở đó một từ điển được xây dựng với các khối bản rõ và các khối bản mã tương ứng.

Trong chế độ ECB, các khối bản rõ giống nhau (đối với cùng một khóa) tạo ra các khối bản mã giống hệt nhau. Với lý do này, chế độ ECB không khuyến cáo cho các thông điệp dài hơn 1 khối. Việc sử dụng ECB có thể được được đặc tả trong các tiêu chuẩn tương lai với các mục đích cụ thể với các đặc trưng lặp lại được chấp nhận (ví dụ, nếu các khối đầu vào không bao giờ lặp lại) các khối phải được truy cập riêng biệt hoặc ngẫu nhiên.

 

Hình 1- Chế độ mã ECB

Chế độ móc xích khối mã (CBC)

Phép móc xích làm cho các khối mã phụ thuộc vào các khối bản rõ hiện tại và trước đó Pi-m,Pi-2m, Pi-3m, …và do đó sắp xếp lại các khối mã không dẫn đến việc sắp xếp lại các khối bản rõ tương ứng, nên kẻ tấn công không thể thuần túy hoán chuyển các khối bản rõ bằng cách hoán chuyển các khối bản mã.

Việc sử dụng các giá trị khởi tạo khác nhau sẽ ngăn chặn cùng một bản rõ mã hóa thành cùng một bản mã. Lựa chọn m > 1 cho phép các toán tử mã hóa của mã khối được thực hiện song song. Với việc sử dụng phần cứng xử lý song song, chẳng hạn một mạch định hướng, tạo điều kiện cho việc thực thi dữ liệu thông lượng cao. Việc giải mã khối bản mã bất kỳ có thể không cần giả mã các chuỗi bản mã trước đó, có nghĩa là chế độ này có thuộc tính "truy cập ngẫu nhiên" cho bản mã. Nếu mã khối có thể được mô phỏng bởi hoán vị giả ngẫu nhiên và giá trị khởi tạo được lựa chọn ngẫu nhiên, chế độ CBC được chứng minh về mặt toán hoặc là an toàn theo nghĩa là mã hóa không có thông tin tính toán về bản rõ.

Trong chế độ CBC, các khối bản mã giống nhau thu được khi cùng một bản rõ được mã hóa với cùng một khóa và giá trị khởi tạo SV. Việc thay đổi SV, khóa hoặc khối rõ thứ nhất mang lại các bản mã khác nhau.

Tính an toàn không được đảm bảo nếu không áp dụng một trong những tiến trình tạo giá trị khở tạo SV dưới đây khi có nhiều bản rõ được mã hóa với cùng một khóa.

- Tạo giá trị khởi tạo SV một cách ngẫu nhiên từ tập hợp của tất cả các xâu n-bit với một nguồn ngẫu nhiên không dự đoán trước được.

- Thiết lập khối bản rõ đầu tiên là một định danh duy nhất cho mỗi bản rõ ngoài sự kiểm soát của đối phương, chẳng hạn như tăng một bộ đếm và thiết lập giá trị khởi tạo SV là một xâu n-bit­ chỉ chứa các số không.

 

Hình 2- Chế độ mã CBC (với m=1)

 

Hình 3- Chế độ mã CBC (vơi m>1)

          Chế độ phản hồi bản mã (CFB)

          Chế độ CFB làm cho các khối bản mã phụ thuộc vào khối bản rõ hiện tại và một số lượng nhất định các biến bản rõ ngay trước đó. Số lượng này phụ thuộc vào việc lựa chọn các tham số r, k, j. Do đó, ngoài việc sắp xếp lại j bit của các biến bản mã không ảnh hưởng đến việc sắp xếp lại j bit của các biến bản rõ tương ứng, do vậy kẻ tấn công không thể thuần túy hoán chuyển khối bản rõ bằng cách hoán chuyển các khối bản mã.

          Việc sử dụng các giá trị khởi tạo SV khác nhau sẽ ngăn chặn cùng một bản rõ được mã hóa thành cùng một bản mã. Quá trình mã hóa và giải mã trong chế độ CFB chỉ sử dụng hàm mã hóa của mã khối.

          Độ mạnh của chế độ CFB phụ thuộc vào kích thước của k (đạt cực đại nếu j = k = n) và kích thước tương ứng của j, k, n r. Chế độ này yêu cầu gấp gần n/j lần các mã hóa mã khối so với chế độ ECB, do đó việc lựa chọn giá trị j nhỏ sẽ làm cho quá trình xử lý phức tạp hơn.

          Chế độ CFB tạo ra cùng một bản mã khi một bản rõ bất kỳ được mã hóa sử dụng cùng một khóa và giá trị khởi tạo. Tính an toàn sẽ không được đảm bảo nếu SV không phải là ngẫu nhiên cho mỗi một bản rõ nếu nhiều bản rõ được mã với cùng một khóa, chỉ ra từ tập hợp của các xâu r-bit.

 

Hình 4- Chế độ mã CFB

          Chế độ phản hồi đầu ra (OFB)

          Chế độ OFB sử dụng các giá trị khởi tạo SV khác nhau sẽ ngăn chặn cùng một bản rõ được mã hóa thành cùng một bản mã bằng cách tạo ra các dòng khóa khác nhau.

          Quá trình mã hóa và giải mã trong chế độ OFB chỉ sử dụng hàm mã hóa của mã khối. Chế độ này không phụ thuộc vào bản rõ để tạo ra dòng khóa được dùng để cộng modulo 2 với bản rõ.

          Chế độ này yêu cầu gấp gần n/j lần các mã hóa mã khối so với chế độ ECB, do đó việc lựa chọn j nhỏ sẽ làm cho quá trình xử lý phức tạp hơn. Cũng giống như các chế độ CBC và CFB, việc thay đổi giá trị khởi tạo SV và khóa làm cho cùng một bản rõ được mã hóa thành đầu ra khác nhau.

          Tính an toàn không được đảm bảo nếu không áp dụng một trong những tiến trình tạo SV (xem tiến trình khởi tạo SV ở chế độ mã CBC) khi có nhiều bản rõ được mã hóa với cùng một khóa.

Hình 5- Chế độ mã OFB

          Chế độ bộ đếm (CTR)

          Chế độ bộ đếm sử dụng các giá trị khởi tạo SV khác nhau sẽ ngăn chặn cùng một bản rõ được mã hóa thành cùng một bản mã bằng cách tạo ra các dòng khóa khác nhau. Quá trình mã hóa và giải mã trong chế độ này chỉ sử dụng hàm mã hóa của mã khối và không phụ thuộc vào bản rõ để tạo ra dòng khóa được dụng để cộng modulo 2 với bản rõ.

          Trong chế độ này, khối bản mã Ci được giải mã mà không cần giải mã khối bản mã Ci-1, đây chính là tính chất truy cập ngẫu nhiên.

          Với việc lựa chọn giá trị j nhỏ yêu cầu gấp gần n/j lần các vòng lặp so với chế độ ECB, do đó sẽ làm cho quá trình xử lý phức tạp hơn, và cùng với các giả định giống nhau về mã khối thì chế độ này cũng được chứng minh là an toàn.

          Khi có nhiều bản rõ được mã hóa với cùng một khóa, thì chỉ đảm bảo an toàn nếu các giá trị khởi tạo SV chỉ được sử dụng một lần và được chọn sao cho bất kỳ giá trị CRT trung gian nào không được sử dụng nhiều hơn một lần.

 

Hình 6- Chế độ mã CTR

         Tất cả các chế độ hoạt động được đặc tả trong tiêu chuẩn này đều yêu cầu các bên mã hóa và giải mãxâu dữ liệu phải chia sẻ khóa bí mật K sử dụng cho mã khối. Tất cả các chế độ hoạt động ngoài chế độ sách mã điện tử - ECB cũng yêu cầu các bên chia sẻ một giá trị khởi tạo SV, trong đó độ dài của SV phụ thuộc vào chế độ sử dụng của mã khối. Giá trị của biến khởi tạo thường khác nhau đối với mỗi xâu dữ liệu được mã hóa sử dụng một khóa cụ thể. Các các khóa và các giá trị khởi tạo được quản lý và phân phối nằm ngoài phạm vi áp dụng của tiêu chuẩn này.

          Các phép mã hóa, giải mã đối với từng chế độ hoạt động cụ thể, các quy định về định danh đối tượng, các mô tả và các ví dụ cho các chế độ hoạt động được quy định chi tiết trong tiêu chuẩn này.

CN. Ngô Thị Linh, Cục QLMMDS & KĐSPMM


Thống Kê Truy Cập
Tổng số lượt truy cập: 1064327
Số người đang truy cập: 30