Skip to main content

Precomputation for Rainbow Tables has Never Been so Fast

  • Conference paper
  • First Online:
Computer Security – ESORICS 2021 (ESORICS 2021)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    Initially called perfect tables by Philippe Oechslin.

  3. 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. 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. 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. 6.

    Distributed filtration-computation has negligible impact on the online phase, including its many improvements. See Appendix B for more details.

  7. 7.

    Technically, filtration starts and stops slightly after computation of chains.

  8. 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. 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. 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. 11.

    Namely strong convexity and Lipschitz-continuous Hessian.

  12. 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

  1. Hellman, M.E.: A cryptanalytic time-memory trade-off. IEEE Trans. Inf. Theory 26(4), 401–406 (1980)

    Article  MathSciNet  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. Denning, D.E.R.: Cryptography and Data Security, p. 100. Addison-Wesley Longman Publishing Co., Inc. (1982)

    Google Scholar 

  4. Lee, G.W., Hong, J.: Comparison of Perfect Table Cryptanalytic Tradeoff Algorithms, vol. 80, pp. 473–523. Kluwer Academic Publishers (2016)

    Google Scholar 

  5. Hong, J., Moon, S.: A comparison of cryptanalytic tradeoff algorithms. J. Cryptol. 26, 559–637 (2013)

    Article  MathSciNet  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. Nash, S.G.: A survey of truncated-newton methods. Numerical Analysis 2000. Vol. IV: Optimization and Nonlinear Equations, vol. 124, pp. 45–59 (2000)

    Google Scholar 

  16. Nash, S.G.: A survey of truncated-newton methods. J. Comput. Appl. Math. 124(1–2), 45–59 (2000)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Diane Leblanc-Albarel .

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:

$$\begin{aligned} \frac{\partial P}{\partial c_i} = \frac{\partial }{\partial c_i} \left[ m_{c_i}(c_{i+1} - c_i) + m_{c_{i-1}}c_i)\right] . \end{aligned}$$

Inserting \(m_i = \frac{2N}{i+\gamma -1}\) we have:

$$\begin{aligned} \frac{\partial P}{\partial c_i}&= 2N \frac{\partial }{\partial c_i} \left[ \frac{c_{i+1} - c_i}{c_i+\gamma -1} + \frac{c_i}{c_{i-1}+\gamma -1}\right] \\&= 2N \left[ \frac{1}{c_{i-1}+\gamma -1} - \frac{c_{i+1}+\gamma -1}{(c_i+\gamma -1)^2}\right] . \end{aligned}$$

To minimize P, we must have \(\frac{\partial P}{\partial c_i} = 0\), and thus:

$$\begin{aligned} c_i = \sqrt{(c_{i-1}+\gamma -1)(c_{i+1}+\gamma -1)}-\gamma +1. \end{aligned}$$

It is easy to verify that a solution to this recurrence relation with terminal conditions \(c_0=1\) and \(c_{a}=t\) is:

$$\begin{aligned} c_i = \gamma \left( \frac{t+\gamma -1}{\gamma }\right) ^{\frac{i}{a}} - \gamma + 1. \end{aligned}$$

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

Fig. 7.
figure 7

Intermediary filtration with 2 filters.

D Notation Through this Paper

Table 4. Notation

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics