Part of the book series:Lecture Notes in Computer Science ((LNSC,volume 8895))
Included in the following conference series:
932Accesses
Abstract
This paper presents a thorough analysis of the AEAD scheme NORX, focussing on differential and rotational properties. We first introduce mathematical models that describe differential propagation with respect to the non-linear operation of NORX. Afterwards, we adapt a framework previously proposed for ARX designs allowing us to automatise the search for differentials and characteristics. We give upper bounds on the differential probability for a small number of steps of the NORX core permutation. For example, in a scenario where an attacker can only modify the nonce during initialisation, we show that characteristics have probabilities of less than\(2^{-60}\) (\(32\)-bit) and\(2^{-53}\) (\(64\)-bit) after only one round. Furthermore, we describe how we found the best characteristics for four rounds, which have probabilities of\(2^{-584}\) (\(32\)-bit) and\(2^{-836}\) (\(64\)-bit), respectively. Finally, we discuss some rotational properties of the core permutation which yield some first, rough bounds and can be used as a basis for future studies.
This is a preview of subscription content,log in via an institution to check access.
Access this chapter
Subscribe and save
- Get 10 units per month
- Download Article/Chapter or eBook
- 1 Unit = 1 Article or 1 Chapter
- Cancel anytime
Buy Now
- Chapter
- JPY 3498
- Price includes VAT (Japan)
- eBook
- JPY 5719
- Price includes VAT (Japan)
- Softcover Book
- JPY 7149
- Price includes VAT (Japan)
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
This is not an official term. We introduce it to easily distinguish between ARX- and purely logic-based primitives. Terminology-wise it is not entirely correct, though, as integer addition can be obviously modelled by bitwise logical operations as well.
- 2.
References
CAESAR – Competition for Authenticated Encryption: Security, Applicability, and Robustness (2014).http://competitions.cr.yp.to/caesar.html
NODE – The NORX Differential Search Engine (2014).https://github.com/norx/NODE
Aumasson, J.-P., Fischer, S., Khazaei, S., Meier, W., Rechberger, C.: New Features of Latin Dances: Analysis of Salsa, ChaCha, and Rumba. In: Nyberg, K. (ed.) FSE 2008. LNCS, vol. 5086, pp. 470–488. Springer, Heidelberg (2008)
Aumasson, J.-P., Jovanovic, P., Neves, S.: NORX: Parallel and Scalable AEAD. In: Kutyłowski, M., Vaidya, J. (eds.) ESORICS 2014, Part II. LNCS, vol. 8713, pp. 19–36. Springer, Heidelberg (2014)
Aumasson, J.-P., Neves, S., Wilcox-O’Hearn, Z., Winnerlein, C.: BLAKE2: Simpler, Smaller, Fast as MD5. In: Jacobson, M., Locasto, M., Mohassel, P., Safavi-Naini, R. (eds.) ACNS 2013. LNCS, vol. 7954, pp. 119–135. Springer, Heidelberg (2013)
Bernstein, D.J.: ChaCha, a Variant of Salsa20. In: Workshop Record of SASC 2008: The State of the Art of Stream Ciphers (2008).http://cr.yp.to/chacha.html
Bernstein, D.J.: The Salsa20 Family of Stream Ciphers. In: Robshaw, M., Billet, O. (eds.) New Stream Cipher Designs. LNCS, vol. 4986, pp. 84–97. Springer, Heidelberg (2008)
Bertoni, G., Daemen, J., Peeters, M., Assche, G.V.: On Alignment in Keccak. In: ECRYPT II Hash Workshop, May 2011
Bertoni, G., Daemen, J., Peeters, M.,Assche, G.V.: Permutation-based Encryption, Authentication and Authenticated Encryption, presented at DIAC, Stockholm, Sweden, 05–06 July 2012
Bertoni, G., Daemen, J., Peeters, M., Assche, G.V.: Cryptographic Sponge Functions, January 2011.http://sponge.noekeon.org/CSF-0.1.pdf
Bertoni, G., Daemen, J., Peeters, M., Van Assche, G.: Duplexing the Sponge: Single-pass Authenticated Encryption and Other Applications. In: Miri, A., Vaudenay, S. (eds.) SAC 2011. LNCS, vol. 7118, pp. 320–337. Springer, Heidelberg (2012)
Bertoni, G., Daemen, J., Peeters, M., Assche, G.V.: The Keccak Reference, January 2011.http://keccak.noekeon.org/
Biham, E., Shamir, A.: Differential Cryptanalysis of DES-like Cryptosystems. J. Cryptol.4(1), 3–72 (1991)
Brummayer, R., Biere, A.: Boolector: An Efficient SMT Solver for Bit-vectors and Arrays. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 174–177. Springer, Heidelberg (2009)
Daemen, J., Peeters, M., Assche, G.V., Rijmen, V.: Nessie Proposal: the Block Cipher Noekeon. Nessie submission (2000).http://gro.noekeon.org/
Daemen, J., Rijmen, V.: The Wide Trail Design Strategy. In: Honary, B. (ed.) Cryptography and Coding 2001. LNCS, vol. 2260, pp. 222–238. Springer, Heidelberg (2001)
Daemen, J., Van Assche, G.: Differential Propagation Analysis of Keccak. In: Canteaut, A. (ed.) FSE 2012. LNCS, vol. 7549, pp. 422–441. Springer, Heidelberg (2012)
Ganesh, V., Govostes, R., Phang, K.Y., Soos, M., Schwartz, E.: STP – A Simple Theorem Prover (2006–2013).http://stp.github.io/stp
Guo, J., Karpman, P., Nikolić, I., Wang, L., Wu, S.: Analysis of BLAKE2. In: Benaloh, J. (ed.) CT-RSA 2014. LNCS, vol. 8366, pp. 402–423. Springer, Heidelberg (2014)
Khovratovich, D., Nikolić, I.: Rotational Cryptanalysis of ARX. In: Hong, S., Iwata, T. (eds.) FSE 2010. LNCS, vol. 6147, pp. 333–346. Springer, Heidelberg (2010)
Knuth, D.E.: The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1, vol. 4A. Addison-Wesley, Upper Saddle River (2011).http://www-cs-faculty.stanford.edu/~uno/taocp.html
Lipmaa, H., Moriai, S.: Efficient Algorithms for Computing Differential Properties of Addition. In: Matsui, M. (ed.) FSE 2001. LNCS, vol. 2355, pp. 336–350. Springer, Heidelberg (2002)
Mate Soos: CryptoMinisat (2009–2014).http://www.msoos.org/cryptominisat2
Mouha, N., Preneel, B.: Towards Finding Optimal Differential Characteristics for ARX: Application to Salsa20. Cryptology ePrint Archive, Report 2013/328 (2013)
Shi, Z., Zhang, B., Feng, D., Wu, W.: Improved Key Recovery Attacks on Reduced-round Salsa20 and ChaCha. In: Kwon, T., Lee, M.-K., Kwon, D. (eds.) ICISC 2012. LNCS, vol. 7839, pp. 337–351. Springer, Heidelberg (2013)
Shoup, V.: Computational Introduction to Number Theory and Algebra, 2nd edn. Cambridge University Press, Cambridge (2009).http://shoup.net/ntb
Acknowledgements
The authors would like to thank the anonymous reviewers for their comprehensive commentaries which helped to improve the quality of this paper.
Author information
Authors and Affiliations
Kudelski Security, Lausanne, Switzerland
Jean-Philippe Aumasson
University of Passau, Passau, Germany
Philipp Jovanovic
University of Coimbra, Coimbra, Portugal
Samuel Neves
- Jean-Philippe Aumasson
You can also search for this author inPubMed Google Scholar
- Philipp Jovanovic
You can also search for this author inPubMed Google Scholar
- Samuel Neves
You can also search for this author inPubMed Google Scholar
Corresponding author
Correspondence toPhilipp Jovanovic.
Editor information
Editors and Affiliations
University of Campinas, Campinas, Brazil
Diego F. Aranha
University of Waterloo, Waterloo, Ontario, Canada
Alfred Menezes
Appendices
A Addenda to Differential Cryptanalysis
Proof of Lemma 3. On bit level Eq. 2 has the form
Obviously, the least significant bits (i.e.\(i = 0\)) are identical for Eqs. 1 and 2. For\(i > 0\) let\(t = (\alpha _i \oplus \beta _i \oplus \gamma _i) \oplus (\alpha _{i-1} \wedge \beta _{i-1})\). If\(t = 0\) then Eq. 1 has always the solution\(x_{i-1} = y_{i-1} = 0\). Otherwise, if\(t = 1\), Eq. 1 is only solvable if\(\alpha _{i-1} = 1\) or\(\beta _{i-1} = 1\), and these are exactly the cases captured in Eq. 2.
Proof of Lemma 5. Without loss of generality we assume that\(\alpha \ne 0\) or\(\beta \ne 0\). Looking at Eq. 1, we see that the term\((\alpha \oplus \beta \oplus \gamma )\) has no effect on the probability of the differential\(\delta \), since it does not depend on either\(x\) or\(y\). It has therefore probability\(1\).
Analysing the bit level representation of Eq. 1, we observe that the term\((x_{i-1} \wedge \alpha _{i-1}) \oplus (y_{i-1} \wedge \beta _{i-1}) \oplus (\alpha _{i-1} \wedge \beta _{i-1})\) is balanced (i.e., is\(1\) with probability\(1/2\)) if\(\alpha _{i-1} = 1\) or\(\beta _{i-1} = 1\). Therefore, under the assumption of independence of\(\alpha _i\) and\(\beta _i\), the overall probability of\(\delta \) can be computed by counting the number of\(1\)s in the first\(n-1\) bits of\(\alpha \vee \beta \) or, equivalently, of\((\alpha \vee \beta ) \ll 1\), which proves the lemma.
Proof of Lemma 7. It is easy to see that the least significant bits (i.e.\(i = 0\)) of Eqs. 3 and 4 are the same. Therefore, we will consider them no longer. Looking at the bit level representation of Eq. 3 (for\(i > 0\)) we consider two cases:
\(\alpha _i \oplus \beta _i \oplus \gamma _i = 0\): Here, Eq. 3 has always the solution\(x_{i-1} = y_{i-1} = 0\).
\(\alpha _i \oplus \beta _i \oplus \gamma _i = 1\): In this case, the bit level representation of Eq. 3 is only solvable if either\(\alpha _{i-1} \ne \gamma _{i-1}\) or\(\beta _{i-1} \ne \gamma _{i-1}\). Furthermore, the bit level representation of Eq. 4 is given by
$$\begin{aligned} (\alpha _i \oplus \beta _i \oplus \gamma _i) \wedge (\alpha _{i-1} \oplus \gamma _{i-1} \oplus 1) \wedge (\beta _{i-1} \oplus \gamma _{i-1} \oplus 1) = 0, \qquad i > 0 \end{aligned}$$It is evident that the latter equation only holds if\((\alpha _i \oplus \beta _i \oplus \gamma _i) = 0\),\(\alpha _{i-1} \ne \gamma _{i-1}\), or\(\beta _{i-1} \ne \gamma _{i-1}\). As seen above, these are the very same conditions that define a\(\mathsf {H}\)-differential.
Proof of Lemma 9. The claim can be proven analogously to Lemma 5. It follows from the fact that in the bit level representation of Eq. 3 the expression
is balanced if\(\alpha _{i-1} \oplus \gamma _{i-1} = 1\) or\(\beta _{i-1} \oplus \gamma _{i-1} = 1\).
B CVC Code
Below we show exemplarily forNORX\(64\) how to translate the differential search operations to the CVC language. Variables have the datatypeBITVECTOR(W), where\(W = 64\) is the wordsize.
![]() |
Computation of\(\mathsf {hw} (w)\) using helper variables\(h_0,\dots ,h_5\), where\(\mathsf {hw} (w) = h_5\):
![]() |
C Selected Differentials
1.1C.1 Experimental Verification ofNODE
The first table shows the results from our verification ofNODE, see Sect. 3.3. Notation is used as follows.\(w_{e}\): expected weight, #\(S\): number of samples,\(v_{e}\): expected value of input/output pairs adhering the differential,\(v_{m}\): measured value of input/output pairs adhering the differential,\(w_{m}\): measured weight. After that we list the differentials in\(32\)- and\(64\)-bit\(\mathsf {F} ^{1.5}\) that we used to perform the verification.
![]() |
![]() |
![]() |
1.2C.2 Probability-1 Differentials in\(\mathsf {G}\)
UsingNODE we could show that there are exactly\(3\) probability-1 differentials in both versions (\(32\)- and\(64\)-bit) of\(\mathsf {G}\).
![]() |
1.3C.3 Best Differential Characteristics for\(\mathsf {F} ^{4}\)
The following two tables show the best differential characteristics in\(\mathsf {F} ^{4}\) that we were capable to find withNODE. The values\(\delta _0\) and\(\delta _4\) are in- and output difference, respectively, and\(\delta _1\),\(\delta _2\), and\(\delta _3\) are internal differences. The differences are listed after a single application of\(\mathsf {F}\), respectively, and the values\(w_i\), with\(i \in \{0,\dots ,3\}\), are the corresponding differential weights.
![]() |
![]() |
1.4C.4 Best Iterative Differentials for\(\mathsf {F} \)

