Abstract
Cryptanalytic time-memory trade-offs (TMTOs) are techniques commonly used in computer security e.g., to crack passwords. However, TMTOs usually encounter in practice a bottleneck that is the time needed to perform the precomputation phase (preceding to the attack). We introduce in this paper a technique, called distributed filtration-computation, that significantly reduces the precomputation time without any negative impact the online phase. Experiments performed on large problems with a 128-core computer perfectly match the theoretical expectations. We construct a rainbow table for a space \(N=2^{42}\) in approximately 8 h instead of 50 h for the usual way to generate a table. We also show that the efficiency of our technique is very close from the theoretical time lower bound.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
This paper will not discuss how to use the rainbow tables during the online phase, as the approach is developed in other papers.
- 2.
Initially called perfect tables by Philippe Oechslin.
- 3.
The number of elements in a clean table is constant which implies that t is inversely proportional to m. The larger m is, the faster the online phase will be, but the more memory is needed for storage and inversely.
- 4.
The probability of success for a single maximal table is 86% when t is large. For the same t and a table of size \(0.95m_t^{max}\), the probabilitity of success for a single table is 85%.
- 5.
If a is too close to t, several filters could be affected to the same column. Choosing \(a\ll t\) is not a problem, as presented in Fig. 3.
- 6.
Distributed filtration-computation has negligible impact on the online phase, including its many improvements. See Appendix B for more details.
- 7.
Technically, filtration starts and stops slightly after computation of chains.
- 8.
Experiments show that, for the typical problem sizes and architecture considered, choosing s to be anywhere from \(1\,000\) to \(100\,000\) mitigates both of these issues. The particular choice of s therefore has negligible impact on the performance, provided it lies in that range.
- 9.
In general, for an architecture with a single filtration node, hashing time is much bigger than the filtering time. If the parameters of the problem and the architecture are such that it is not the case, then an other architecture with several filtration nodes should be considered.
- 10.
To keep things efficient, the search is from 0 up to a reasonable upper bound \(a_{\text {max}}\). A more sophisticated approach could be used here (e.g., Newton descent on a), but we found it to be unnecessary.
- 11.
Namely strong convexity and Lipschitz-continuous Hessian.
- 12.
We used 127 of them to be sure that all cores are fully exploited for the precomputation, and the last core was left available for the basic operations performed by the system.
References
Hellman, M.E.: A cryptanalytic time-memory trade-off. IEEE Trans. Inf. Theory 26(4), 401–406 (1980)
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). https://doi.org/10.1007/978-3-540-45146-4_36
Denning, D.E.R.: Cryptography and Data Security, p. 100. Addison-Wesley Longman Publishing Co., Inc. (1982)
Lee, G.W., Hong, J.: Comparison of Perfect Table Cryptanalytic Tradeoff Algorithms, vol. 80, pp. 473–523. Kluwer Academic Publishers (2016)
Hong, J., Moon, S.: A comparison of cryptanalytic tradeoff algorithms. J. Cryptol. 26, 559–637 (2013)
Hong, J., Jeong, K.C., Kwon, E.Y., Lee, I.-S., Ma, D.: Variants of the distinguished point method for cryptanalytic time memory trade-offs. In: Chen, L., Mu, Y., Susilo, W. (eds.) ISPEC 2008. LNCS, vol. 4991, pp. 131–145. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79104-1_10
Standaert, F.-X., Rouvroy, G., Quisquater, J.-J., Legat, J.-D.: A time-memory tradeo. Using distinguished points: new analysis & FPGA results. In: Kaliski, B.S., Koç, K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 593–609. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36400-5_43
Avoine, G., Bourgeois, A., Carpent, X.: Analysis of rainbow tables with fingerprints. In: Foo, E., Stebila, D. (eds.) ACISP 2015. LNCS, vol. 9144, pp. 356–374. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19962-7_21
Avoine, G., Carpent, X.: Optimal storage for rainbow tables. In: Lee, H.-S., Han, D.-G. (eds.) ICISC 2013. LNCS, vol. 8565, pp. 144–157. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-12160-4_9
Avoine, G., Carpent, X.: Heterogeneous rainbow table widths provide faster cryptanalyses. In: Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, ASIA CCS 2017, pp. 815–822. Association for Computing Machinery, New York (2017)
Avoine, G., Carpent, X., Lauradoux, C.: Interleaving cryptanalytic time-memory trade-offs on non-uniform distributions. In: Pernul, G., Ryan, P.Y.A., Weippl, E. (eds.) ESORICS 2015. LNCS, vol. 9326, pp. 165–184. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24174-6_9
Avoine, G., Junod, P., Oechslin, P.: Characterization and Improvement of Time-Memory Trade-Off Based on Perfect Tables, vol. 11. Association for Computing Machinery, New York (2008)
Biryukov, A., Mukhopadhyay, S., Sarkar, P.: Improved time-memory trade-offs with multiple data. In: Preneel, B., Tavares, S. (eds.) SAC 2005. LNCS, vol. 3897, pp. 110–127. Springer, Heidelberg (2006). https://doi.org/10.1007/11693383_8
Avoine, G., Carpent, X., Kordy, B., Tardif, F.: How to handle rainbow tables with external memory. In: Pieprzyk, J., Suriadi, S. (eds.) ACISP 2017. LNCS, vol. 10342, pp. 306–323. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-60055-0_16
Nash, S.G.: A survey of truncated-newton methods. Numerical Analysis 2000. Vol. IV: Optimization and Nonlinear Equations, vol. 124, pp. 45–59 (2000)
Nash, S.G.: A survey of truncated-newton methods. J. Comput. Appl. Math. 124(1–2), 45–59 (2000)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix
A Proof of Theorem 3
We have \(P = \sum _{i=0}^{a} m_{c_{i}} (c_{i+1} - c_{i})\). Deriving for each filter column position, we obtain:
Inserting \(m_i = \frac{2N}{i+\gamma -1}\) we have:
To minimize P, we must have \(\frac{\partial P}{\partial c_i} = 0\), and thus:
It is easy to verify that a solution to this recurrence relation with terminal conditions \(c_0=1\) and \(c_{a}=t\) is:
Replacing in the expression for P gives the expected result.
B Online Phase Improvements and Their Impact on Precomputation
There exists many significant algorithmic improvements on the online phase and optimizations of the storage of tables. Their impact on the distribution and intermediate filtering of precomputation is briefly discussed below.
-
Chain storage optimizations (prefix/suffix decomposition or compressed delta encoding [9]): lossless compression can be applied at the end of the table generation, with no impact on the precomputation process.
-
Truncated endpoints [8]: Endpoints can be truncated at the end of the table generation, again with no impact.
-
Checkpoints [8, 12]: Saving checkpoints can be done during the filtered and distributed precomputation with ease, although specific care must be taken. Hashing nodes must be made aware of which columns are checkpoint columns, and the filtration node needs to keep track of this. This adds no significant burden on either.
-
Heterogeneous tables [10]: Precomputation of tables of different shapes is done independently, regardless of whether they operate on the same input set. Consequently The use of heterogeneous tables has no impact on precomputation improvements.
-
Interleaving [11]: Just like with heterogeneous tables, the different tables are independently computed, again having no impact on precomputation improvements
C Intermediary Filtration
D Notation Through this Paper
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Avoine, G., Carpent, X., Leblanc-Albarel, D. (2021). Precomputation for Rainbow Tables has Never Been so Fast. In: Bertino, E., Shulman, H., Waidner, M. (eds) Computer Security – ESORICS 2021. ESORICS 2021. Lecture Notes in Computer Science(), vol 12973. Springer, Cham. https://doi.org/10.1007/978-3-030-88428-4_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-88428-4_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-88427-7
Online ISBN: 978-3-030-88428-4
eBook Packages: Computer ScienceComputer Science (R0)