Skip to main content
Log in

RCB: leakage-resilient authenticated encryption via re-keying

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The security of modern cryptosystems relies on the secrecy of the keys. Against the expectation that the keys used in cryptographic algorithms are perfectly secure, the keys can get compromised when implemented on physical devices. Because of the computational leakages from the execution of cryptographic algorithms, a variety of side-channel measurements can lead to full breaks of the targeted physical devices. Leakage-resilient cryptography aims at defining leakages in a generic model and designing provably secure primitives to capture side-channel attacks. For this purpose, several re-keying schemes are proposed to prevent encryption scheme from using the same key many times. In this paper, we propose a leakage-resilient authenticated encryption scheme, called Re-keying Code Book (RCB), that is secure against the side-channel attacks by combining with existing re-keying schemes. Our approach is to find efficient composition by combining two independent primitives, authenticated encryption, and re-keying schemes, rather than designing new algorithms. We also give the precise definitions of privacy and authenticity for authenticated encryption in a leakage-resilient model, and then, we provide the security proofs for RCB in a leakage-resilient model.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Mangard S, Oswald E, Popp T (2008) Power analysis attacks: revealing the secrets of smart cards. Springer, New York

    MATH  Google Scholar 

  2. Kocher PC (1996) Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. In: Advances in cryptology-CRYPTO, Springer, Berlin

  3. Kocher P, Jaffe J, Jun B ( 1999) Differential power analysis. In: Advances in cryptology-CRYPTO, Springer, Berlin

  4. Gandolfi K, Mourtel C, Olivier F (2001) Electromagnetic analysis: concrete results. In: Cryptographic hardware and embedded systems-CHES 2001. Springer, Berlin, pp 251–261

  5. Quisquater J-J, Samyde D (2001) Electromagnetic analysis (ema): Measures and counter-measures for smart cards. Smart card programming and security. Springer, Berlin, pp 200–210

  6. Chari S et al (1999) Towards sound approaches to counteract power-analysis attacks. In: Advances in cryptology-CRYPTO, Springer, Berlin

  7. Goubin L, Patarin J (1999) DES and differential power analysis the duplication method. In: Cryptographic hardware and embedded systems, Springer, Berlin

  8. Messerges T (2000) Using second-order power analysis to attack DPA resistant software. In: Cryptographic hardware and embedded systems - CHES, Springer, Berlin

  9. Tiri K, Akmal M, Verbauwhede I (2002) A dynamic and differential CMOS logic with signal independent power consumption to withstand differential power analysis on smart cards. In: Solid-state Circuits Conference, ESSCIRC 2002, Proceedings of the 28th European, IEEE

  10. Abdalla M, Bellare M (2000) Increasing the lifetime of a key: a comparative analysis of the security of re-keying techniques. In: Advances in cryptology-ASIACRYPT, Springer, Berlin, pp 546–559

  11. Kocher PC (2003) Leak-resistant cryptographic indexed key update. U.S. Patent no. 6,539,092, 25 March 2003

  12. Medwed M et al (2010) Fresh re-keying: security against side-channel and fault attacks for low-cost devices. In: Progress in cryptology - AFRICACRYPT, Springer, Berlin, pp 279–296

  13. Medwed M et al (2011) Fresh re-keying II: securing multiple parties against side-channel and fault attacks. In: Smart card research and advanced applications, Springer, Berlin, pp 115–132

  14. Pessl P, Mangard S (2016) Enhancing side-channel analysis of binary-field multiplication with bit reliability. In: Topics in cryptology-CT-RSA 2016, Springer, New York, pp 255–270

  15. Abdalla M, Belad S, Fouque P-A (2013) Leakage-resilient symmetric encryption via re-keying. In: Cryptographic hardware and embedded systems-CHES, Springer, Berlin, pp 471–488

  16. Pereira O, Standaert F-X, Vivek S (2015) Leakage-resilient authentication and encryption from symmetric cryptographic primitives. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, ACM

  17. Bellare M, Namprempre C (2000) Authenticated encryption: relations among notions and analysis of the generic composition paradigm. In: Advances in cryptology-ASIACRYPT, Springer, Berlin, pp 531–545

  18. Namprempre C, Rogaway P, Shrimpton T (2014) Reconsidering generic composition. In: Advances in cryptology-EUROCRYPT 2014, Springer, Berlin, pp 257–274

  19. McGrew DA, Viega J (2004) The security and performance of the Galois/Counter Mode (GCM) of operation. In: Progress in cryptology-INDOCRYPT 2004, Springer, Berlin, pp 343–355

  20. Dworkin M (2006) Recommendation for block cipher modes of operation: Galois/Counter Mode (GCM) for confidentiality and authentication. Federal Information Processing Standard Publication FIPS, New York

  21. Dworkin M (2004) Recommendation for block cipher modes of operation: the CCM mode for authentication and confidentiality. Federal Information Processing Standard Publication FIPS, New York

  22. Rogaway P, Bellare M, Black J (2003) OCB: a block-cipher mode of operation for efficient authenticated encryption. ACM Trans Inf Syst Secur (TISSEC) 6(3):365–403

    Article  Google Scholar 

  23. Bellare M, Rogaway P, Wagner D (2004) The EAX mode of operation. In: Fast software encryption, Springer, Berlin

  24. Dodis Y, Pietrzak K (2010) Leakage-resilient pseudorandom functions and side-channel attacks on feistel networks. In: Advances in Cryptology-CRYPTO 2010, Springer, Berlin, pp 21–40

  25. Dziembowski S, Pietrzak K (2008) Leakage-resilient cryptography. In: Foundations of Computer Science, 2008. FOCS 2008. IEEE 49th Annual IEEE Symposium on, IEEE

  26. Pietrzak K (2009) A leakage-resilient mode of operation. In: Advances in cryptology - EUROCRYPT 2009, Springer, Berlin, pp 462–482

  27. Yu Y et al (2010)Practical leakage-resilient pseudorandom generators. In: Proceedings of the 17th ACM Conference on Computer and Communications Security, ACM

  28. Akavia A, Goldwasser S, Vaikuntanathan V (2009) Simultaneous hardcore bits and cryptography against memory attacks. In: Theory of cryptography, Springer, Berlin, pp 474–495

  29. Brakerski Z et al (2010) Overcoming the hole in the bucket: Public-key cryptography resilient to continual memory leakage. In: Foundations of Computer Science (FOCS), 2010 51st Annual IEEE Symposium on, IEEE

  30. Faust S, Pietrzak K, Schipper J (2012) Practical leakage-resilient symmetric cryptography. In: Cryptographic hardware and embedded systems - CHES 2012, Springer, Berlin, pp 213–232

  31. Standaert F-X et al (2010) Leakage resilient cryptography in practice. In: Towards hardware-intrinsic security, Springer, Berlin, pp 99–134

  32. Bellare M, Canetti R, Krawczyk H (1996) Pseudorandom functions revisited: the cascade construction and its concrete security. In: Foundations of Computer Science, 1996, Proceedings, 37th Annual Symposium on, IEEE

  33. Shoup V (2004) Sequences of games: a tool for taming complexity in security proofs. In: IACR cryptology ePrint archive, p 332

  34. Bellare M, Rogaway P (2006) The security of triple encryption and a framework for code-based game-playing proofs. In: Advances in cryptology - EUROCRYPT 2006, Springer, Berlin, pp 409–426

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jinkeon Kang.

Appendix

Appendix

1.1 Proof of Lemma 1

In Sect. 2, Lemma 1 states that multi-oracle family of one-time leakage-resilient PRFs is secure. The following depicts the proof.

Proof

To prove this lemma, we use the hybrid argument. (This proof goes similar to the Lemma 3.3 given in [32]) Let F be a function family from \(\{0, 1\}^m\) to \(\{0, 1\}^n\), and key length be k, and let \(m \ge 1\). We also let , and let . We construct an algorithm \(\mathcal {C}_\mathcal {A}\): given black-box access to an adversary \(\mathcal {C}\) with advantage \({\mathsf {Adv}}_{mF}^{\mathrm {ot-lr-prf}}(\mathcal {C})\), and algorithm \(\mathcal {C}_\mathcal {A}\) defines an adversary \(\mathcal {A}\) with advantage \({\mathsf {Adv}}_{f}^{\mathrm {ot-lr-prf}}(\mathcal {A}) \ge {\mathsf {Adv}}_{mF}^{\mathrm {ot-lr-prf}}({\mathcal {C}})/m\).

Adversary \(\mathcal {C}\), given oracle f, first chooses an integer at random. Next, it chooses functions from F uniformly and independently. It sets \(f_i\) to its oracle function f with leakage function L. It also chooses random functions \(f_{i+1}, \ldots , f_m\) from \(\mathcal {R}\). It now runs adversary \(\mathcal {A}\) with oracles \(f_1, \ldots , f_m\): when the query is to jth oracle, it answers via \(g_j\) and invokes its oracle when \(j = i\) and otherwise uses its one of the chosen functions. Adversary \(\mathcal {C}\) outputs the same answer as whatever \(\mathcal {A}\) outputs.

To choose, \(f_1, \ldots , f_{i-1}\) from F meant to choose randomly \(i - 1\) keys \(K_1\), \(\ldots \), \(K_{i - 1}\) and reply to jth query x, for \(j < i\) by \(f_j(x)\). Furthermore, \(\mathcal {A}\) cannot choose random functions. Therefore, whenever \(\mathcal {B}\) asks a jth query x, for \(j > i\), it chooses a random string of length k if x is not queried before, add to the record list, and returns it; else if it is already chosen, then answers taken from the record list.

Now, let for \(i = 1, \ldots , m\), \(G_i = F \times \cdots F \times \mathcal {R} \times \cdots \times \mathcal {R}\), where there are i copies of F and \(m - i\) copies of \(\mathcal {R}\). To pick a vector \((f_1, \ldots , f_m)\) of functions at random from this space means choosing \(f_j\) at random from F for \(j = 1, \ldots i\) and \(g_j\) at random from \(\mathcal {R}\) for \(j = i+1, \ldots , m\). We let

$$\begin{aligned} p_i= & {} \underset{(f_1, \ldots , f_m) \xleftarrow {\$} G_i}{\mathrm {Pr}} \left[ \mathcal {C}^{\left[ f_1, f_1^L\right] (\cdot ), \ldots , \left[ f_1, f_1^L\right] (\cdot )} = 1 \right] \end{aligned}$$

be the probability that \(\mathcal {B}\) outputs one when its oracles are chosen randomly from \(G_i\). Let \(\mathcal {B}[i]\) denote the operation of \(\mathcal {B}\) with fixed input i. Now, notice that for \(i = 1, \ldots , m\):

$$\begin{aligned} \underset{f \xleftarrow {\$} \mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {A}^{[f, f_L](\cdot )}[i] = 1 \right]= & {} p_{i - 1} \\ \underset{f \xleftarrow {\$} F}{\mathrm {Pr}} \left[ \mathcal {A}^{[f, f^L](\cdot )}[i] = 1 \right]= & {} p_i. \end{aligned}$$

Thus

$$\begin{aligned} \underset{f \xleftarrow {\$} \mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {A}^{[f, f_L](\cdot )} = 1 \right]= & {} (1/m). \sum _{j = 1}^m p_{j-1} \\ \underset{f \xleftarrow {\$} F}{\mathrm {Pr}} \left[ \mathcal {A}^{[f, f^L](\cdot )} = 1 \right]= & {} (1/m). \sum _{j = 1}^m p_{j} . \end{aligned}$$

Thus, the advantage of \(\mathcal {A}\) is

$$\begin{aligned} \mathsf {Adv}_{f}^{\mathrm {ot-lr-prf}}(\mathcal {B})= & {} \underset{f \xleftarrow {\$} \mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {A}^{[f, f_L](\cdot )} = 1 \right] - \underset{f \xleftarrow {\$} \mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {B}^{[f, f_L](\cdot )} = 1 \right] \\= & {} (1/m).(p_m - p_0) . \end{aligned}$$

Now, observe from the assumption that

$$\begin{aligned} p_m= & {} \underset{(f_1, \ldots , f_m) \xleftarrow {\$} F}{\mathrm {Pr}} \left[ \mathcal {C}^{\left[ f_1, f_1^L\right] (\cdot ), \ldots , \left[ f_m, f_m^L\right] (\cdot )} = 1 \right] \\= & {} \underset{f \xleftarrow {\$} mF}{\mathrm {Pr}} \left[ \mathcal {C}^{[f, f^L](\cdot )} = 1 \right] \end{aligned}$$

and

$$\begin{aligned} p_0= & {} \underset{(f_1, \ldots , f_m) \xleftarrow {\$} \mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {C}^{[f_1, f_1^L](\cdot ), \ldots , \left[ f_m, f_m^L\right] (\cdot )} = 1 \right] \\= & {} \underset{f \xleftarrow {\$} m\mathcal {R}}{\mathrm {Pr}} \left[ \mathcal {C}^{[f, f^L](\cdot )} = 1 \right] . \end{aligned}$$

Therefore, we have \(\mathsf {Adv}_{f}^{\mathrm {ot-lr-prf}}(\mathcal {A}) \ge (1/m).\mathsf {Adv}_{mF}^{\mathrm {ot-lr-prf}}(\mathcal {C})\) as required.

\(\square \)

1.2 Proof of Theorem 1

In Sect. 4, Theorem 1 states that the authenticated encryption scheme RCB composed of re-keying scheme and block cipher, as shown in Fig. 1, is secure in real or random sense. The following depicts the proof.

Proof

Let \(\mathsf {AE} = \mathsf {(KG, E, D)}\) be an authenticated encryption scheme as defined in Sect. 2.3. Our AE scheme is composed of two parts—the re-keying scheme g and the block cipher f. For the non-adaptive granular leakage-resilient model, our AE scheme is split into time steps which leak independently. The adversary \(\mathcal {A}\) is allowed to choose a leakage function \(L = (L_1, L_2)\) with components for each of these time steps: \(L_1\) for re-keying scheme and \(L_2\) for the block cipher. Then, he submit q distinct queries to his oracle. For each query, he gets back either the real or random output of his query with leakage which is exactly the output of the leakage function L he chose. (We put a restriction on adversary \(\mathcal {A}\) that he cannot make query to re-keying oracle without asking queries to encryption oracle). We show that our scheme is leakage-resilient secure. We organize our security proof as a sequence of games [33]. We start with game \(G_0\) as a real game. We make transitions in game \(G_0\) to convert it into the random game \(G_n\) for some n. We say \(\text {Pr}[G_i]\) as the winning event that the game \(G_i\) outputs 1 for \(i = 0, 1, 2, \ldots \).

Game \(G_0\): This game simulates the real game, i.e., when the adversary \(\mathcal {A}\) gets both the leakage and the real outputs of his queries. It directly corresponds to the left hand side of the probability in Definition 3 for an adversary \(\mathcal {A}\) having access to the oracle. Thus, we have

$$\begin{aligned} \text {Pr}[G_0]= & {} \underset{K^* \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}} \left[ \mathcal {A}^{\left[ \mathsf {E}_{K^*}, \mathsf {E}_{K^*}^L\right] (\cdot )} = 1 \right] . \end{aligned}$$
(1)

Game \(G_1\): In this game, we make a small change to the above game. Instead of computing the intermediate keys from leakage-resilient re-keying scheme g, we generate them using a random function or we can say that the intermediate keys are uniformly and independently chosen from \(\{0, 1\}^k\). Refer to Fig. 7.

Let us assume that an adversary \(\mathcal {A}\) who distinguish these two games. We build an adversary \(\mathcal {B}\) against the re-keying scheme g who uses adversary \(\mathcal {A}\). The process is as shown in Fig. 6.

Adversary game \(\mathcal {B}_\mathcal {A}^{[\mathcal {O}, g_{K^*}^{L}](\cdot )}\): First, adversary \(\mathcal {A}\) chooses a leakage function \(L = (L_1, L_2)\) and send it to the adversary \(\mathcal {B}\) who transmits it to his challenger. The challenger chooses the keys \(K_i\) for \(i \in [q]\) representing either the real keys or random keys. Now, the adversary \(\mathcal {B}_\mathcal {A}\) is provided the oracle access \(\mathcal {O}\) which generates the fresh keys to encrypt the queries submitted by adversary \(\mathcal {A}\). For each query \(M_i\), adversary \(\mathcal {B}\) computes \(f(K_i, M_i)\) and the leakage \(L_2(K_i, M_i)\) and replies to adversary \(\mathcal {A}\) with the answer \((\mathsf {E}(K_i, M_i)\), \(L_1(K, ctr_i)\), \(L_2(K_i, M_i))\).

Finally, \(\mathcal {A}\) receives the ciphertexts with the leakage for his queries either with the real keys or random keys. This situation perfectly simulates the game \(G_0\) if the keys are real, i.e., the keys generated by re-keying scheme. Therefore, we have

$$\begin{aligned} \text {Pr}[G_0]= & {} \underset{K^* \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}}\left[ \mathcal {B}_\mathcal {A}^{\left[ g_{K^*}, g_{K^*}^L\right] (\cdot )} = 1\right] . \end{aligned}$$
(2)

Now, if intermediate keys are randomly chosen from \(\{0, 1\}^k\). This situation perfectly simulates the game \(G_1\). Thus, we have

$$\begin{aligned} \text {Pr}[G_1]= & {} \underset{K^* \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}}\left[ \mathcal {B}_\mathcal {A}^{\left[ R, g_{K^*}^L\right] (\cdot )} = 1\right] . \end{aligned}$$
(3)

From Eqs. (2), (3), and (4), the distinguishing advantage of \(\mathcal {A}\) in games \(G_0\) and \(G_1\) is bounded by the advantage of adversary \(\mathcal {B}\) against the leakage-resilient re-keying scheme. Therefore, we have

(4)

Game \(G_2\): We modify the game 1 by replacing all the invocations of block cipher f by invocations of a truly random functions R chosen independently from \(\mathcal {R}(m, n)\). That is, for each query submitted by adversary \(\mathcal {A}\), the answers are given as the output of random functions.

Let us assume that an adversary \(\mathcal {A}\) who distinguish these two games \(G_1\) and \(G_2\). We build an adversary \(\mathcal {C}\) against the block cipher f who uses adversary \(\mathcal {A}\). The process is as shown in Fig. 7.

Adversary \(\mathcal {C}_\mathcal {A}^{[\mathcal {MO}, f_{K^*}^L](\cdot )}\): First, adversary \(\mathcal {A}\) chooses a leakage function \(L = (L_1, L_2)\) and send it to the adversary \(\mathcal {B}\) who transmits it to his challenger. Now, the challenger generates the master key K and the counter values uniformly at random and uses them to compute the leakage of re-keying scheme g and the intermediate keys. For each query \(M_i\), \(i \in [q]\) submitted by adversary \(\mathcal {A}\), challenger directly computes the leakage of the whole encryption. Adversary \(\mathcal {B}\) gets back the corresponding leakage and outputs send to \(\mathcal {A}\) as \((\mathsf {E}(K_i, M_i), L_1(K, ctr_i), L_2(K_i, M_i))\).

Finally, \(\mathcal {A}\) receives the ciphertexts either generated by the block cipher or generated by the random function R with the leakage for his queries. In Fig. 8, we define random function R as a subroutine random function for easy simulation. We call these functions f or R as the functions of multi-oracles families of functions. If the ciphertexts are generated by the block cipher, then this situation perfectly simulates the game \(G_1\). Therefore, we have

$$\begin{aligned} \text {Pr}[G_1]= & {} \underset{(K_1, \ldots , K_w) \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}}\left[ \mathcal {C}_\mathcal {A}^{\left[ f_{K_1}, f_{K_1}^L\right] (\cdot ), \ldots , \left[ f_{K_w}, f_{K_w}^L\right] (\cdot )} = 1\right] . \end{aligned}$$
(5)

Now, if the ciphertexts are the output of the random functions on input query \(M_i\), then this situation perfectly simulates the game \(G_2\). Therefore, we have

$$\begin{aligned} \text {Pr}[G_2]= & {} \underset{(R_1, \ldots , R_w) \xleftarrow {\$} \mathcal {R}(m, n), (K_1, \ldots , K_w) \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}}\left[ \mathcal {C}_\mathcal {A}^{\left[ R_1, f_{K_1}^L\right] (\cdot ), \ldots , \left[ R_w, f_{K_w}^L\right] (\cdot )} = 1\right] .\nonumber \\ \end{aligned}$$
(6)

From Eqs. (4), (5), and (6), the distinguishing advantage of \(\mathcal {A}\) in games \(G_1\) and \(G_2\) is bounded by the advantage of adversary \(\mathcal {C}\) against the multi-oracle family of one-time leakage-resilient PRFs. Therefore, we have

(7)

From the result of Lemma 1 given in Sect. 2, we have

$$\begin{aligned} |\text {Pr}[G_1] - \text {Pr}[G_2] |\le & {} q(w+1)\mathsf {Adv}_{f}^{\mathrm {ot-lr-prf}}(\mathcal {C}) \end{aligned}$$
(8)

where q is the total number of queries asked to the encryption oracle, and \((w+1)\) be the total number of invocations of block cipher on a message query.

Game \(G_3\): In this game, we define a “\(\mathsf {bad}\)” event in subroutine on the repetition of randomly chosen answers from \(\{0, 1\}^n\), in case, query–response pair does not exist in the set \(I_R\). If \(\mathsf {bad}\) event occurs and no action is taken, then games \(G_2\) and \(G_3\) behave exactly similar. Thus, we have

$$\begin{aligned} \text {Pr}[G_2]= & {} \text {Pr}[G_3] . \end{aligned}$$
(9)

Game \(G_4\): In this game, we define a “\(\mathsf {bad}\)” event in subroutine sets to be \(\mathsf {true}\) and again, the new random response is taken from \(\{0, 1\}^n\). Therefore, the distinguishing advantages of adversary \(\mathcal {A}\) in games \(G_3\) and \(G_4\) are bounded by the probability of \(\mathsf {bad}\) event. Thus, we have

$$\begin{aligned} |\text {Pr}[G_3] - \text {Pr}[G_4] |\le & {} \text {Pr}[\mathsf {bad}] \nonumber \\\le & {} \frac{q^2(w+1)^2}{2^{n + 1}} . \end{aligned}$$
(10)

Game \(G_5\): This game perfectly simulates the random game in random world. Now, in Game \(G_5\), the ciphertext is completely random, i.e., independent of the output of real game.

$$\begin{aligned} \text {Pr}[G_4]= & {} \text {Pr}[G_5] . \end{aligned}$$
(11)

and, the winning advantage of \(\mathcal {A}\) in game \(G_5\) is the same as in random game and defined by

$$\begin{aligned} \text {Pr}[G_5]= & {} \underset{K^* \xleftarrow {\$} \{0, 1\}^k}{\mathrm {Pr}} \left[ \mathcal {A}^{\mathsf {AE}^R(K^*, \cdot ), \mathsf {AE}^L(K^*, \cdot )} = 1 \right] . \end{aligned}$$
(12)

On summing up all the equations from (2) to (12), the distinguishing advantage of adversary \(\mathcal {A}\) against RCB described in Theorem 1 follows. \(\square \)

Fig. 6
figure 6

Game \(G_0\) and adversary game \(\mathcal {B}_\mathcal {A}^{[\mathcal {O}, g_{K^*}^L](\cdot )}\)

Fig. 7
figure 7

Game \(G_1\) and adversary game \(\mathcal {C}_\mathcal {A}^{[\mathcal {MO}, f_{K^*}^L](\cdot )}\)

Fig. 8
figure 8

Game \(G_{2}\)

Fig. 9
figure 9

Games \(G_3\) and \(G_4\)

Fig. 10
figure 10

Game \(G_5\)

1.3 Proof of Theorem 2

In Sect. 4, Theorem 2 states that the authenticated encryption scheme RCB composed of re-keying scheme and block cipher, as shown in Fig. 1, is unforgeable in leakage-resilient model. The following depicts the proof.

Proof

Let \(\mathsf {AE} = \mathsf {(KG, E, D)}\) be an authenticated encryption scheme as defined in §2. Let \(\mathcal {A}\) be a PPT adversary who has access to encryption oracle and tries to forge the authenticity of the messages. We show that our AE scheme is unforgeable. We organize our security proof as a sequence of games [33]. We start with game \(G_0\) as a real game. We make transitions in game \(G_0\) to convert it into the random game \(G_5\). The transitions from game \(G_0\) to game \(G_5\) are exactly similar as in the privacy proof. After this, we do case-by-case analysis.