1.5C.5 Best Differentials Having Equal Columns of Weight\(44\) in\(\mathsf {F} \)
![]() |
D Addenda to Rotational Cryptanalysis
Proof of Lemma 11. After evaluating and simplifying the equation\(\mathsf {H} (x,y) \ggg r = \mathsf {H} (x \ggg r, y \ggg r)\) we get\(( (x \wedge y) \ll 1 ) \ggg r = ( (x \ggg r) \wedge (y \ggg r) ) \ll 1\). Translating this equation to bit vectors results in
The probability that those two vectors match is\((3/4)^2 = 9/16\), as\(a \wedge b = 0\) with probability\(3/4\) for bits\(a\) and\(b\) chosen uniformly at random.
Proof of Lemma 13. The first important observation is that the statement of this lemma is independent of the function\(f\), as it only makes a claim on the image of\(f\). Thus it is sufficient to prove the lemma for\(z \ggg r = z\), where\(z = f(x,y)\) and\(x\) or\(y\) was fixed.
We identify the indices of an\(n\)-bit string by the elements in\(G := \mathbb {Z}/n\mathbb {Z}\). Let\(\tau : G \longrightarrow G, ~ i \mathrm{{mod }}n \mapsto (i + 1) \mathrm{{mod }}n\). Then\(\tau \) obviously generates the cyclic group\(G\), i.e.\(\mathrm {ord} (\tau ) = n\). Moreover, for an arbitrary\(r \in \mathbb {Z}\) we have\(\mathrm {ord} (\tau ^r) = n / \gcd (r,n)\), see [26, §§6.2]. In other words, the subgroup\(H:=\langle \tau ^r \rangle \) of\(G\) has order\(n/\gcd (r,n)\). By Lagrange’s theorem we have\(\mathrm {ord} ( G ) = [ G : H ] \cdot \mathrm {ord} ( H )\) and it follows for the group index\([ G : H ] = \gcd (r,n)\), which corresponds to the number of (left) cosets of\(H\) in\(G\). These cosets contain the indices of a bit string which are mapped onto each other by a rotation\(\ggg r\). This means that there are\(2^{\gcd (r,n)}\)\(n\)-bit strings\(z\) which satisfy\(z \ggg r = z\). Thus the probability, that an\(n\)-bit string\(z\), chosen uniformly at random among all\(n\)-bit strings, satisfies\(z \ggg r = z\) is\(2^{- (n - \gcd (r,n))}\). This proves the lemma.
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Aumasson, JP., Jovanovic, P., Neves, S. (2015). Analysis of NORX: Investigating Differential and Rotational Properties. In: Aranha, D., Menezes, A. (eds) Progress in Cryptology - LATINCRYPT 2014. LATINCRYPT 2014. Lecture Notes in Computer Science(), vol 8895. Springer, Cham. https://doi.org/10.1007/978-3-319-16295-9_17
Download citation
Published:
Publisher Name:Springer, Cham
Print ISBN:978-3-319-16294-2
Online ISBN:978-3-319-16295-9
eBook Packages:Computer ScienceComputer Science (R0)
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative