Next Article in Journal
Further Observations on SIMON and SPECK Block Cipher Families
Next Article in Special Issue
Cryptanalysis of Round-Reduced Fantomas, Robin and iSCREAM
Previous Article in Journal
Security Incident Information Exchange for Cloud Service Provisioning Chains
Previous Article in Special Issue
Deterministic Authenticated Encryption Scheme for Memory Constrained Devices
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

CMCC: Misuse Resistant Authenticated Encryption with Minimal Ciphertext Expansion

Independent Researcher, Vancouver, WA 98684, USA
Submission received: 21 September 2018 / Revised: 5 November 2018 / Accepted: 4 December 2018 / Published: 19 December 2018
(This article belongs to the Special Issue Authenticated Encryption)

Abstract

:
In some wireless environments, minimizing the size of messages is paramount due to the resulting significant energy savings. We present CMCC (CBC-MAC-CTR-CBC), an authenticated encryption scheme with associated data (AEAD) that is also nonce misuse resistant. The main focus for this work is minimizing ciphertext expansion, especially for short messages including plaintext lengths less than the underlying block cipher length (e.g., 16 bytes). For many existing AEAD schemes, a successful forgery leads directly to a loss of confidentiality. For CMCC, changes to the ciphertext randomize the resulting plaintext, thus forgeries do not necessarily result in a loss of confidentiality which allows us to reduce the length of the authentication tag. For protocols that send short messages, our scheme is similar to Synthetic Initialization Vector (SIV) mode for computational overhead but has much smaller expansion. We prove both a misuse resistant authenticated encryption (MRAE) security bound and an authenticated encryption (AE) security bound for CMCC. We also present a variation of CMCC, CWM (CMCC With MAC), which provides a further strengthening of the security bounds.

1. Introduction

The current paradigm of providing confidentiality and integrity protection for distributed applications through the use of encryption combined with MAC’s (Message Authentication Codes) is reasonably efficient for many environments. In particular, for network message sizes that range from several hundred bytes or more, having MAC’s that utilize 8–20 bytes is not unduly inefficient. For resource constrained environments, where message lengths are often less than one-hundred bytes, existing MAC’s impose a more significant overhead. Since it requires more energy to send longer messages, it is important to reduce message sizes in protocols used by wireless devices. This need becomes even more critical for low bandwidth networks.
In this paper we present a new authenticated encryption mode, CMCC. CMCC utilizes a pseudorandom function (PRF) (e.g., AES but other choices are possible). Our construction uses multiple invocations of the PRF so that any modifications to ciphertext result in a randomized plaintext.
CBC-MAC-CTR-CBC (CMCC) mode is a general purpose authenticated encryption mode [1]. We apply CBC (Cipher Block Chaining) encryption in the first round, use a MAC followed by a CTR (Counter) mode in the 2nd round, and CBC encryption again in the 3rd round (see Algorithms 1, 2, and Figure 1). We prove that CMCC is misuse resistant [2]: encryptions using the same message number, plaintext, and associated data are identifiable to the adversary as such, but security is preserved if the same message number is reused where either the plaintext or associated data is distinct. Since changes to the ciphertext randomize the resulting plaintext, with high probability, we achieve authentication by appending a string consisting of τ bits set to zero to the plaintext prior to encryption. Relative to SIV [2], CMCC has smaller ciphertext expansion.
CMCCv1.0 was originally submitted to the Caesar competition on authenticated encryption. Barwell [3] pointed out a vulnerability in the padding mechanism of CMCCv1.0 which was fixed in CMCCv1.1. This paper presents the CMCC v1.1 algorithm and proves security in the MRAE and AE security models.
We obtain MRAE and AE security with competitive security bounds using only a small number of bytes of ciphertext expansion, for a full range of message sizes.
We will make use of variable length input pseudorandom functions f i . In order to better understand the intuition behind our scheme, consider the case where the plaintext is the concatenation of the strings P 1 and P 2 where each string’s length equals the pseudorandom function output size (e.g., 16 bytes in the case of AES). Consider the scheme:
X = f 3 ( W , P 1 ) P 2 X 2 = f 2 ( W , X ) P 1 X 1 = f 1 ( W , X 2 ) X
where the ciphertext is X 1 , X 2 , and W is an unpredictable pseudorandom value. For maximum security, W is unique, with high probability, for each message encrypted under a given key K . Then if the adversary flips some bits in X 1 , the corresponding bits in X are flipped during decryption, and this produces random changes to P 1 during decryption (see 2nd equation). The first equation is then applied which results in random changes to P 2 . A similar argument applies if we flip one or more bits in X 2 . Since changes to any bits in the ciphertext result in random changes to the plaintext, we will see that the authentication tag can be a string of zero bits appended to the plaintext, and that the corresponding term in the security bound, due to this ciphertext expansion, is smaller than in comparable schemes.

1.1. Definitions for Authenticated Encryption (AE)

We give motivation for our definition of authenticated encryption.
Consider OCB [4] or a counter mode variant (e.g., GCM [5]) with a 4 byte authentication tag (NIST guidance on GCM is that at most 2 11 messages, given a maximal packet size of 1024 bytes, should be decrypted given a 4 byte tag). Then for the AE security game (see Section 2.2 for definition), submit the message (plaintext) with all 1’s and also the message with all 0’s. The adversary obtains a ciphertext response corresponding to one of the plaintexts. Then randomly flip bits in this ciphertext for each new ciphertext query and attach a random authentication tag. Then the probability of winning is q ( 2 32 ) . The reason is that this bound is the probability that one of the submitted ciphertexts is valid. If it’s valid then we get the plaintext back which shows us the bits that we flipped. And if the flipped bits are zero, then the original message had all 1’s and vice versa. Now compare this to CMCC with a 4 byte zero bit authentication string. Then our AE security bound is approximately q ( q 1 ) ( 2 65 ) for a 12 byte message. Thus CMCC has stronger AE security given a short authentication tag. If we run the same attack against CMCC as in the preceding paragraph, then the probability of a valid ciphertext is approximately the same. But the corresponding plaintext would be randomized with high probability and thus would give us no information about the challenge plaintext.
The MRAE–AE definition in [2] does not distinguish between the security levels in the two cases above, but the PRI (Pseudo Random Injection) definition in [2] does distinguish them.
This distinction becomes more important given short authentication tags; in particular, classifying a forgery as a a complete loss of security is not always appropriate. Depending on the application, a single forgery may not be enough to disrupt the application (e.g., VoIP), and depending on the encryption scheme, it may be detectable during higher layer protocol checks. Our security definition should be general enough to handle the case of a valid ciphertext query where changes to the ciphertext randomize the resulting plaintext so that the upper layer protocol checks detect and reject the message. (None of our security bounds include any factor related to upper layer protocol checks.)
Our definition gives the Adversary encryption and decryption oracles (real world) vs. a random injection function and its inverse and asks the Adversary to distinguish between the two (see Section 2). This definition is the same as the PRI definition in [2].

1.2. Applications

For CMCC, we can shorten our MAC tag since the adversary cannot make a predictable change to the encrypted message, as in many counter-mode based schemes. (These other schemes depend on the MAC to detect such a change). A change to a CMCC encrypted message is highly likely to cause the message to be rejected due to a failure to satisfy application protocol checks. Another possibility (e.g., Voice over IP (VoIP)) is that the randomized message will have a minimal effect. With only a small probability can the adversary achieve a successful integrity attack. Since network transmission and reception incurs significant energy utilization, it follows that we can expect to achieve significant energy savings. For wireless sensor networks, energy utilization is proportional to packet length, and the cryptographic computational processing impact on energy use is minor.
If we consider VoIP, a 20 byte payload is common. The transport and network layer headers (IP, UDP, and RTP) bring another 40 bytes, but compression [6,7] is used to reduce these fields down to 2–4 bytes. The link layer headers add another 6 bytes. Thus the total packet size is 30 bytes, assuming the UDP checksum of 2 bytes is included. In this case, by omitting the recommended 10 byte authentication tag and using CMCC with 2 bytes of expansion, we obtain a 1/5 savings in message size and corresponding savings in energy utilization. Furthermore if the encryption boundary is just after the CID field (which is used to identify the full headers), then the UDP checksum is encrypted and acts as an additional 2 byte authentication tag. Even if the adversary was lucky enough to obtain the correct checksum, the resulting Voice payload would be noise, with high probability.
Wireless sensor networks also use short packets [8] to maximize resource utilization; these packets are often in the range of 10–30 bytes. For the adversary, large numbers of queries are likely to be either impossible or highly anomalous in these constrained low bandwidth networks.

1.3. Our Contributions

Our contributions are as follows:
  • We give a new family of private key encryption schemes with minimal ciphertext expansion. We obtain AE security with a competitive security bound using only a small number of bytes of ciphertext expansion, for a full range of message sizes. When message numbers are not reused for CMCC, we obtain a security bound which is dominated by q ( q 1 ) 2 τ 1 ( 1 / β + 2 τ ) + 2 e ( q 1 ) / β where β = m i n { α , 2 B } , B is the block cipher block length in bits, and α = 2 8 m where L e n is the byte length of the minimal length plaintext query response, m = L e n / 2 and τ is the bit length of the authentication tag.
  • CMCC is a general purpose misuse resistant authenticated encryption mode. We define security for misuse resistant authenticated encryption and prove a MRAE security bound for CMCC. CMCC has less ciphertext expansion than SIV [2]. In particular, the ciphertext expansion τ due to the SIV IV contributes a q ( q 1 ) / 2 τ term to the SIV security bound, whereas the CMCC ciphertext expansion due to the authentication tag adds a q ( q 1 ) / 2 2 τ term to the CMCC AE bound, and a  q / 2 τ term to the CMCC MRAE security bound.
  • We present a variant of CMCC, CMCC with MAC, or CWM. CWM replaces the authentication tag consisting of zero bits in CMCC with an authentication tag consisting of a MAC computed over the plaintext in order to obtain a stronger security bound. When message numbers are not reused for CWM, we obtain a security bound which is dominated by q 2 / 2 3 τ + q 2 / ( 2 2 τ β ) + q / ( 2 τ 1 β ) and if message numbers can be reused then we obtain a bound dominated by q 2 / 2 2 τ + 1 + q 3 / 2 3 τ + 2 + q 2 / ( 2 2 τ β ) + q / ( 2 τ β ) + q 2 / β .

1.4. Related Work

There was originally work in the IETF IPsec Working Group on a confidentiality-only mode; the original version of ESP provided confidentiality without integrity protection [9]. However, Bellovin [10] showed that CBC and stream-cipher like constructions were vulnerable to attacks that could be prevented with a MAC.
Given a message with redundancy, the idea that authenticity can be obtained by enciphering it with a strong pseudorandom permutation goes back to [11]. The authors formally prove a bound on adversary advantage against authenticity which requires that the probability that an arbitrary string decodes to a valid message is low. In [12], the authors show that public redundancy is not always sufficient and that private (keyed) redundancy leads to stronger authentication properties. Struik [13] presented application requirements and constraints, independently of this work at roughly the same time this work was started.
In [14], Desai gives CCA-secure symmetric encryption algorithms that don’t use a MAC and don’t provide explicit integrity protection outside of the CCA-security. The most efficient one is UFE which utilizes variable length pseudorandom functions. Its ciphertext expansion is | r | bits where r is a uniform random value; security can be compromised if the same r is used for multiple messages. Since r is uniform random, collisions are likely after 2 | r | / 2 messages. The UFE security bound is q ( q + 1 ) / 2 | r | . If the adversary can make 2 20 queries, then Theorem 2 gives a security bound around 2 57 for CMCC with a 6 byte authentication string, given a 14 byte message. UFE would require a 13 byte ciphertext expansion to assure the same security level.
Rogaway and Shrimpton introduced misuse resistant authenticated encryption (MRAE) in the seminal paper [2], where they present the MRAE schemes SIV and PTE. SIV includes a MRAE scheme where the expansion includes the block cipher block size (e.g., 16 byte) IV plus the nonce. Thus CMCC is a MRAE scheme with smaller expansion (which is important for short messages), and comparable security for applications that require less than a 16 byte MAC. The SIV ciphertext expansion adds a  q ( q 1 ) / 2 τ term to the SIV security bound, while the CMCC ciphertext expansion adds a q ( q 1 ) / 2 2 τ term to the CMCC AE bound, and a q / 2 τ term to the CMCC MRAE security bound. SIV has roughly the same number of block cipher invocations as CMCC (see Table 1). Our security definition is the same as the PRI security definition [2].
CMCC uses the same authentication construction as PTE. However, the TES (Tweakable Enciphering Scheme) that [2] recommends for PTE is not capable of encrypting messages with less than the block size of the underlying block cipher.
Collisions in the IV [2] (or random message number in [14]) will result in loss of privacy for the affected messages. Thus security is increased if the IV is long (e.g., 16 bytes for SIV). In other words, decreasing ciphertext expansion results in less security. Security for our scheme is aided by message length, so privacy is stronger when ciphertext expansion is minimal, given short message lengths. The parameter X in our scheme is similar to the σ parameter in [14] and to the IV in [2]. These last two parameters create ciphertext expansion whereas X does not. Our scheme is targeted at environments where minimizing ciphertext expansion is a requirement.
Other fully nonce-misuse resistant schemes include AEZ [15], HS1-SIV [16], Julius [17], MRO [18], HBS [19], BTM [20], and GCM-SIV [21] with the first three being Caesar Authenticated Encryption competitors along with CMCC. Of the above schemes, similarly to CMCC AEZ addresses smaller length messages and minimal ciphertext expansion. The ciphertext expansion, or stretch, is a user controlled parameter that is an input to the encryption function. The AEZ paper does not give a security bound when message length plus stretch is less than 16 bytes. For some message/stretch sizes between 16 and 32 bytes, the CMCC security bounds are stronger. AEZ also makes use of a nonstandard 4 round AES function.
Processing performance for CMCC is similar to SIV, whereas the above schemes are more efficient (for processing but not energy usage) than SIV.
Bock [22] surveys Internet facing https servers and proxies to detect nonce reuse for AES-GCM in TLS. Their study uncovered nonce reuse thus showing the value of nonce-misuse resistance.
Shrimpton and Terashima [23] use a 3 round unbalanced Feistel network approach to obtain schemes TCT1 and TCT2 where the latter has BBB (Beyond Birthday Bound) security for longer messages (messages of length 2 n where the underlying blockcipher has length n . Both schemes are STPRP’s (Strong Tweakable PRP’s, e.g., the adversary may reuse tweaks.)
There is recent work to address leakage from unverified plaintexts which is likely to occur when handling large ciphertexts including RUP (Release of Unverified Plaintexts) by Andreeva et al. [24]. Security against RUP was one of the desired security properties listed for the Caesar competition [25]. RUP security is one of the properties of the APE AEAD algorithm [26,27].
Further work with respect to AEAD security definitions include SAE (Barwell et al.) [28], and RAE (Robust Authenticated Encryption) (Hoang et al.) [15]. RIV (Abed et al.) [29] is a scheme based on SIV that is provably secure when releasing unverified plaintexts. Badertscher [30] studies RAE within the constructive cryptography framework of Maurer and Renner [31,32]. Boldyreva [33] models the case where the adversary may receive one of a finite set of decryption failure errors. Earlier work including [34,35] motivates the need for RUP security based on limited memory to hold the decrypted ciphertext or real time requirements for processing encrypted data. Zhang et al. [36] consider the RUP and nonce-misuse security of OCB and propose extensions.
Additional work in the area of small domain encryption includes [37].

1.5. Organization

In Section 2, we give cryptographic definitions. In Section 3, we present CMCC which is an authenticated encryption scheme with minimal ciphertext expansion. Section 4 gives theorems and proofs for the CMCC misuse resistant authenticated encryption (MRAE) and authenticated encryption (AE) security bounds. We also present CWM in this section. In Section 5, we briefly discuss CMCC performance. In Section 6 we draw conclusions.

2. Definitions

2.1. Pseudorandomness

All strings are binary strings (if S is a string, then S { 0 , 1 } ). The concatenation of two strings S and T is denoted by S | | T , or S , T where there is no danger of confusion. For a string S , | S | is its length (in bits). If 1 i j | S | , then S [ i j ] is the substring from the i t h to the j t h characters, inclusive.
We write w W to denote selecting an element w from the set W using the uniform distribution. We write x f ( ) to denote assigning the output of the function f, or algorithm f, to x . S C denotes the complement of set S .
Throughout the paper, the adversary is an algorithm which we denote as A .
We follow [38] as explained in [39] for the definition of a pseudo-random function: Let l 1 and l 2 be positive integers, and let F = { h L } L K be a family of keyed functions where each function h L maps { 0 , 1 } l 1 into { 0 , 1 } l 2 . Let H l 1 , l 2 denote the set of functions from { 0 , 1 } l 1 to { 0 , 1 } l 2 .
Given an adversary A which has oracle access to a function in H l 1 , l 2 or F . The adversary will output a bit and attempt to distinguish between a function uniformly randomly selected from F and a function uniformly randomly selected from H l 1 , l 2 . We define the PRF-advantage of A to be
A d v F p r f ( A ) = | P r [ L K : A h L ( ) = 1 ] P r [ f H l 1 , l 2 : A f ( ) = 1 ] |
A d v F p r f ( q , t ) = max A { A d v F p r f ( A ) }
where the maximum is over adversaries that submit at most q queries and run in time t .
Intuitively, F is pseudo-random if it is hard to distinguish a random function selected from F from a random function selected from H l 1 , l 2 .
We also define A d v F p r p ( q , t ) in the same manner where the comparison is with a random permutation and F is a family of keyed permutations.

2.2. Authenticated Encryption (AE) and Misuse Resistant Authenticated Encryption (MRAE)

Given plaintext (message) set P , associated data set AD , ciphertext set C , key set K , header string set H , and message number set N . An authenticated encryption scheme (AE) is a tuple Π = ( K , E , D ) such that E : K × H × N × AD × P C , D : K × H × N × AD × C P { } , and  D ( K , H , N , A , E ( K , H , N , A , P ) ) = P for all H H , N N , A AD , P P . If there is no P P such that C = E ( K , H , N , A , P ) , then D ( K , H , N , A , C ) = . We write D K and E K in place of D ( K , ) and E ( K , ) .
For our security definition, we define the ideal world object as a random injective function. The expansion function is e : H × N × AD × P N . The expansion function depends only on the length of its arguments. Let I n j e H , N , AD ( P , C ) be the set of injective functions f from H × N × AD × P into C such that | f ( H , N , A , P ) | = | P | + e ( | H | , | N | , | A | , | P | ) .
Let Π = ( K , E , D ) be an AE with message space P , associated data set AD , header string set H , message number set N , and expansion e . The AE-advantage of adversary A against Π is
Adv Π A E ( A ) = P r [ K K : A E K ( . , . , . ) D K ( . , . , . ) 1 ] P r [ f I n j e H , N , AD ( P , C ) : A f ( . , . , . ) , f 1 ( . , . , . ) 1 ]
where encryption oracle queries use unique message numbers.  f 1 ( H , N , A , C ) = P if f ( H , N , A , P ) = C and returns ⊥ if no such tuple ( H , N , A , P ) exists. We define MRAE-advantage and A d v Π M R A E ( A ) analogously except encryption oracle queries are allowed to repeat message numbers. We also define A d v Π A E ( q , t , μ ) = max A d v Π A E ( A ) over all adversaries A that ask at most q queries totaling μ blocks in time t . We define A d v Π M R A E ( q , t , μ ) = max A d v Π M R A E ( A ) over all adversaries A that ask at most q queries totaling μ blocks in time t for the MRAE environment where message numbers may be repeated in encryption oracle queries. We will also consider the case where the game is restricted if the adversary submits a decryption oracle query which returns ; in this case, the adversary will not be allowed to make additional oracle queries prior to its output. We define A d v E p r i v ( A ) = | P r [ L K : A E L ( ) = 1 ] P r [ A $ = 1 ] | for encryption scheme E with expansion τ where $ returns a random string with τ bits plus the input string’s bitlength. We also define A d v E p r i v ( q , t , μ ) = max A d v E p r i v ( A ) over all adversaries A that ask q queries totaling μ blocks in time t . C T R K ( N , P ) denotes Counter Mode encryption with key K , nonce N , and plaintext P .
T i m e C T R ( μ ) is the sum of the worst case times to select key K , compute C T R K ( I V , P ) on plaintext P inputs of total length μ , and to compute C T R K ( I V , C ) on ciphertext C inputs of total length μ .

3. CMCC

We now present CBC-MAC-Counter-CBC (CMCC) mode. CMCC is a general purpose authenticated encryption mode which is misuse resistant and optimized for energy constrained environments.

3.1. Overview

We initially utilize CBC mode and obtain the value X . Here we utilize E K ¯ to create the CBC IV W from the message number M . This prevents the adversary from being able to manipulate M and P 1 in a way that allows collisions in X values to be created. Then we apply a MAC algorithm to W , X and use the result as the IV for counter mode encryption to encrypt P 1 and obtain X 2 . Note that if the message has length less than or equal to 32 bytes, then the output of the MAC function is xor’d with P 1 to obtain X 2 and additional counter blocks are not needed. Finally we create the other half of the ciphertext, X 1 using CBC mode applied to X 2 and exclusive-or with X .
Algorithms 1, 2, and Figure 1 describe CMCC.
Algorithm 1 CMCC Encryption: Encryption inputs are plaintext P , key K = K ¯ , L 3 , L 2 , L ¯ 2 , L 1 , public message number N , and associated data A . C B C ( I V , P , K e y ) is CBC encryption with initialization vector I V , plaintext P , and key K e y . A choice for M A C ( P , K e y ) is the CMAC MAC algorithm [40] with plaintext P and key K e y . p a d ( ) is the padding algorithm defined in Section 3.3. E K ¯ is the block cipher with key K ¯ . | P | , the bitlength of P, is a multiple of 8, as is τ . U is obtained from V by zeroing bits 31 and 63 to enable faster addition (prevent carries) [41]. U + j is integer addition, 1 j i . When xor’ing two strings of different length, the longer string is first truncated to the length of the shorter string.
CMCC Encrypt( P , K ¯ , L 3 , L 2 , L ¯ 2 , L 1 , N , A)
  1:
M ( 10110110 ) 16 | N | / 8 | | N
  2:
Z 0 τ
  3:
W E K ¯ ( M )
  4:
Q P | | Z
  5:
L | Q | / 8
  6:
if L = 0 m o d 2 then
  7:
     P 1 M S B L / 2 ( Q )
  8:
     P 2 L S B L / 2 ( Q )
  9:
else
10:
     P 1 M S B ( L 1 ) / 2 ( Q )
11:
     P 2 L S B ( L + 1 ) / 2 ( Q )
12:
end if
13:
X C B C ( W , p a d ( P 1 ) P 2 , L 3 ) P 2
14:
Y X | | A
15:
V M A C ( W | | Y , L 2 )
16:
i | P 1 | / B
17:
P 1 = P ¯ 1 , 1 | | | | P ¯ 1 , i | | P ¯ 1 , i + 1 where | P ¯ 1 , 1 | = = | P ¯ 1 , i | = B and | P ¯ 1 , i + 1 | = | P 1 | m o d B .
18:
U V a n d ( 1 64 | | 0 1 | | 1 31 | | 0 1 | | 1 31 )
19:
X 2 V P ¯ 1 , 1 | | E L ¯ 2 ( U + 1 ) P ¯ 1 , 2 | | | | E L ¯ 2 ( U + i ) P ¯ 1 , i + 1
20:
X 1 C B C ( W , p a d ( X 2 ) X , L 1 ) X
Algorithm 2 CMCC Decryption: Decryption inputs are ciphertext X 1 X 2 , key K = K ¯ , L 3 , L 2 , L ¯ 2 , L 1 , public message number N , and associated data A .
CMCC Decrypt( X 1 , X 2 , K ¯ , L 3 , L 2 , L ¯ 2 , L 1 , N , A)
  1:
M ( 10110110 ) 16 | N | / 8 | | N
  2:
Z 0 τ
  3:
W E K ¯ ( M )
  4:
X C B C ( W , p a d ( X 2 ) X 1 , L 1 ) X 1
  5:
Y X | | A
  6:
V M A C ( W | | Y , L 2 )
  7:
i | X 2 | / B
  8:
X 2 = X ¯ 2 , 1 | | | | X ¯ 2 , i | | X ¯ 2 , i + 1 where | X ¯ 2 , 1 | = = | X ¯ 2 , i | = B and | X ¯ 2 , i + 1 | = | X 2 | m o d B .
  9:
U V a n d ( 1 64 | | 0 1 | | 1 31 | | 0 1 | | 1 31 )
10:
P 1 V X ¯ 2 , 1 | | E L ¯ 2 ( U + 1 ) X ¯ 2 , 2 | | | | E L ¯ 2 ( U + i ) X ¯ 2 , i + 1
11:
P 2 C B C ( W , p a d ( P 1 ) X , L 3 ) X
12:
Q = P 1 | | P 2 ,
13:
U = L S B τ / 8 ( Q )
14:
if ( U ! = Z ) then
15:
     return ⊥
16:
else
17:
     Q = P ˜ | | Z
18:
return Plaintext P ˜
19:
end if

3.2. Notation

We use ⊕ to denote bitwise xor. When we xor two strings with different lengths, the longer string is first truncated to the length of the shorter string. b j is the bit b repeated j times. S j denotes the bit string S repeated j times. Thus ( 0110 ) 2 = 01100110 . A a n d B is the logical AND operation on two equal length strings A and B. The notation R 128 = 0 120 10000111 denotes the bit string with 120 zero bits, followed by the bits 1,0,0,0,0,1,1, and 1. x < < n denotes the left shift operator (filling vacated bits with zero bits), after shifting the string x by n bits to the left. B denotes the block length of the underlying block cipher (128 bits for AES). E k denotes encryption using the block cipher and input key k .
L S B j ( x ) and M S B j ( x ) denote the j least significant bytes and j most significant bytes of byte string x respectively.

3.3. Padding (Definition of Pad Function)

We will apply the padding scheme from the AES-CMAC algorithm to our mode when CBC encryption is performed. One difference is that we will sometimes need to pad by a full block length ( B / 8 bytes). (If S 1 is a multiple of B and S 2 is one byte longer, than we pad S 1 with B / 8 bytes. If both strings are the same length which is a multiple of B then we do not add any padding bytes.)
  • Given the CBC encryption key K , and byte strings S 1 and S 2 , where | S 1 | | S 2 | . We define p a d ( S 1 ) S 2 as follows:
  • p a d _ l e n g t h is the number of bits (which is a multiple of 8) needed to bring S 1 up to the length of S 2 and then bring S 1 up to a multiple of the block size. More formally,
    p a d _ l e n g t h = | S 2 | | S 1 | + B ( | S 2 | mod B )
    where mod values are taken between 1 and B .
  • We define L = E K ( 0 B ) . If the most significant bit of L is zero, then define K 1 = L < < 1 , otherwise, we define K 1 = ( L < < 1 ) R 128 . If the most significant bit of K 1 is zero, then define K 2 = K 1 < < 1 . Otherwise, we define K 2 = ( K 1 < < 1 ) R 128 .
    If p a d _ l e n g t h = 0 , then | S 1 | is a multiple of B ; let L be the last block of S 1 : S 1 = F | | L . Then  p a d ( S 1 ) S 2 = F | | ( L K 1 ) .
    If 8 p a d _ l e n g t h B , then we append the following string to S 1 : 10 p a d _ l e n g t h 1 : S 1 ¯ = S 1 | | 10 p a d _ l e n g t h 1 . Let S 1 ¯ = F | | L where L has B bits. Then p a d ( S 1 ) S 2 = F | | ( L K 2 ) .

4. Proof of Security

We first give some examples illustrating attacks against CMCC. We will then prove a MRAE security bound for CMCC (see Theorem 1). A key point is that ciphertext queries that do not return invalid can be used to create new plaintexts that satisfy a relation (see examples below) that is less likely to be satisfied given a random injection. Of course the MRAE security bound is also an AE security bound for CMCC, but we prove a smaller AE security bound in Theorem 2.
To give more insight into the best attacks and security properties of CMCC, we utilize the following examples.
Example 1.
Without the encoding step (for the zero bit authentication tag), CMCC is not MRAE secure (the adversary advantage is large in the MRAE security game). To illustrate this fact, the adversary submits a plaintext query followed by a ciphertext query using the same message number M and value X 2 . Both queries are twice the block length of the underlying block cipher. The adversary can compute X 1 X ¯ 1 = X X ¯ . The adversary then creates two new plaintexts by modifying both P 2 and P ¯ 2 so that the two corresponding ciphertexts have equal X values. Note that the two plaintexts have distinct P 1 values ( P 11 and P 12 ). The adversary submits both plaintexts along with the message number M and receives the two ciphertexts whose X 2 values xor to P 11 P 12 . This relation is only satisfied with probability 1 / α for a random injection and thus the adversary advantage is large.
Example 2.
Given a collision of X values for two plaintext queries in the MRAE security game (message numbers may be reused). Then the adversary can modify the respective P 2 values to create two new plaintexts such that the corresponding ciphertexts have equal X values. Then the adversary can win with high probability as in the preceding example. This attack works even if the zero bit authentication tag is being used. Thus  q ( q 1 ) / 2 α will be part of the security bound for CMCC MRAE security.
Lemma 1.
([2]—Theorems 2 and 7) SIV has MRAE security bound
A d v S I V M R A E ( q , t , μ ) A d v C M A C p r f ( q , t ´ ) + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9
where t ´ = t + c μ + T i m e C T R ( μ ) and c is a constant.
Lemma 2.
Consider the following generalization of the SIV [2] algorithm, SIV-G: We include a distinguished string T as part of the header H . We replace the plaintext P in the PRF calculation with f ( P , T ) where f is an injective function (thus f ( P , T ) = f ( P ¯ , T ¯ ) implies P = P ¯ and T = T ¯ . ) See Algorithms 3 and 4. The security bound for SIV-G is unchanged from SIV: SIV-G has MRAE security bound
A d v S I V G M R A E ( q , t , μ ) A d v C M A C p r f ( q , t ´ ) + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9 .
where t ´ = t + c μ + T i m e C T R ( μ ) and c is a constant.
Algorithm 3 SIV-G Encryption: Encryption inputs are header H = T , nonce N , associated data A , and plaintext P .
SIV-G Encrypt E L 2 , L ¯ 2 ( H , N , A , P )
1:
X f ( P , T )
2:
I V C M A C L 2 ( N | | X | | A )
3:
C C T R L ¯ 2 ( I V , P )
4:
return Y = I V | | C
Algorithm 4 SIV-G Decryption: Decryption inputs are header H = T , nonce N , associated data A , and Y.
SIV-G Decrypt D L 2 , L ¯ 2 ( H , N , A , Y )
  1:
if | Y | < B then
  2:
return
  3:
else
  4:
I V Y [ 1 B ]
  5:
C [ B + 1 | Y | ]
  6:
P C T R L ¯ 2 ( I V , C )
  7:
X f ( P , T )
  8:
I V 2 C M A C L 2 ( N | | X | | A )
  9:
if I V = I V 2 then
10:
  return P
11:
else
12:
  return
13:
end if
14:
end if
Theorem 1.
Let b i = number of bytes in ith query response, 1 i q . Let μ = i = 1 q b i / 32 . B is the cipher block length. Let β = m i n { α , 2 B } . Let the CMCC MAC function be CMAC [40]. Let s be the maximum number of CMAC blocks in a query; c 1 is a constant. CMCC is a misuse resistant authenticated encryption scheme with MRAE-advantage bounded by
q ( q 1 ) / β + 1 ( 1 1 / β 2 τ ) x + ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) ) + A d v E p r p ( s q , t ) + s q ( s q 1 ) / 2 B + 1 + μ ( μ 1 ) / 2 B + 1 + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9 + 3 q ( q 1 ) / 2 B + 1 + A d v E p r p ( q , t )
given that the adversary is restricted to q queries and t time, E is the underlying block cipher for CMAC (e.g., AES), α = 2 8 m where L e n is the byte length of the minimal length plaintext query response, m = L e n / 2 , assuming up to x invalid ciphertexts do not result in session termination, and τ is the number of bits in the authentication tag. We also assume q 1 2 τ .
Remark 1.
Intuitively, there are two types of relations that distinguish CMCC from a random injection:
  • For messages where | α | is shorter than the block length, and M = M ¯ , we have the relation X 2 X ¯ 2 = P 1 P ¯ 1 with higher probability equal to 1 / α + ( α 1 ) / α 2 for CMCC versus 1 / α for the random injection. The reason is that we may have a collision of X values with probability 1 / α and if that does not occur, the resulting V values may still be equal in the first log 2 ( α ) bits.
  • If M = M ¯ , X 2 = X ¯ 2 , and P 1 = P ¯ 1 , then X 1 X ¯ 1 = P 2 P ¯ 2 . The latter occurs with probability 1 / β for CMCC but it occurs with probability 1 / β 2 for a random injection.
Proof. 
Case I: All plaintexts have length 2 B + 8 τ bits: We use a games based proof to establish the bound claim for the theorem. Game G 0 is depicted in Algorithm 5. Game G 0 gives the adversary the CMCC encryption and decryption oracles and the adversary’s probability of success is equal to the adversary’s MRAE-advantage against CMCC.
Algorithm 5 CMCC MRAE proof Game G0.
Initialize: Select the CMCC key, using the uniform random distribution. Let Z be the bit string with τ zero bits. b a d 4 = b a d 5 = f a l s e . Let s e t _ o f _ u s e d _ X = .
Encrypt(P, A, N): See Algorithm 1 for definition.
Decrypt(C, A, N): See Algorithm 2 for definition.
Output: Return the adversary’s output.
Game G 1 is the same as game G 0 except we replace the CMAC MAC function with a random function. Now consider an adversary A E , D where E and D are either the game G 0 encrypt and decrypt oracles or the game G 1 encrypt and decrypt oracles. When A submits P, A , N , then X 1 , X 2 is returned and we give the distinguisher D X 2 P 1 = F ( P , A , N ) where F is either CMAC or a random function. When A submits X 1 , X 2 , A , N then P is returned and we give the distinguisher D X 2 P 1 = F ( P , A , N ) . When A outputs b , D also outputs b ( b { 0 , 1 } ) . Then A s probability of success is bounded by the probability bound for any adversary to distinguish CMAC from a random function which is ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) ) [42] where E is the underlying block cipher, e.g., AES, and s is the maximum number of blocks in any query.
Thus
| P r [ A G 1 1 ] P r [ A G 0 1 ] | ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) )
Game G 2 is the same as game G 1 except the block ciphers used in CBC encryption for computing X 1 and X are replaced with random functions. Consider the game F (see Algorithm 6) where prf game adversary B has oracle access to functions f 1 and f 2 and distinguishes between the following:
  • f 1 = E L 3 , f 2 = E L 1 , and
  • f 1 = g 1 H 128 , 128 , f 2 = g 2 H 128 , 128 ( g 1 and g 2 are random functions.)
f 1 = E L 3 if and only if f 2 = E L 1 . B will run A G i as a subroutine, i = 1 , 2 . If f 1 = E L 3 , then A is in game G 1 , and if f 1 = g 1 then A is in game G 2 .
Algorithm 6 Game F with PRF Adversary B .
Initialize: B selects keys K ¯ , L ¯ 2 , L 2 using the uniform distribution. B has oracle access to f 1 and f 2 .
Response to A s encrypt query: B computes and returns X 1 , X 2 to A .
Response to A s decrypt query: B computes and returns P 1 , P 2 to A .
Output: Return A ’s output.
Each encryption query from A results in B s query of W p a d ( P 1 ) P 2 to f 1 . A will output a bit indicating whether it is in game G 1 or game G 2 . B outputs the same bit for the prf game. Thus A s probability of success is bounded by B s probability of success. Let q be the number of queries to f 1 . Then A d v ( A , q , t ) A d v E p r f ( q , t ) where E is the block cipher.
Thus we obtain
| P r [ A G 2 1 ] P r [ A G 1 1 ] | A d v E p r f ( q , t ) A d v E p r p ( q , t ) + q ( q 1 ) / 2 B + 1
Game G 3 is the same as game G 2 except:
  • Initialize is modified: Initially we set Q D ( N , A ) = for all N , A . Q D ( N , A ) is a subset of the plaintexts.
  • The line: if ( U ! = Z ) return ⊥; otherwise Q = P ˜ | | Z and return Plaintext P ˜ , A , N is replaced with:
    Q ¯ is a random string of length | Q | such that the prefix of Q ¯ of length | Q | τ is in Q D ( N , A ) C , U ¯ = L S B τ / 8 ( Q ¯ ) . If ( U ¯ ! = Z ) return , else Q ¯ = P ˜ | | Z , return P ˜ , A , N .
  • If the adversary submits the encryption query P , A , N , then we set Q D ( N , A ) = Q D ( N , A ) { P } .
Then the advantage of A in distinguishing G 3 and G 2 is bounded by the probability of obtaining a valid response from the decryption oracle. Consider the adversary’s optimal strategy for obtaining a valid ciphertext response in game G 2 ; given the ciphertext query X ¯ 1 , X ¯ 2 , N ¯ . Clearly if no encryption queries have been submitted (so no query responses have been received) then the probability of a valid response is 2 τ . Suppose we have submitted one previous encryption query: P 1 , P 2 , N , A returning X 1 , X 2 .
case a: N ¯ = N and X ¯ 2 X 2 .
Then the probability of a valid response is independent of this previous query since we evaluate the random function at a new domain point. Thus X ¯ is uniform random, and the value P 2 will be uniform random, so the probability of a valid response is 2 τ .
case b: N ¯ N and X ¯ 2 = X 2 .
The argument as in case a applies; the probability of a valid response is 2 τ .
case c: N ¯ N and X ¯ 2 X 2 .
The adversary may select X ¯ 1 = X 1 . Then X = X ¯ due to W ¯ X 2 ¯ = W X 2 with probability 2 B . The input to the random function for computing P 2 will also be the same with probability 2 B ; otherwise, the probability of a valid response will be 2 τ . Thus the probability of a valid response is 2 τ + 2 B ( 2 B + 2 τ ) .
case d: N ¯ = N and X ¯ 2 = X 2 .
We have P r [ P ¯ 1 = P 1 ] = 1 / β and in that case if the last τ bits of X ¯ 1 equal the last τ bits of X 1 then the query is valid. We have P ¯ 1 P 1 with probability ( β 1 ) / β . In this case, P 2 is uniform random so the probability that the query is valid is 2 τ . Thus the probability of a valid query is 1 / β + ( ( β 1 ) / β ) 2 τ .
Case d maximizes the probability of a valid response. There are two strategies for additional queries: multiple encryption queries followed by decryption queries or a single encryption query followed by decryption queries. Multiple encryption queries are likely to result in distinct X 2 values; in any case, two responses with equal N and X 2 values allows the Adversary to distinguish CMCC from a PRI with high probability without any decryption queries (see Games G 4 and G 5 .) Thus the optimal strategy for multiple queries using the case d strategy is a single encryption query followed by decryption queries.
For cases a and b, multiple encryption queries followed by ciphertext queries does not increase the probability of a valid decryption query beyond 2 τ . Thus these strategies are suboptimal in the multiple queries case as well.
For case c, multiple encryption queries followed by multiple decryption queries does increase the probability of a valid decryption query. The success probability is dominated by q 2 ( 2 B τ ) which is less than the optimal case d strategy.
Thus the optimal adversary strategy is a single plaintext query followed by successive ciphertext queries that match the N and X 2 values from the plaintext query.
The bound for Adversary success, assuming at most x , 1 x q , invalid ciphertext queries prior to session termination, is
| P r [ A G 3 1 ] P r [ A G 2 1 ] | 1 ( 1 1 / β 2 τ ) x .
Game G 4 is the same as game G 3 except the line
X = C B C ( W , p a d ( P 1 ) P 2 , L 3 ) P 2 ,
is replaced with
X = C B C ( W , p a d ( P 1 ) P 2 , L 3 ) P 2 ; if X s e t _ o f _ u s e d _ X , b a d 5 = t r u e and reselect X : X s e t _ o f _ u s e d _ X C . If X s e t _ o f _ u s e d _ X , s e t _ o f _ u s e d _ X = s e t _ o f _ u s e d _ X { X } . Then
| P r [ A G 4 1 ] P r [ A G 3 1 ] | q ( q 1 ) / 2 β + q ( q 1 ) / 2 B .
Game G 5 is depicted in Algorithm 7. Then game G 5 and game G 4 are indistinguishable except that collisions are possible in the strings S 2 where C includes S 1 | | S 2 . When such a collision occurs, the games are distinguishable; the bound on collisions is q ( q 1 ) / 2 β . It is possible in game G 4 that a ciphertext query that is not invalid will return a plaintext and another encrypt query with a different plaintext returns the same ciphertext. This last sequence is not possible in game G 5 . However, the bound from Game G 3 allows us to assume that no valid ciphertext queries occur. Thus
| P r [ A G 5 1 ] P r [ A G 4 1 ] | q ( q 1 ) / 2 β + q ( q 1 ) / 2 B + 1 .
Thus the bound claimed in the theorem statement holds.
Algorithm 7 CMCC MRAE proof Game G 5 .
Initialize: Select a random injection f I n j e N , A ( P , C ) . Let Z be the bit string with τ zero bits.
e ( N , A , P ) = τ for all N, A, and P .
Encrypt(P, A, N): Return f ( N , A , P ) .
Decrypt(C, A, N): f 1 ( N , A , C ) = P if f ( N , A , P ) = C and return ⊥ if no such triple ( N , A , P ) exists.
Output: Return the adversary’s output.
case ii: Some plaintexts have length greater than or equal to 2 B + 16 τ bits:
We note that this case is a suboptimal strategy for the adversary. Game G 1 is unchanged and for game G 2 the term A d v E p r p ( q , t ) + q ( q 1 ) / 2 B + 1 from above is generalized to A d v E p r p ( s q , t ) + s q ( s q 1 ) / 2 B + 1 . The game G 3 bound holds. For C B C ( W , p a d ( X 2 ) X ) in game G 3 , if the every input to each random function invocation is a previously unseen input (fresh input), then the output is random (the function is a random function). This bound on failure here is μ ( μ 1 ) / 2 B + 1 + q ( q 1 ) / 2 B + 1 .
Lemma 2 applies if all of the X values from the queries are distinct. For the function f in the Lemma, we use P = 2 n d b l o c k o f P 1 , , l a s t b l o c k o f P 1 , T = P 2 | | 1 s t b l o c k o f P 1 , and f ( P , T ) = X = C B C ( W , p a d ( P 1 ) P 2 , L 3 ) P 2 . The probability that the X values from the queries is not distinct is bounded by q ( q 1 ) / 2 β + q ( q 1 ) / 2 B . The X 1 values and first block of X 2 are random strings when these failure events do not occur and thus the CMCC adversary’s advantage is the same as the SIV-G advantage. Thus the CMCC adversary’s advantage in distinguishing between games G 3 and G 5 is bounded by the sum of the two terms above plus the SIV-G security bound. ☐
We now prove a security bound for the CMCC AEAD algorithm; here message numbers are not allowed to be repeated in encryption (plaintext) queries. In the following, games H 0 , H 1 , H 2 , and H 3 are identical to games G 0 , G 1 , G 2 , and G 5 respectively, except the H i games are in the AE security game where encryption queries may not reuse message numbers from previous encryption queries.
Lemma 3.
Let q 1 2 τ . Given the adversary strategy in game H 2 (in the AE game) where the adversary submits a plaintext query P 1 , P 2 , N and obtains the response X 1 , X 2 . The adversary then submits a succession of ciphertext queries of the form X ¯ 1 , X 2 , N where the last τ bits of X ¯ 1 are equal to the last τ bits of X 1 . Given the relation
X ^ 1 X ¯ 1 = P ^ 2 P ¯ 2
Then
P r [ 2 d i s t i n c t q u e r i e s P ^ 1 , P ^ 2 , N , X ^ 1 , X 2 a n d P ¯ 1 , P ¯ 2 , N , X ¯ 1 , X 2 s a t i s f y ( 1 ) ] ( q 1 ) i = 0 q 2 q 2 i λ 1 / 2 i τ < λ 1 e ( q 1 ) < 2 e ( q 1 ) / β
where λ 1 = 1 / β + ( β 1 ) / β 2 .
Proof. 
We use induction over the number of queries. If q = 2 , we have P r [ ( 1 ) h o l d s ] = λ 1 = ( q 1 ) i = 0 q 2 q 2 i λ 1 / 2 i τ < λ 1 e . Suppose the lemma is valid for k = q 1 . We now prove the k = q case. We have
P r [ ( 1 ) i n H 2 w i t h q q u e r i e s ] = P r [ ( 1 ) i n H 2 w i t h f i r s t q 1 q u e r i e s ] + P r [ n o t ( 1 ) i n H 2 w i t h f i r s t q 1 q u e r i e s ( 1 ) i n H 2 w i t h q t h q u e r y ] P r [ ( 1 ) i n H 2 w i t h f i r s t q 1 q u e r i e s ] + P r [ ( 1 ) i n H 2 w i t h q t h q u e r y ] ( q 2 ) i = 0 q 3 q 3 i λ 1 / 2 i τ + λ 1 + ( 1 λ 1 ) i = 0 q 2 q 2 i 2 i τ ( 1 2 τ ) q 2 i i λ 1 < ( q 2 ) i = 0 q 3 q 3 i λ 1 / 2 i τ + λ 1 + i = 0 q 2 q 2 i i λ 1 / 2 i τ = i = 0 q 3 q 3 i ( q 2 ) λ 1 / 2 i τ + q 2 i i λ 1 / 2 i τ + λ 1 + ( q 2 ) λ 1 / 2 ( q 2 ) τ = i = 0 q 3 q 2 i ( q 2 ) λ 1 / 2 i τ + ( q 2 ) λ 1 / 2 ( q 2 ) τ + λ 1 = λ 1 + ( q 2 ) i = 0 q 2 q 2 i λ 1 / 2 i τ < ( q 1 ) i = 0 q 2 q 2 i λ 1 / 2 i τ .
Also,
i = 0 q 2 q 2 i 1 / 2 i τ < i = 0 q 2 1 / i ! < e
which completes the proof. ☐
Lemma 4.
Let q 1 2 τ . Given the adversary strategy in game H 3 above where the adversary submits a plaintext query P 1 , P 2 , N and obtains the response X 1 , X 2 . The adversary then submits a succession of ciphertext queries of the form X ¯ 1 , X 2 , N where the last τ bits of X ¯ 1 are equal to the last τ bits of X 1 . Then
P r [ 2 d i s t i n c t q u e r i e s P ^ 1 , P ^ 2 , N , X ^ 1 , X 2 a n d P ¯ 1 , P ¯ 2 , N , X ¯ 1 , X 2 s a t i s f y ( 1 ) ] ( q 1 ) 2 τ / β
Proof. 
The probability that (1) is satisfied is bounded below by
1 ( 1 2 τ / β ) q 1 = 1 i = 0 q 1 q 1 i ( 2 τ / β ) i 1 ( 1 ( q 1 ) 2 τ / β ) = ( q 1 ) 2 τ / β
 ☐
Theorem 2.
Let b i = number of bytes in ith query response, 1 i q . Let μ = i = 1 q b i / 32 . B is the cipher block length. Let β = m i n { α , 2 B } . Let the CMCC MAC function be CMAC [40]. Let s be the maximum number of CMAC blocks in a query; c 1 is a constant. L = m a x 1 i q { b i } . CMCC encryption (stateless version) is an authenticated encryption with associated data (AEAD) scheme with AE-advantage bounded by
q ( q 1 ) 2 τ 1 ( 1 / β + 2 τ ) + 2 e ( q 1 ) ( 1 / β + ( L 1 ) / 2 B + τ + 2 B ) + ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) ) + A d v E p r p ( s q , t ) + s q ( s q 1 ) / 2 B + 1 + μ ( μ 1 ) / 2 B + 1 + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9
given that the adversary is restricted to q queries and t time, E is the underlying block cipher for CMAC (e.g., AES), α = 2 8 m where L e n is the byte length of the minimal length plaintext query response, m = L e n / 2 , and  τ > 0 is the number of bits in the authentication tag. We also assume q 1 2 τ .
Proof. 
case 1: All plaintexts have length 2 B + 8 τ bits:
For the transition from game H 2 to game H 3 we have two mechanisms for the adversary to distinguish between the two: X 2 X ¯ 2 = P 1 P ¯ 1 , and X 1 X ¯ 1 = P 2 P ¯ 2 (1) for two distinct queries X 2 , X 1 , N , P 1 , P 2 and X ¯ 2 , X ¯ 1 , N ¯ , P ¯ 1 , P ¯ 2 . (If neither of the Equation (1) or Equation (2) hold in game H 2 , then every invocation of the random functions is on a fresh point and thus is indistinguishable from game H 3 . )
We first consider distinguishing between H 2 and H 3 via (1):
case a: Here the adversary uses the strategy from Lemma 3: the adversary submits a single plaintext query with message number N and receives a response with X 1 and X 2 , followed by ciphertext queries with N ¯ = N , and X ¯ 2 = X 2 , where the last τ bits for X ¯ 1 are equal to the last τ bits of X 1 from the plaintext query. Then we have
| P r [ A H 2 1 ] P r [ A H 3 1 ] | 2 e ( q 1 ) / β ( q 1 ) 2 τ / β 2 e ( q 1 ) / β
where we have applied both Lemma 3 and Lemma 4 from above.
case b: Games H 2 and H 3 can also be distinguished if a collision occurs on W p a d ( P 1 ) P 2 and W p a d ( X 2 ) X between 2 distinct plaintext queries in game H 2 which gives a slightly higher probability for the relation X 1 X ¯ 1 = P 2 P ¯ 2 in H 2 versus H 3 . This probability is bounded by q ( q + 1 ) 2 2 B 1 . We can ignore the corresponding case where one or both queries are ciphertext queries since the probability would be less. Furthermore, this strategy is sub-optimal compared to the case a strategy above.
case c: Neither of the above two cases: then at least one of the CBC random function replacements get evaluated on a point distinct from the point in any other query. Thus the probability of (1) is the same in both H 2 and H 3 .
We now check the adversary’s optimal strategy to distinguish between H 2 and H 3 based on
X 2 X ¯ 2 = P 1 P ¯ 1
case d: Given two previous valid ciphertext queries with identical X 2 , N , and last τ bits of X 1 values, the adversary may leverage the technique from the examples above to create a new encryption query that will have the same N value and which will match one of the previous query’s X value. Then this query response can be used to distinguish between H 2 and H 3 . The adversary advantage is bounded by q ( q 1 ) 2 τ 1 ( 1 / β + 2 τ ) .
case e: Given a combination of zero or more plaintext queries and one or more ciphertext queries, with at least two total queries. If we have a match on the last τ bits of X 1 values for some queries as well as a collision on W p a d ( X 2 ) X then the adversary can follow the approach in case d above and distinguish between H 2 and H 3 based on (2) above. Note that the X 2 and N values are distinct across the queries. The probability of such a collision between two queries is at best 2 B and therefore this strategy is suboptimal.
case f: The new query (either X ¯ 1 , X ¯ 2 , N ¯ or P ¯ 1 , P ¯ 2 , N ¯ ) is such that N ¯ is distinct from the N in previous queries. Then X 2 X ¯ 2 = P 1 P ¯ 1 occurs with the same probability in both H 3 and H 2 since N ¯ results in a previously unseen point for the domain of the CMAC random function replacement.
case g: The new ciphertext query is such that X ¯ 2 and N ¯ match the corresponding values in a set of previous queries: Then the corresponding X values are distinct. So X 2 X ¯ 2 = P 1 P ¯ 1 occurs with the same probability in both H 3 and H 2 . (Here we assume that the last τ bits of the X 1 values are distinct, or alternatively, that all of the previous queries are plaintext queries, to distinguish this case from case d above.)
case h: The new ciphertext query is such that X ¯ 2 is distinct from and N ¯ matches the corresponding values in a set of previous queries:
Note that only one of the previous queries is a plaintext query whereas the others must be valid ciphertext queries. Then we have a similar scenario as for case a above, and we can apply Lemma 3 with the collision bound 2 τ + 1 / β in place of 1 / β + ( β 1 ) / β 2 . Since the latter value is larger, this strategy is suboptimal.
case i: None of the above cases. Then the inputs to the C B C ( W , p a d ( X 2 ) X ) random function replacement are distinct across all queries. Thus the probability of X 1 X ¯ 1 = X X ¯ is 1 / β for any two queries. Also, the above cases are exhaustive for ( X , N ) = ( X ¯ , N ¯ ) . Thus the probability of (2) is the same in both H 2 and H 3 .
case 2: At least some plaintexts have length 2 B + 16 τ bits:
The case with longer plaintexts/ciphertexts is similar to the Theorem 1 case ii above. The term 2 e ( q 1 ) / β is generalized to 2 e ( q 1 ) ( 1 / β + ( L 1 ) / 2 B + τ + 2 B ) .  ☐

4.1. CMCC with MAC (CWM)

In this section, we present a variant, CMCC with MAC (CWM). Algorithms 8 and 9 specify CWM. For the proof of CWM AE security, the main distinction with CMCC above is that we no longer restrict q 1 τ . By requiring the MAC computation, CWM achieves a stronger security bound at the cost of additional processing, when compared with CMCC.
Algorithm 8 CWM Encryption: Encryption inputs are plaintext P , key K = K ¯ , K ˜ , L 3 , L 2 , L ¯ 2 , L 1 , public message number N , and associated data A . C B C ( I V , P , K e y ) is CBC encryption with initialization vector I V , plaintext P , and key K e y . One choice for M A C ( P , K e y ) is the CMAC MAC algorithm [40] with plaintext P and key K e y . p a d ( ) is the padding algorithm defined in Section 3.3. E K ¯  is the block cipher with key K ¯ . | P | , the bitlength of P, is a multiple of 8, as is τ . U is obtained from V by zeroing bits 31 and 63 to enable faster addition (prevent carries) [41]. U + j is integer addition, 1 j i . When xor’ing two strings of different length, the longer string is first truncated to the length of the shorter string.
CWM Encrypt( P , K ¯ , K ˜ , L 3 , L 2 , L ¯ 2 , L 1 , N , A)
  1:
M ( 10110110 ) 16 | N | / 8 | | N
  2:
Z M A C ( P , K ˜ )
  3:
W E K ¯ ( M )
  4:
Q P | | Z
  5:
L | Q | / 8
  6:
if L = 0 m o d 2 then
  7:
     P 1 M S B L / 2 ( Q )
  8:
     P 2 L S B L / 2 ( Q )
  9:
else
10:
     P 1 M S B ( L 1 ) / 2 ( Q )
11:
     P 2 L S B ( L + 1 ) / 2 ( Q )
12:
end if
13:
X C B C ( W , p a d ( P 1 ) P 2 , L 3 ) P 2
14:
Y X | | A
15:
V M A C ( W | | Y , L 2 )
16:
i | P 1 | / B
17:
P 1 = P ¯ 1 , 1 | | | | P ¯ 1 , i | | P ¯ 1 , i + 1 where | P ¯ 1 , 1 | = = | P ¯ 1 , i | = B and | P ¯ 1 , i + 1 | = | P 1 | m o d B .
18:
U V a n d ( 1 64 | | 0 1 | | 1 31 | | 0 1 | | 1 31 )
19:
X 2 V P ¯ 1 , 1 | | E L ¯ 2 ( U + 1 ) P ¯ 1 , 2 | | | | E L ¯ 2 ( U + i ) P ¯ 1 , i + 1
20:
X 1 C B C ( W , p a d ( X 2 ) X , L 1 ) X
Algorithm 9 CWM Decryption: Decryption inputs are ciphertext X 1 X 2 , key K = K ¯ , K ˜ , L 3 , L 2 , L ¯ 2 , L 1 , public message number N , and associated data A .
CWM Decrypt( X 1 , X 2 , K ¯ , K ˜ , L 3 , L 2 , L ¯ 2 , L 1 , N , A)
  1:
M ( 10110110 ) 16 | N | / 8 | | N
  2:
W E K ¯ ( M )
  3:
X C B C ( W , p a d ( X 2 ) X 1 , L 1 ) X 1
  4:
Y X | | A
  5:
V M A C ( W | | Y , L 2 )
  6:
i | X 2 | / B
  7:
X 2 = X ¯ 2 , 1 | | | | X ¯ 2 , i | | X ¯ 2 , i + 1 where | X ¯ 2 , 1 | = = | X ¯ 2 , i | = B and | X ¯ 2 , i + 1 | = | X 2 | m o d B .
  8:
U V a n d ( 1 64 | | 0 1 | | 1 31 | | 0 1 | | 1 31 )
  9:
P 1 V X ¯ 2 , 1 | | E L ¯ 2 ( U + 1 ) X ¯ 2 , 2 | | | | E L ¯ 2 ( U + i ) X ¯ 2 , i + 1
10:
P 2 C B C ( W , p a d ( P 1 ) X , L 3 ) X
11:
Q = P 1 | | P 2 ,
12:
U = L S B τ / 8 ( Q )
13:
Q = P ˜ | | U
14:
if ( U ! = M A C ( P ˜ , K ˜ ) then
15:
return
16:
else
17:
return Plaintext P ˜
18:
end if
We give the MRAE security bound and the AE security bound for CWM in the next two theorems.
Theorem 3.
Let b i = number of bytes in i t h query response, 1 i q . Let μ = i = 1 q b i / 32 . B is the cipher block length. Let β = m i n { α , 2 B } . Let the CMCC MAC function be CMAC [40]. Let s be the maximum number of CMAC blocks in a query; c 1 is a constant. L = m a x 1 i q { b i } . CWM encryption (stateless version) is a misuse resistant authenticated encryption scheme with MRAE-advantage bounded by
q ( q 1 ) / β + q / ( 2 τ β ) + ( q 1 ) ( q 2 ) / ( 2 2 τ β ) + ( L 1 ) ( ( q 1 ) / ( 2 B + τ 1 ) + ( q 1 ) ( q 2 ) / 2 B + 2 τ ) + ( q 1 ) ( q 2 ) / 2 2 τ + 1 + q ( q 1 ) ( q 2 ) / 2 3 τ + 2 + ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) ) + A d v E p r p ( s q , t ) + s q ( s q 1 ) / 2 B + 1 + μ ( μ 1 ) / 2 B + 1 + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9 + 3 q 2 / 2 B + 1 + A d v E p r p ( q , t )
given that the adversary is restricted to q queries and t time, E is the underlying block cipher for CMAC (e.g., AES), α = 2 8 m where L e n is the byte length of the minimal length plaintext query response, m = L e n / 2 , assuming up to x invalid ciphertexts do not result in session termination, and τ is the number of bits in the authentication tag.
Proof. 
The proof is similar to the proof of Theorem 1 above with the main difference being the bound for the strategy in Lemma 3. Also, we use the game structure from Theorem 2, except we are in the MRAE security model. Consider the strategy from Lemma 3 for the case where plaintexts have short length ( 2 B + 1 τ ). Then we have (in game H 2 ):
P r [ ( 1 ) ] = P r [ ( 1 ) w i t h 1 s t q u e r y ] + P r [ ( 1 ) w i t h o u t 1 s t q u e r y ] = ( q 1 ) ( 1 / ( 2 τ β ) + ( β 1 ) / ( 2 τ β 2 ) ) + q 1 2 ( 1 / ( 2 2 τ β ) + ( β 1 ) / ( β 2 2 2 τ ) ) < q / ( 2 τ β ) + ( q 1 ) ( q 2 ) / ( 2 2 τ β )
This term generalizes to
q / ( 2 τ β ) + ( q 1 ) ( q 2 ) / ( 2 2 τ β ) + ( L 1 ) ( ( q 1 ) / ( 2 B + τ 1 ) + ( q 1 ) ( q 2 ) / 2 B + 2 τ )
for the arbitrary length messages case.
Also, we have that
P r [ ( 2 ) ] = ( q 1 ) ( q 2 ) / 2 2 τ + 1 + q ( q 1 ) ( q 2 ) / 2 3 τ + 2
(Here we ignore the strategy consisting of a plaintext query followed by ciphertext queries, all with the same nonce value, where the X 1 and X 2 values are randomly chosen. This strategy would add some of the same terms to the security bound as the current strategy adds above for (1). But since the final result is smaller, we ignore this strategy). We have
P r [ A H 2 1 ] P r [ ( 1 ) ] + P r [ ( 2 ) ] .
Thus
| P r [ A H 2 1 ] P r [ A H 3 1 ] | P r [ ( 1 ) ] + P r [ ( 2 ) ]
 ☐
Theorem 4.
Let b i = number of bytes in i t h query response, 1 i q . Let μ = i = 1 q b i / 32 . B is the cipher block length. Let β = m i n { α , 2 B } . Let the CMCC MAC function be CMAC [40]. Let s be the maximum number of CMAC blocks in a query; c 1 is a constant. L = m a x 1 i q { b i } . CWM encryption (stateless version) is an authenticated encryption with associated data (AEAD) scheme with AE-advantage bounded by
q ( q 1 ) 2 3 τ 1 + ( q 1 ) / ( 2 τ 1 β ) + ( q 1 ) ( q 2 ) / ( 2 2 τ β ) + ( L 1 ) ( ( q 1 ) / ( 2 B + τ 1 ) + ( q 1 ) ( q 2 ) / 2 B + 2 τ ) + ( 5 s 2 + 1 ) q 2 / 2 B + A d v E p r p ( s q + 1 , t + c 1 s q + T i m e C T R ( μ ) ) + A d v E p r p ( s q , t ) + s q ( s q 1 ) / 2 B + 1 + μ ( μ 1 ) / 2 B + 1 + A d v C T R p r i v ( q , t ´ , μ ) + 5 q / 2 B + q 2 / 2 B + 9 + 2 q 2 / 2 B + 1 + A d v E p r p ( q , t )
given that the adversary is restricted to q queries and t time, E is the underlying block cipher for CMAC (e.g., AES), α = 2 8 m where L e n is the byte length of the minimal length plaintext query response, m = L e n / 2 , and τ > 0 is the number of bits in the authentication tag.
Proof. 
We use the game structure from Theorem 2. The proof is similar to the proof of Theorem 2 above with the main difference being the bound for the strategy in Lemma 3 and the bound for the other potentially optimal strategy from case 1d in the proof of Theorem 2. The bound for the case 1d strategy is
q ( q 1 ) 2 3 τ 1
which replaces
q ( q 1 ) 2 2 τ 1
in Theorem 2 above.
For the strategy in Lemma 3, we have
( q 1 ) / ( 2 τ 1 β ) + ( q 1 ) ( q 2 ) / ( 2 2 τ β ) + ( L 1 ) ( ( q 1 ) / ( 2 B + τ 1 ) + ( q 1 ) ( q 2 ) / 2 B + 2 τ )
which replaces the term 2 e ( q 1 ) ( 1 / β + ( L 1 ) / 2 B + τ + 2 B ) .  ☐

4.2. Security Bound Summary and Security Comparison

Table 2 summarizes the dominant terms from the security bounds for CMCC and CWM for short messages (less than 2 B + 16 bits), for both AE and MRAE security. We also include the GCM and SIV authenticated encryption algorithms for comparison.
We compare the security of SIV, CMCC MRAE, CMCC AE, CWM MRAE, and CWM AE for a 16 byte plaintext with a 4 byte authentication tag (SIV’s IV length is 16 bytes so a 4 byte IV length, although possible, is not currently an option for SIV). Respectively, we obtain approximate security bounds of q 2 / 2 32 , q / 2 32 , q 2 / 2 64 , q 2 / 2 65 , and q 2 / 2 96 .

5. Performance

Table 1 compares the number of block cipher calls for the CMCC, SIV, and CWM algorithms, for varying message sizes. CMCC requires 3 L e n g t h / 32 + 2 + ( L e n g t h / 32 ) 1 block cipher calls, where L e n g t h is the message length (including tag).
Table 3 compares the processing performance of GCM, OCB, HS1-SIV v2, and CMCC for two AMD machines and two message sizes (64 and 1536 bytes). These numbers (cycles per byte) were obtained as part of the Supercop performance testing for the Caesar competition. The results are the median for many test runs of encrypting messages with the two sizes. Decryption results are omitted since they are very similar to the encrypt numbers.
Much of the cycles per byte disparity between CMCC and HS1-SIV v2 for 64 byte messages can be explained by the block cipher for CMCC vs. stream cipher for HS1-SIV v2. There is not much difference in processing for CMCC between a 64 byte plaintext (with a tag added on) and a 96 byte message (including the tag). The number of block cipher operations is the same. A more favorable comparison for CMCC would be a 60 byte plaintext plus a 4 byte authentication tag for a total size of 64 bytes.That reduces the number of block operations from 13 to 9.

Scope and Limitations

CMCC (and CWM) are targeted for energy constrained environments where devices may only have a single CPU and primarily send short messages. Cycles per byte performance cannot be improved substantially given the use of AES underneath and the assumption of no parallelism (single CPU).
Also, the benefits of parallelism are less when messages are short as the supercop measurements above show.
However, given parallelism and longer messages, we would expect the number of cycles per byte to drop by about half if we replaced each round per the generalized PRF structure described in Section 1 with the HS1 SIV v2 algorithm from Krovetz. This hypothesis is supported by the supercop results above.
In other words, given parallelism and longer messages we expect CMCC cycles per byte to drop to about 1.5 times as much as HS1 SIV v2, when replacing each CMCC round with HS1-SIV v2. This follows since each CMCC round operates on half of the total bytes.
We now consider energy usage due to ciphertext expansion. In [43], the authors measure energy utilization for a variety of cryptographic algorithms due to CPU utilization and networking for the Berkeley/Crossbow motes platform, specifically on the Mica2dot sensor platform. Their measurements show that 59.2 μ J (microJoules) are needed to transmit one byte. Only 1.6 μ J are needed per byte for AES encryption including key setup. Given the CWM security bound of q 2 / 2 96 for a 4 byte authentication tag for a 12 byte plaintext, SIV requires a 12 byte IV for comparable security. Thus the energy usage is roughly 1.5 times as much for SIV vs. CWM, to encrypt and send the message.

6. Conclusions

We have presented CMCC, a scheme providing provably secure misuse resistant authenticated encryption, and it leverages existing modes such as CBC, Counter, and CMAC. The main focus for this work is minimizing ciphertext expansion, especially for short messages including plaintext lengths less than the underlying block cipher length (e.g., 16 bytes). Depending on the environment, we obtain security with only 2–6 bytes of ciphertext expansion. Since changes to the ciphertext randomize the plaintext, we can leverage the protocol checks in higher layer protocols as additional authentication bits allowing us to reduce the length of the authentication tag. Our CWM variation provides a further strengthening of the security bounds for the short messages scenario at the cost of an additional MAC operation over the plaintext.
CMCC can achieve significant energy savings when applied to protocols that send short messages due to its small ciphertext expansion.

Funding

