Skip to main content

2019 | OriginalPaper | Buchkapitel

Memory-Hard Functions from Cryptographic Primitives

verfasst von : Binyi Chen, Stefano Tessaro

Erschienen in: Advances in Cryptology – CRYPTO 2019

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Memory-hard functions (MHFs) are moderately-hard functions which enforce evaluation costs both in terms of time and memory (often, in form of a trade-off). They are used e.g. for password protection, password-based key-derivation, and within cryptocurrencies, and have received a considerable amount of theoretical scrutiny over the last few years. However, analyses see MHFs as modes of operation of some underlying hash function \(\mathcal {H}\), modeled as a monolithic random oracle. This is however a very strong assumption, as such hash functions are built from much simpler primitives, following somewhat ad-hoc design paradigms.
This paper initiates the study of how to securely instantiate \(\mathcal {H}\) within MHF designs using common cryptographic primitives like block ciphers, compression functions, and permutations. Security here will be in a model in which the adversary has parallel access to an idealized version of the underlying primitive. We will provide provably memory-hard constructions from all the aforementioned primitives. Our results are generic, in that we will rely on hard-to-pebble graphs designed in prior works to obtain our constructions.
One particular challenge we encounter is that \(\mathcal {H}\) is usually required to have large outputs (to increase memory hardness without changing the description size of MHFs), whereas the underlying primitives generally have small output sizes.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
We will use the more fine-grained metric of cumulative memory complexity (CMC), but for now the product of time and memory will suffice for an informal understanding.
 
2
Actually for certain graphs, we prove that the efficiency gap can be reduced to the optimal bound O(1), by giving a more memory-efficient sequential algorithm.
 
3
Our first result in fact only requires a lower bound on \({\mathsf {cc}} ({\mathbb {G}})\). It is an interesting open question to provide a wide-block labeling function which only relies on a lower bound for \({\mathsf {cc}} ({\mathbb {G}})\), rather than the (stronger) depth-robustness requirement.
 
4
We assume the compression function allows both \({L} \)- and \(2{L} \)-bit inputs, though most compression functions do not allow this by design. This could however be easily achieved by reserving one bit of the input to implement domain separation, and then padding short inputs.
 
5
We assume the compression function allows both \({L} \)- and \(2{L} \)-bit inputs, though most compression functions do not allow this by design. This could however be easily achieved by reserving one bit of the input to implement domain separation, and then padding short inputs.
 
6
\({{\mathsf {Tm}}} ({{\mathsf {A}}})\) (and \({{\mathsf {Spc}}} ({{\mathsf {A}}})\)) measure worst-case sequential efficiency by providing upper bounds on time/memory.
 
7
Recall that the total number of output labels/ideal primitive queries that the algorithm makes is at most \({{\mathsf {q}}} \).
 
8
\({\mathsf {pred}} (v) = \emptyset \) for \(v\in {\mathsf {src}} ({\mathbb {G}})\).
 
9
First-predecessor-distinctness holds as each non-source node v can pick her previous node in the subpath (that traverses all of the vertices) as their first predecessor; predecessors-distinctness holds as otherwise a cycle would exist.
 
10
See Remark 3 for definition of predecessors-distinct graphs.
 
11
\({\mathbb {G}} \) can have multiple source/sink nodes.
 
12
\({{\mathbb {CF}}} \) denotes the compression function, \({{\mathbb {IC}}} \) denotes the ideal cipher, and \({{\mathbb {RP}}} \) denotes the random permutation.
 
13
We assume an implicit order for the calls in the same round.
 
14
Note that the existence of a correct call for v in round \({i} \) does not imply \(v \in {\mathsf {P}} _{{i}}\), because v may not have a critical call in the future.
 
15
If \({{\mathbb {IP}}} ={{\mathbb {IC}}}/{{\mathbb {RP}}} \), this also implies that \(\{{\mathsf {aftlab}} (v)\}_{v\in {\mathbb {V}}}\) are distinct.
 
16
By non-colliding, we mean \({\mathbf {x}} = ({x} _{1},\dots ,{x} _{{n_{s}}})\) where \({x} _{i}\ne {x} _{j}\) for every \(i\ne j\).
 
17
Note that we don’t need an indicator (e.g., \({h} _{j} = \bot \)) to tell if \({h} _{j}\) is empty or not, as we can know it from the sequence \(Q_{{i}}\). This enables us to have a shorter \(H_{{i}}\).
 
18
We assume that the encoding of the hint is unambiguous.
 
19
Recall that there is an implicit chronological order for the calls.
 
20
\({v} _{ |{\mathsf {P}} _{{i}}|}\) is picked first, then \({v} _{|{\mathsf {P}} _{{i}}|-1}\),..., and finally \({v} _{1}\).
 
21
Recall that in \({{{\mathsf {A}}} ({\sigma } _{{i}})} \), there was no correct call for v before the round of the first critical call for v.
 
22
\({\mathbb {G}} \) has a single source/sink vertex.
 
23
The last \({K}-1\) edges make sure that the \({K} \) nodes at column 1 have distinct sets of predecessors (Sect. 2.3).
 
24
We assume an implicit order for nodes in \({\mathbb {G}} _{1}\) and \({\mathbb {G}} _{2}\).
 
25
See Remark 3 for definition of first-predecessor-distinctness.
 
26
Note that \({\beta } _{{\mathsf {fix}}}\)-pebbling reducibility holds for multi-sources graphs.
 
27
A \({d} \)-path is a path with \({d} \) vertices.
 
28
Note that \({\mathsf {copy}} (v_1) -{S_{\mathsf {ext}}} \) is non-empty because \( |{\mathsf {copy}} (v_1) \cap {S_{\mathsf {ext}}} | \le |{\mathsf {nodes}} (v_1) \cap {S_{\mathsf {ext}}} |< \frac{{K}}{4}< {K} = |{\mathsf {copy}} (v_1)|\,. \) The first inequality holds as \({\mathsf {copy}} (v_1) \subseteq {\mathsf {nodes}} (v_1)\), the second inequality holds because \(v_1 \notin S\).
 
29
See Remark 3 for definition of first-predecessor-distinctness.
 
30
\({\mathbb {G}} \) has single source/sink.
 
31
A random permutation can be viewed as an ideal cipher with a fixed key.
 
Literatur
2.
Zurück zum Zitat Alwen, J., Blocki, J., Harsha, B.: Practical graphs for optimal side-channel resistant memory-hard functions. In: Thuraisingham, B.M., Evans, D., Malkin, T., Xu, D. (eds.), ACM CCS 17, pp. 1001–1017. ACM Press, October/November 2017 Alwen, J., Blocki, J., Harsha, B.: Practical graphs for optimal side-channel resistant memory-hard functions. In: Thuraisingham, B.M., Evans, D., Malkin, T., Xu, D. (eds.), ACM CCS 17, pp. 1001–1017. ACM Press, October/November 2017
7.
Zurück zum Zitat Alwen, J., Serbinenko, V.: High parallel complexity graphs and memory-hard functions. In: Servedio, R.A. Rubinfeld, R. (eds.), 47th ACM STOC, pp. 595–603. ACM Press, June 2015 Alwen, J., Serbinenko, V.: High parallel complexity graphs and memory-hard functions. In: Servedio, R.A. Rubinfeld, R. (eds.), 47th ACM STOC, pp. 595–603. ACM Press, June 2015
9.
Zurück zum Zitat Bellare, M., Rogaway, P.: Random oracles are practical: a paradigm for designing efficient protocols. In: Ashby, V. (ed.), ACM CCS 93, pp. 62–73. ACM Press, November 1993 Bellare, M., Rogaway, P.: Random oracles are practical: a paradigm for designing efficient protocols. In: Ashby, V. (ed.), ACM CCS 93, pp. 62–73. ACM Press, November 1993
11.
Zurück zum Zitat Blocki, J., Harsha, B., Kang, S., Lee, S., Xing, L., Zhou, S.: Data-independent memory hard functions: new attacks and stronger constructions. Cryptology ePrint Archive, Report 2018/944 (2018). http://eprint.iacr.org/2018/944 Blocki, J., Harsha, B., Kang, S., Lee, S., Xing, L., Zhou, S.: Data-independent memory hard functions: new attacks and stronger constructions. Cryptology ePrint Archive, Report 2018/944 (2018). http://​eprint.​iacr.​org/​2018/​944
13.
17.
Zurück zum Zitat Forler, C., Lucks, S., Wenzel, J.: Catena: a memory-consuming password scrambler. IACR Cryptology ePrint Archive 2013/525 (2013) Forler, C., Lucks, S., Wenzel, J.: Catena: a memory-consuming password scrambler. IACR Cryptology ePrint Archive 2013/525 (2013)
19.
Zurück zum Zitat Percival, C.: Stronger key derivation via sequential memory-hard functions. In: BSDCan 2009 (2009) Percival, C.: Stronger key derivation via sequential memory-hard functions. In: BSDCan 2009 (2009)
20.
Zurück zum Zitat Percival, C., Josefsson, S.: The scrypt password-based key derivation function (2012) Percival, C., Josefsson, S.: The scrypt password-based key derivation function (2012)
Metadaten
Titel
Memory-Hard Functions from Cryptographic Primitives
verfasst von
Binyi Chen
Stefano Tessaro
Copyright-Jahr
2019
DOI
https://doi.org/10.1007/978-3-030-26951-7_19

Premium Partner