Abstract
Cryptanalytic time-memory trade-offs were introduced by Martin Hellman in 1980, and they have since had a major impact on practical cryptanalysis. Hellman’s technique has been studied as well as improved significantly, most notably by Philippe Oechslin who introduced the rainbow tables. As it has been highlighted in various papers, the way the memory is handled is extremely important. In this paper, we analytically describe how rainbow tables are currently stored, and we introduce a new structure that considerably reduces the memory requirement. We mathematically analyze these techniques, provide optimal parameterization, and show that our structure is extremely close to the theoretical lower bound. Using our optimized storage for rainbow tables realizes the equivalent of a speedup of three with respect to the naive approach.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The technique works for inverting any one-way function, but we use the vocabulary of hash functions liberally.
- 2.
We actually need to build several tables this way. The reason for this is that the coverage quickly saturates in Hellman tables. See [7]. Also note that with rainbow tables, although 3 or 4 tables are generally required for a good probability of success, the number of Hellman tables required is usually much bigger.
- 3.
Since the endpoints are sorted, this lookup is inexpensive.
- 4.
Although the word “perfect” is usually attributed to tables without merges in the literature, we find this terminology more intuitive and more adapted.
- 5.
As said above, the constant factor greatly favors rainbow tables [11].
- 6.
Note that endpoints are unique meaning that a zero difference is not possible. One can therefore also decrease the differences by one.
- 7.
This experiment has been done on a laptop with an i5 Intel Processor, with the encoded differences in RAM. We used SHA-1 as a point of comparison for a hash function.
References
Avoine, G., Junod, P., Oechslin, P.: Time-memory trade-offs: false alarm detection using checkpoints. In: Maitra, S., Veni Madhavan, C.E., Venkatesan, R. (eds.) INDOCRYPT 2005. LNCS, vol. 3797, pp. 183–196. Springer, Heidelberg (2005)
Avoine, G., Junod, P., Oechslin, P.: Characterization and improvement of time-memory trade-off based on perfect tables. ACM Trans. Inf. Syst. Secur. 11(4), 1–22 (2008)
Biryukov, A., Shamir, A., Wagner, D.: Real time cryptanalysis of A5/1 on a PC. In: Schneier, B. (ed.) FSE 2000. LNCS, vol. 1978, pp. 1–18. Springer, Heidelberg (2001)
Fiat, A., Naor, M.: Rigorous time/space tradeoffs for inverting functions. In: ACM Symposium on Theory of Computing - STOC’91, pp. 534–541. ACM, ACM Press, New Orleans, Louisiana, USA, May 1991
Gallager, R., Van Voorhis, D.: Optimal source codes for geometrically distributed integer alphabets. IEEE Trans. Inf. Theory 21(2), 228–230 (1975)
Graham, R.L., Knuth, D.E., Patashnik, O.: Concrete Mathematics: A Foundation for Computer Science. Addison-Wesley, Reading (1989)
Hellman, M.: A cryptanalytic time-memory trade off. IEEE Trans. Inf. Theory IT-26(4), 401–406 (1980)
Kiely, A.: Selecting the Golomb parameter in Rice coding. IPN progress report, vol. 42(159), November 2004
Lee, G.W., Hong, J.: A comparison of perfect table cryptanalytic tradeoff algorithms. Cryptology ePrint Archive, Report 2012/540 (2012)
Mentens, N., Batina, L., Preneel, B., Verbauwhede, I.: Cracking UNIX passwords using FPGA platforms. In: SHARCS - Special Purpose Hardware for Attacking Cryptographic Systems, February 2005
Oechslin, P.: Making a faster cryptanalytic time-memory trade-off. In: Boneh, D. (ed.) CRYPTO 2003. LNCS, vol. 2729, pp. 617–630. Springer, Heidelberg (2003)
Oechslin, P.: The ophcrack password cracker (2013). http://ophcrack.sourceforge.net/
Rice, R., Plaunt, J.: Adaptive variable-length coding for efficient compression of spacecraft television data. IEEE Trans. Commun. Technol. 19(6), 889–897 (1971)
Saarinen, M.-J.O.: A time-memory tradeoff attack against LILI-128. In: Daemen, J., Rijmen, V. (eds.) FSE 2002. LNCS, vol. 2365, pp. 231–236. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Avoine, G., Carpent, X. (2014). Optimal Storage for Rainbow Tables. In: Lee, HS., Han, DG. (eds) Information Security and Cryptology -- ICISC 2013. ICISC 2013. Lecture Notes in Computer Science(), vol 8565. Springer, Cham. https://doi.org/10.1007/978-3-319-12160-4_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-12160-4_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-12159-8
Online ISBN: 978-3-319-12160-4
eBook Packages: Computer ScienceComputer Science (R0)