This research received no external funding.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Bellare, M.; Namprempre, C. Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm. In Advances in Cryptology—ASIACRYPT 2000, Proceedings of the 6th International Conference on the Theory and Application of Cryptology and Information Security, Kyoto, Japan, 3–7 December 2000; Springer: Berlin, Germany, 2000; pp. 531–545. [Google Scholar]
  2. Rogaway, P.; Shrimpton, T. Deterministic Authenticated-Encryption. In Advances in Cryptology—EUROCRYPT ’06; Lecture Notes in Computer Science; Springer: Heidelberg, Germany, 2006; Volume 4004, pp. 373–390. [Google Scholar]
  3. Barwell, G. Posting to Cryptographic Competitions Mailing List, 7 April 2014. Available online: https://groups.google.com/forum/#!forum/crypto-competitions (accessed on 9 December 2018).
  4. Krovetz, T.; Rogaway, P. The Software Performance of Authenticated-Encryption Modes. In Fast Software Encryption, Proceedings of the 18th International Workshop (FSE 2011), Lyngby, Denmark, 13–16 February 2011; Revised Selected Papers; Springer: Berlin/Heidelberg, Germany, 2011; pp. 306–327. [Google Scholar]
  5. McGrew, D.; Viega, J. The security and performance of the Galois/Counter Mode (GCM) of operation. In Advances in Cryptology—INDOCRYPT 2004; Springer: Heidelberg, Germany, 2004; LNCS Volume 3348; pp. 343–355. [Google Scholar]
  6. Casner, S.; Jacobson, V. Compressing IP/UDP/RTP Headers for Low-Speed Serial Links. RFC 2508, February 1999. Available online: https://tools.ietf.org/html/rfc2508 (accessed on 9 December 2018).
  7. Bormann, C.; Burmeister, C.; Degermark, M.; Fukuhsima, H.; Hannu, H.; Jonsson, L.-E.; Hakenberg, R.; Koren, T.; Le, K.; Liu, Z.; et al. RObust Header Compression: Framework and Four Profiles: RTP, UDP, ESP, and uncompressed (ROHC). RFC 3095, July 2001. Available online: https://tools.ietf.org/html/rfc3095 (accessed on 9 December 2018).
  8. Vuran, M.; Akyildiz, I. Cross-layer Packet Size Optimization for Wireless Terrestrial, Underwater, and Underground Sensor Networks. In Proceedings of the 27th IEEE International Conference on Computer Communications, Joint Conference of the IEEE Computer and Communications Societies, Phoenix, AZ, USA, 13–18 April 2008. [Google Scholar] [CrossRef]
  9. Atkinson, R. IP Encapsulating Security Payload (ESP). RFC 1827, 1995. Available online: https://tools.ietf.org/html/rfc1827 (accessed on 9 December 2018).
  10. Bellovin, S.M. Problem Areas for the IP Security Protocols. In Proceedings of the 6th USENIX Security Symposium, San Jose, CA, USA, 22–25 July 1996. [Google Scholar]
  11. Bellare, M.; Rogaway, P. Encode-Then-Encipher Encryption: How to Exploit Nonces or Redundancy in Plaintexts for Efficient Cryptography. In Advances in Cryptology—ASIACRYPT 2000, Proceedings of the 6th International Conference on the Theory and Application of Cryptology and Information Security, Kyoto, Japan, 3–7 December 2000; Springer: Berlin/Heidelberg, Germany, 2000; pp. 317–330. [Google Scholar]
  12. An, J.; Bellare, M. Does encryption with redundancy provide authenticity? In Advances in Cryptology— EUROCRYPT 2001; Springer: Heidelberg, Germany, 2001; LNCS Volume 2045; pp. 512–528. [Google Scholar]
  13. Struik, R. Cryptography for Highly Constrained Networks. In Proceedings of the NIST CETA Workshop 2011, Gaithersburg, MD, USA, 7 November 2011. [Google Scholar]
  14. Desai, A. New Paradigms for Constructing Symmetric Encryption Schemes Secure Against Chosen-Ciphertext Attack. In Advances in Cryptology—CRYPTO 2000, Proceedings of the 20th Annual International Cryptology Conference, Santa Barbara, CA, USA, 20–24 August 2000; Springer: Heidelberg, Germany, 2000; pp. 394–412. [Google Scholar]
  15. Hoang, V.T.; Krovetz, T.; Rogaway, P. Robust Authenticated-Encryption AEZ and the Problem That It Solves. In Advances in Cryptology—EUROCRYPT 2015, Proceedings of the 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, 26–30 April 2015; Oswald, E., Fischlin, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2015; pp. 15–44. [Google Scholar]
  16. Krovetz, T. HS1-SIV. 2014. Available online: http://competitions.cr.yp.to/caesar-submissions.html (accessed on 9 December 2018).
  17. Bahack, L. Julius. 2014. Available online: http://competitions.cr.yp.to/caesar-submissions.html (accessed on 9 December 2018).
  18. Granger, R.; Jovanovic, P.; Mennink, B.; Neves, S. Improved Masking for Tweakable Blockciphers with Applications to Authenticated Encryption. In Advances in Cryptology—EUROCRYPT 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 263–293. [Google Scholar]
  19. Iwata, T.; Yasuda, K. HBS: A Single-Key Mode of Operation for Deterministic Authenticated Encryption. In Fast Software Encryption, FSE 2009; Dunkelman, O., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 394–415. [Google Scholar]
  20. Iwata, T.; Yasuda, K. BTM: A Single-Key, Inverse-Cipher-Free Mode for Deterministic Authenticated Encryption. In Selected Areas in Cryptography, Proceedings of the 16th Annual International Workshop (SAC 2009), Calgary, AB, Canada, 13–14 August 2009; Jacobson, M.J., Rijmen, V., Safavi-Naini, R., Eds.; Revised Selected Papers; Springer: Berlin/Heidelberg, Germany, 2009; pp. 313–330. [Google Scholar]
  21. Gueron, S.; Lindell, Y. GCM-SIV: Full Nonce Misuse-Resistant Authenticated Encryption at Under One Cycle Per Byte. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2015; ACM: New York, NY, USA, 2015; pp. 109–119. [Google Scholar] [CrossRef]
  22. Bock, H.; Zauner, A.; Devlin, S.; Somorovsky, J.; Jovanovic, P. Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS. IACR Cryptology ePrint Archive. 2016. Available online: https://eprint.iacr.org/2016/475.pdf (accessed on 9 December 2018).
  23. Shrimpton, T.; Terashima, R.S. A Modular Framework for Building Variable-Input-Length Tweakable Ciphers. In Advances in Cryptology—ASIACRYPT 2013, Proceedings of the 19th International Conference on the Theory and Application of Cryptology and Information Security, Bengaluru, India, 1–5 December 2013; Part I; Springer: Berlin/Heidelberg, Germany, 2013; pp. 405–423. [Google Scholar]
  24. Andreeva, E.; Bogdanov, A.; Luykx, A.; Mennink, B.; Mouha, N.; Yasuda, K. How to securely release unverified plaintext in authenticated encryption. In Advances in Cryptology—ASIACRYPT 2014, Proceedings of the 20th International Conference on the Theory and Application of Cryptology and Information Security, Kaoshiung, Taiwan, 7–11 December 2014; Sarkar, P., Iwata, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; pp. 105–125. [Google Scholar]
  25. Bernstein, D.J. Features of Various Secret-Key Primitives. January 2014. Available online: http://competitions.cr.yp.to/features.html (accessed on 9 December 2018).
  26. Andreeva, E.; Bilgin, B.; Bogdanov, A.; Luykx, A.; Mendel, F.; Mennink, B.; Mouha, N.; Wang, Q.; Yasuda, K. PRIMATES (2014). Available online: http://competitions.cr.yp.to/caesar-submissions.html (accessed on 9 December 2018).
  27. Andreeva, E.; Bilgin, B.; Bogdanov, A.; Luykx, A.; Mennink, B.; Mouha, N.; Yasuda, K. APE: Authenticated Permutation-Based Encryption for Lightweight Cryptography. In Fast Software Encryption, FSE 2014; Cid, S., Rechberger, C., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  28. Barwell, G.; Page, D.; Stam, M. Rogue decryption failures: Reconciling AE robustness notions. In IMACC 2015, Proceedings of the 15th IMA International Conference on Cryptography and Coding, Oxford, UK, 15–17 December 2015; Groth, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2015; Volume 9496, pp. 94–111. [Google Scholar]
  29. Abed, F.; Forler, C.; List, E.; Lucks, S.; Wenzel, J. RIV for Robust Authenticated Encryption. In Fast Software Encryption, FSE 2016; Peyrin, T., Ed.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 23–42. [Google Scholar]
  30. Badertscher, C.; Matt, C.; Maurer, U.; Rogaway, P.; Tackmann, B. Robust authenticated encryption and the limits of symmetric cryptography. In IMACC 2015, Proceedings of the 15th IMA International Conference on Cryptography and Coding, Oxford, UK, 15–17 December 2015; Groth, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2015; LNCS Volume 9496; pp. 112–129. [Google Scholar]
  31. Maurer, U.; Renner, R. Abstract cryptography. In Innovations in Computer Science; Chazelle, B., Ed.; Tsinghua University Press: Beijing, Germany, 2011; pp. 1–21. [Google Scholar]
  32. Maurer, U. Constructive cryptography—A new paradigm for security definitions and proofs. In TOSCA 2011: Theory of Security and Applications; Springer: Heidelberg, Germany, 2012; LNCS Volume 6993; pp. 33–56. [Google Scholar]
  33. Boldyreva, A.; Degabriele, J.P.; Paterson, K.G.; Stam, M. On symmetric encryption with distinguishable decryption failures. In FSE 2013; Moriai, S., Ed.; Springer: Heidelberg, Germany, 2014; Volume 8424, pp. 367–390. [Google Scholar]
  34. Fouque, P.A.; Joux, A.; Martinet, G.; Valette, F. Authenticated On-Line Encryption. In Selected Areas in Cryptography; Matsui, M., Zuccherato, R.J., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2003; Volume 3006, pp. 145–159. [Google Scholar]
  35. Tsang, P.P.; Solomakhin, R.V.; Smith, S.W. Authenticated Streamwise on-Line Encryption; Dartmouth Computer Science Technical Report TR2009-640; Dartmouth University: Hanover, NH, USA, 2009. [Google Scholar]
  36. Zhang, P.; Wang, P.; Hu, H.; Cheng, C.; Kuai, W. INT-RUP Security of Checksum-Based Authenticated Encryption. In ProvSec 2017: Provable Security; Okamoto, T., Yu, Y., Au, M., Li, Y., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2017; Volume 10592. [Google Scholar]
  37. Ristenpart, T.; Yilek, S. The Mix-and-Cut Shuffle: Small-Domain Encryption Secure against N Queries. In Advances in Cryptology—CRYPTO 2013, Proceedings of the 33rd Annual Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2013; Part I; Springer: Berlin/Heidelberg, Germany, 2013; pp. 392–409. [Google Scholar]
  38. Goldreich, O.; Goldwasser, S.; Micali, S. How to construct random functions. J. ACM 1986, 33, 792–807. [Google Scholar] [CrossRef] [Green Version]
  39. Shoup, V. Sequences of Games: A Tool for Taming Complexity in Security Proofs. 18 January 2006. Available online: http://www.shoup.net/papers/games.pdf (accessed on 9 December 2018).
  40. Dworkin, M.J. SP 800-38B. Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication; National Institute of Standards & Technology: Gaithersburg, MD, USA, 2005. [Google Scholar]
  41. Harkins, D. Synthetic Initialization Vector (SIV) Authenticated Encryption Using the Advanced Encryption Standard (AES). RFC 5297. October 2008. Available online: https://tools.ietf.org/html/rfc5297 (accessed on 9 December 2018).
  42. Iwata, T.; Kurosawa, K. OMAC: One-Key CBC MAC. In FSE 2003: Fast Software Encryption, Proceedings of the 10th International Workshop, Lund, Sweden, 24–26 February 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 129–153. [Google Scholar]
  43. Wander, A.S.; Gura, N.; Eberle, H.; Gupta, V.; Shantz, S.C. Energy analysis of public-key cryptography for wireless sensor networks. In Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications, Kauai Island, HI, USA, 8–12 March 2005; pp. 324–328. [Google Scholar]
Figure 1. CMCC Stateless Encryption: L 4 = L ¯ 2 .
Figure 1. CMCC Stateless Encryption: L 4 = L ¯ 2 .
Cryptography 02 00042 g001
Table 1. Number of Block Cipher Calls For CMCC, SIV, and CWM for Varying Message Sizes (CMCC, CWM message sizes include message tag).
Table 1. Number of Block Cipher Calls For CMCC, SIV, and CWM for Varying Message Sizes (CMCC, CWM message sizes include message tag).
Message LengthNo. CMCC Prf CallsNo. SIV Prf CallsNo. CWM Prf Calls
1–16 bytes546
17–32 bytes567
33–48 bytes9812
49–64 bytes91013
65–80 bytes131218
81–96 bytes131419
Table 2. Dominant Terms for Security Bounds for GCM, SIV, CMCC and CWM (smaller message lengths).
Table 2. Dominant Terms for Security Bounds for GCM, SIV, CMCC and CWM (smaller message lengths).
Algorithm/Misuse Resistant?Ciphertext ExpansionSecurity Bound (Confidentiality)
GCM/No τ q / 2 τ +
SIV/Yes | I V | q ( q 1 ) / 2 | I V | + 1 +
CMCC (MRAE)/Yes τ q / 2 τ + q / β + q ( q 1 ) / β
CMCC (AE)/No τ q ( q 1 ) 2 τ 1 ( 1 / β + 2 τ ) + 2 e ( q 1 ) / β
CWM (MRAE)/Yes τ q 2 / 2 2 τ + 1 + q 3 / 2 3 τ + 2 + q 2 / ( 2 2 τ β ) + q / ( 2 τ β ) + q ( q 1 ) / β
CWM (AE)/No τ q 2 / 2 3 τ + q 2 / ( 2 2 τ β ) + q / ( 2 τ 1 β )
Table 3. Machine 1: AMD64 Zen 800f12 AMD EPYC 7601, 64 × 2200 MHz and Machine 2: AMD64; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 × 3000 MHz (cycles per byte).
Table 3. Machine 1: AMD64 Zen 800f12 AMD EPYC 7601, 64 × 2200 MHz and Machine 2: AMD64; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 × 3000 MHz (cycles per byte).
AlgorithmMachine 1: 1536 BytesMachine 1: 64 BytesMachine 2: 1536 BytesMachine 2: 64 Bytes
OCB0.565.840.847.97
GCM1.138.941.8024.84
HS1-SIV21.9613.752.5817.34
CMCC7.6320.629.0027.19

Share and Cite

MDPI and ACS Style

Trostle, J. CMCC: Misuse Resistant Authenticated Encryption with Minimal Ciphertext Expansion. Cryptography 2018, 2, 42. https://0-doi-org.brum.beds.ac.uk/10.3390/cryptography2040042

AMA Style

Trostle J. CMCC: Misuse Resistant Authenticated Encryption with Minimal Ciphertext Expansion. Cryptography. 2018; 2(4):42. https://0-doi-org.brum.beds.ac.uk/10.3390/cryptography2040042

Chicago/Turabian Style

Trostle, Jonathan. 2018. "CMCC: Misuse Resistant Authenticated Encryption with Minimal Ciphertext Expansion" Cryptography 2, no. 4: 42. https://0-doi-org.brum.beds.ac.uk/10.3390/cryptography2040042

Article Metrics

Back to TopTop