For easiness, we make an assumption that all the input–output blocks of messages are of full length, including the tag generation block. Thus, the last block will always use \(\mathsf {len}(\cdot )\) as a constant value, say, const. Now, adversary \(\mathcal {A}\) can make at most q valid encryption queries and gets the corresponding answers as \(\chi = (ind||C||T)\). These all queries–responses \((M, \chi = (ind||C||T))\) are maintained in the set \(I_F\). Next, adversary’s goal is to produce a valid forgery \((M^*, (ind^*||C^*||T^*))\) for which \(\not \exists M^*\), s.t., \((M^*, \chi = (ind^*||C^*||T^*)) \in I_F\), and it is accepted by the decryption oracle.

Let \(\lambda \) denotes an element in the set \(I_F\), such that \(\lambda \) is a valid input–output response in the form (M, (ind||C||T)) which adversary \(\mathcal {A}\) has. For q encryption queries made by adversary \(\mathcal {A}\), the input–output responses are denoted by \(\lambda _1, \ldots , \lambda _q\). Now, since \(I_F\) be an ordered set due to the order of the indices, these \(\lambda _i\), \(i \in [q]\) are also contained in the set \(I_F\) in an ordered way. For a fixed i, if we partition the \(\lambda _i\) into block-by-block input–output responses, then we will have a set \(S_i\) as \(S_i = \{(ind_i,M_i[1],C_[1]) \ldots ((ind_i+w_i-1),M_i[w_i-1],C_i[w_i-1])), ((ind_i+w_i+1),const \oplus ind_i, Y), ((ind_i+w_i+2),checksum,T) \}\), where \(M_i = M_i[1] || \cdots M_i[w_i]\), \(Y= C_i[w_i] \oplus M_i[w_i]\) and \(\mathsf {checksum} = M_i[1] \oplus M_i[2]\oplus \cdots \oplus M_i[w_i] \); and where \(w_i\) represents the number of n-bits message blocks in \(M_i\). Similarly, for each \(\lambda _j\), \(j \in [q]\), we will have a set \(S_j\) which contain \(w_i + 1\) pairs.

Let \(I_R\) be the set containing all the elements of each \(S_i\), \(i \in [q]\). Each element of \(I_R\) is represented as (ctrXY). Now, no two sets \(S_i\) and \(S_j\) will have the same ctr and every \(S_i\) is an ordered subset of \(I_R\). Due to the design of RCB (skipping a key before the invocation of last message block), we know that the last element is dependent on all previous element in \(S_i\) and second last element dependent on first element in \(S_i\); therefore, any subset \(S^*\) of \(S_i\) will be resulted into random X or Y correspond to the last and second last element due to different Y or X in \((ctr, \star , \star ) \in I_R\). Therefore, matching probability of calculated Y in last element of \(S^*\) and a valid Y in \(S^*\) is equal to \(1/2^\tau \).

The last possible case is when \( S^* \) have elements from two different sets \( S_i \) and \( S_{j} \). In this case, the second last block element of \( S^* \) will not match with \( S_{j} \) and results into random X or Y correspond to calculated last and second last element of \( S^* \) due to different Y or X to particular \( (ctr, \star , \star ) \in I_R\). If they match, then the matching probability of calculated Y in last element of \( S^* \) and proposed last element in \( S^* \) is equivalent to \( 1/2^\tau \) (Figs. 9, 10).

Therefore, \( S^* \) to be a valid forgery query that contains elements which does not belong to \( I_R \) and is still accepted by the decryption oracle is equivalent to collision on last block input or output. Hence, probability of forgery is \( \dfrac{1}{ 2^n } \) which is maximum bound by \(\dfrac{1}{ 2^{\tau } }\) when we consider the last block length is less than the complete block length. \(\square \)

1.4 Games for privacy and authenticity proofs for RCB

Here, we make sequence of games used in security proofs of Theorems 1 and 2.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Agrawal, M., Bansal, T.K., Chang, D. et al. RCB: leakage-resilient authenticated encryption via re-keying. J Supercomput 74, 4173–4198 (2018). https://doi.org/10.1007/s11227-016-1824-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1824-6

Keywords

Navigation