NBCuong N.B. Cuong Internet-Draft D.V. Truong Intended status: InformationalVietnam Government Information Security Commission Expires: 7 January 2027 6 July 2026 Encryption algorithms - Block cipher MKV draft-nbcuong-mkv-block-cipher-00 Abstract This document specifies the MKV block cipher for use in cryptographic mechanisms supporting information security. The algorithm may be used to provide confidentiality of information during transmission, processing, and storage in information systems. About This Document This note is to be removed before publishing as an RFC. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 7 January 2027. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. Cuong & Truong Expires 7 January 2027 [Page 1] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. MKV block cipher . . . . . . . . . . . . . . . . . . . . . . 3 2.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Encryption process . . . . . . . . . . . . . . . . . . . 4 2.2.1. General . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2. State representation . . . . . . . . . . . . . . . . 4 2.2.3. Initialization . . . . . . . . . . . . . . . . . . . 5 2.2.4. Round keys and whitening keys . . . . . . . . . . . . 5 2.2.5. Round transformation . . . . . . . . . . . . . . . . 5 2.2.6. Final transformation . . . . . . . . . . . . . . . . 6 2.2.7. Output . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Decryption process . . . . . . . . . . . . . . . . . . . 6 2.3.1. General . . . . . . . . . . . . . . . . . . . . . . . 6 2.3.2. Initialization . . . . . . . . . . . . . . . . . . . 6 2.3.3. Whitening transformation . . . . . . . . . . . . . . 6 2.3.4. Inverse round transformation . . . . . . . . . . . . 6 2.3.5. Output . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. Basic transformations . . . . . . . . . . . . . . . . . . 7 2.4.1. SubCells transformation . . . . . . . . . . . . . . . 7 2.4.2. invSubCells transformation . . . . . . . . . . . . . 8 2.4.3. MixWords transformation . . . . . . . . . . . . . . . 9 2.4.4. invMixWords transformation . . . . . . . . . . . . . 10 2.4.5. XWords transformation . . . . . . . . . . . . . . . . 12 2.5. Key schedule process . . . . . . . . . . . . . . . . . . 12 Appendix A. Test vector for MKV . . . . . . . . . . . . . . . . 14 A.1. MKV with 128-bit block size . . . . . . . . . . . . . . . 14 A.2. MKV with 256-bit block size . . . . . . . . . . . . . . . 16 Appendix B. Bibliography. . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 1. Introduction Cuong & Truong Expires 7 January 2027 [Page 2] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 The MKV block cipher is specified with two block sizes: a 256-bit version, intended to provide a higher security margin in the context of post-quantum considerations, and a 128-bit version for use in transitional deployment scenarios. Each version supports three key lengths, allowing different security levels depending on application requirements. The MKV block cipher adopts a substitution - permutation network (SPN) structure based on the FLC scheme. The design is intended to achieve security properties consistent with the Luby-Rackoff model [3]. In addition, the FLC-SDS structure is designed to provide resistance against differential and linear cryptanalysis under commonly accepted assumptions [4]. The cipher employs 8-bit S-boxes to provide nonlinearity and an MDS matrix to achieve diffusion. These components are selected based on established cryptographic criteria and are optimized for both hardware and software implementations [4], [6], [7]. The key schedule is based on an iterative design approach described in [6] and is intended to provide resistance against structural and related-key attacks. The MKV block cipher is designed to provide resistance against known forms of cryptanalysis, including differential, linear, boomerang, integral, algebraic, related-key, and impossible differential attacks, within the claimed security margins. Evaluation of resistance against quantum adversaries, including Grover's and Simon's algorithms, remains an area of ongoing research. The algorithm is designed to achieve efficient performance across a range of hardware and software platforms suitable for information security applications. 2. MKV block cipher 2.1. General The MKV block cipher shall operate on fixed-length data blocks of size n?{128, 256} bits. The cipher shall be denoted as MKV-l, where l represents the block size. For each block size, the cipher shall support three key lengths k, with the corresponding number of rounds R defined as follows: For MKV-128: k?{128, 192, 256} with R=7, 8, 9, respectively For MKV-256: k?{256, 384, 512} with R=7, 8, 9, respectively The set of supported variants is summarized in Table 1. Figure 1: - The versions of MKV. Cuong & Truong Expires 7 January 2027 [Page 3] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 Version l k R MKV-128 128 128 7 192 8 256 9 MKV-256 256 256 7 384 8 512 9 The MKV block cipher shall use an iterative round function applied for R rounds during both encryption and decryption. Each round function shall consist of the following transformations: SubCells: nonlinear byte-wise substitution using an S-box; MixWords: linear transformation applied independently to each sub-state; XWords: mixing transformation combining sub-states using bitwise exclusive-OR operations; AddRoundKey: addition of the round key to the state using bitwise exclusive-OR. The inverse transformations shall be used for decryption: invSubCells: inverse transformations of SubCells; 1 invMixWords: inverse transformations of MixWords. The encryption and decryption processes are specified in Clauses 2.2 and 2.3, respectively. The key schedule process is specified in Clause 2.5. 2.2. Encryption process 2.2.1. General The encryption process shall transform a plaintext block P in {0,1}^n into a ciphertext block C in {0,1}^n using a master key K_master. 2.2.2. State representation Cuong & Truong Expires 7 January 2027 [Page 4] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 The internal state X shall be an n-bit string. The state shall be partitioned into four sub-states: X=(X_0, X_1, X_2,X_3) where each sub-state X_i has size w=n/4 bits. Each sub-state shall be represented as a sequence of bytes: X_i=(x_(i,0), x_(i,1), ..., x_(i,t-1)) where: x_(i,j) in {0,1}^8 t=w/8 Thus: t=4 for MKV-128 t=8 for MKV-256 The state X may be represented as a matrix of size t×4, where each column corresponds to one sub-state. 2.2.3. Initialization The initial state shall be set as: X?P where the mapping from P to X shall be performed in a consistent byte ordering defined by the implementation. 2.2.4. Round keys and whitening keys Let: K_r in {0, 1}^2n, for r=0, ..., R-1, be the round keys K_(r,0) in {0, 1}^n, for r=0, ..., R-1, be the low bit half of round key K_r K_(r,1) in {0, 1}^n, for r=0, ..., R-1, be the high half of round key K_r K_post in {0, 1}^2, be the post-whitening key These keys shall be derived from the master key K_master ? using the key schedule specified in Clause 2.5. 2.2.5. Round transformation For each round r=0, ..., R-1, the state shall be updated as follows: X <- X (+) K_r,0 X <- SubCells(X) X <- MixWords(X) X <- X (+) K_r,1 X <- SubCells(X) X <- XWords(X) X <- X (+) K_r Cuong & Truong Expires 7 January 2027 [Page 5] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 2.2.6. Final transformation X <- X (+) K_post 2.2.7. Output The ciphertext shall be defined as: C <- X The encryption process can be fully described as follows: (1) X <- P (2) For r=0 to R-1 do (2.1) X <- X <- K_r^0 (2.2) X <- SubCells(X) (2.3) X <- MixWords(X) (2.4) X <- X (+) K_r^1 (2.5) X <- SubCells(X) (2.6) X <- XWords(X) (3) C <- X (+) K_post 2.3. Decryption process 2.3.1. General The decryption process shall transform a ciphertext block C in {0,1}^n into a plaintext block P in {0,1}^n using the master key K_master. 2.3.2. Initialization The initial state shall be set as: X <- C 2.3.3. Whitening transformation X <- X(+)K_post where K_post is the post-whitening key defined in Clause 2.2. 2.3.4. Inverse round transformation Cuong & Truong Expires 7 January 2027 [Page 6] Internet-Draft Encryption algorithms - Block cipher MKV July 2026 Let: K_r denote the round keys, K_(r,0) and K_(r,1) denote the half round keys as defined in Clause 2.2. For r=R,-1 R-2,...,0, the state shall be updated as follows: X <- XWords(X) X <- invSubCells(X) X <- X (+) K_r,1 X <- invMixWords(X) X <- invSubCells(X) X <- X (+) K_r,0 2.3.5. Output The ciphertext shall be defined as: P <- X 2.4. Basic transformations The MKV block cipher shall use the following basic transformations: SubCells invSubCells MixWords invMixWords XWords These transformations shall operate on the internal state X in {0, 1}^n and are defined in the following subclauses. 2.4.1. SubCells transformation The SubCells transformation shall apply a nonlinear substitution to each byte of the state X. Let the state be represented as: X_i=(x_(i,j) ), 0<=i<4, 0<=j