Abstract 1 Introduction 2 Notation and Basic Facts 3 Main Theorem and Lemma 4 How Theorem 4 follows from Lemma 5 5 Proof of Lemma 5 6 Conclusion and Open Problems References

Time-Space Tradeoffs of Truncation with Preprocessing

Krzysztof Pietrzak ORCID IST, Klosterneuburg, Austria Pengxiang Wang ORCID EPFL, Lausanne, Switzerland
Abstract

Truncation of cryptographic outputs is a technique that was recently introduced in Baldimtsi et al. [2]. The general idea is to try out many inputs to some cryptographic algorithm until the output (e.g. a public-key or some hash value) falls into some sparse set and thus can be compressed: by trying out an expected 2k different inputs one will find an output that starts with k zeros.

Using such truncation one can for example save substantial gas fees on Blockchains where storing values is very expensive. While [2] show that truncation preserves the security of the underlying primitive, they only consider a setting without preprocessing. In this work we show that lower bounds on the time-space tradeoff for inverting random functions and permutations also hold with truncation, except for parameters ranges where the bound fails to hold for “trivial” reasons.

Concretely, it’s known that any algorithm that inverts a random function or permutation with range N making T queries and using S bits of auxiliary input must satisfy S⋅T≥N⁢log⁡N. This lower bound no longer holds in the truncated setting where one must only invert a challenge from a range of size N/2k, as now one can simply save the replies to all N/2k challenges, which requires S=log⁡N⋅N/2k bits and allows to invert with T=1 query.

We show that with truncation, whenever S is somewhat smaller than the log⁡N⋅N/2k bits required to store the entire truncated function table, the known S⋅T≥N⁢log⁡N lower bound applies.

Keywords and phrases:
Time-Space Lower Bounds, Blockchains
Copyright and License:
[Uncaptioned image] © Krzysztof Pietrzak and Pengxiang Wang; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation → Interactive proof systems
; Theory of computation → Cryptographic protocols ; Security and privacy → Information-theoretic techniques
Editor:
Niv Gilboa

1 Introduction

1.1 Truncation

In [2] Baldimtsi, Chalkias, Chatzigiannis and Kelkar suggested truncation as a technique to shorten outputs of cryptographic primitives like hash values, signatures or public keys. The technique applies whenever there’s a part of the input that can be chosen arbitrarily, like the randomness in signing and key generation or parts of the input when hashing. The general idea is to simply try out many different inputs until the output lands in some sparse domain, say it starts with Δ zeros, and such an output can be encoded using Δ less bits than a general output.

While the applicability of this technique is limited by the fact that finding an output that starts with Δ zeros will require around 2Δ invocations of the primitive (so e.g., compressing by 20 bits already requires around a million invocations), in [2] interesting applications are identified where this can make a big difference, including in the context of the Ethereum blockchain, where saving a few bits to be stored on-chain can lead to significant savings. We discuss another application to proofs of space as used in the Chia network in the open problems Section 6.

While truncation puts extra burden on the evaluator (say, a signer), there’s no extra cost for the parties that use the output (say, verify the signature). Moreover [2] show that truncation preserves security in the bit security framework of [9]. Informally, a primitive has bit security κ, if every adversary who breaks the security with advantage ϵ must run in time 2κ⋅ϵ.

1.2 Time-Space Tradeoffs

While the preservation of bit security under truncation gives some confidence in this technique, it only considers a setting without precomputation. Unfortunately, truncation can decrease the security of primitives when the adversary is given some auxiliary input. Let us illustrate this considering the one-wayness of a permutation over n bits, which we’ll denote with f:[N]→[N] where N=2n. A random permutation f does have n bits of bit security, i.e., given a random y∈[N], finding x,f⁢(x)=y will require N/2 invocations to f in expectation. But given S bits of advice (that depend on f but not the challenge y), it’s possible to invert f using just T invocations whenever

S⋅T≥N⁢log⁡(N) (1)

The general idea is to compute and store values x0,xT,x2⁢T,… where xi=f⁢(xi−1). On challenge y one now applies f until one of the stored xi⋅T values is hit, and then continues to apply f to x(i−1)⁢T until one hits y. For functions the best space-time tradeoff are somewhat worse. For random functions an attack with

S2⋅T∈Θ⁢(N2⁢log⁡(N))

is achieved by Hellman tables [7] or rainbow tables [8]. So, any permutation can be inverted with time and space, e.g. T=S≈N1/2 while random functions can be inverted with T=S≈N2/3 (for functions that are not random the existing bounds are somewhat worse [5]).

De, Trevisan and Tulsiani [4] (building on work by Yao [11], Gennaro-Trevisan [6] and Wee [10]) prove that the attack as in eq. (1) is basically optimal as any adversary who inverts a random permutation or function with a range of size N must satisfy

S⋅T∈Ω⁢(N) (2)

Note that the above is seemingly wrong if T=0 or S=0 as one can invert with no space but N queries or N⁢log⁡N space and no queries. The proof of the lower bound assumes adversary must always query f on its output, so T is at least 1, and S is assumed to be at least log⁡N which is required to store the challenge.

The same lower bound applies for random functions, though note that in this case it’s not matching the upper bound. The actual lower bound is slightly more general showing that S⋅T∈Ω⁢(ϵ⋅N) must hold for any adversary who inverts with some probability ϵ, but for this introduction we assume ϵ is some constant.

1.3 Time-Space Tradeoffs with Truncation

Now consider the truncated setting, where we have a random function or permutation f:[N]→[N], but must only invert it on outputs sampled from some truncated range, say where the first Δ bits are set to zero. We’ll denote this range with [δ⁢N] where δ=2−Δ.

Now one can store the δ⁢N preimages of f on [δ⁢N] using S=δ⁢N⁢log⁡N bits, and using this advice, it’s possible to find the preimage x,f⁢(x)=y for any y∈[δ⁢N] without invoking f at all. As outlined above, this means T=1, but it still contradicts the lower-bound from eq. (2) as δ⁢N⁢log⁡N∉Ω⁢(N) for δ∈o⁢(1/log⁡N).

The main result in this work is Theorem 4, which basically states that the issue just described is the only reason for the lower bound to fail: as long as S is too small to basically store the entire function table of the truncated function, the S⋅T∈Ω⁢(N) lower bound applies. While we state and prove the bound for functions, it can easily be adapted to permutations. We discuss other truncated primitive in the open problems Section 6.

The technical result implying Theorem 4 is stated in Lemma 5. It uses a so-called compression argument: it shows how an adversary that inverts a random function f can be turned into an encoding for the function table of f, where the length of the encoding depends on the space and time efficiency of the adversary. As the function table of a random function is incompressible, as stated in Fact 1, we can derive a lower bound on the space and time complexity of the adversary.

1.4 The Compression Argument

The starting point for proving the Lemma is a proof of the S⋅T≥N⁢log⁡N lower bound for inverting random functions from [1]. This proof is less elegant than the proof of De et al. from [4], which uses a high level argument about sets, while [1] provide pseudocode of the encoding and argue about the length of its output.

Their encoding is basically Algorithm 1 in this paper for δ=1. It takes as input an adversary 𝒜 who is guaranteed to invert some function f:[N]→[N] on an ϵ fraction of the range and making no more than T queries.

𝒜 is then invoked on some challenges, and every time 𝒜 inverts a challenge we get one entry in the function table “for free”. With every invocation, 𝒜 can make up to T queries to f, and those queries can later no longer be used as challenges, i.e., we “spoil” up to T of the ϵ⋅N challenges with every succesful inversion. Overall we can get 𝒜 to invert something in the order of ϵ⋅N/T challenges before running out of unspoiled challenges, and thus get an encoding that is around ϵ⋅N/T bits shorter than the function table. As a random function is incompressible, this then implies that the advice used by 𝒜 must be around S⪆ϵ⋅N/T. That’s how the S⋅T∈Ω⁢(ϵ⋅N) lower bound in [1] is proven.

In the truncated setting when δ≪1, 𝒜 is only guaranteed to invert on an ϵ fraction of the sparse domain [δ⁢N], and the above argument would only gives us a S⪆δ⋅ϵ⋅N/T bound.

A key observation is the fact that we get a S⪆ϵ⋅N/T lower bound even in the truncated case if we assume that not much more than a δ fraction of the queries made by 𝒜 map to the sparse [δ⋅N] domain, as then each compressed entry only spoils around δ⋅T of the [ϵ⁢N] available challenges.

To prove our lemma we now make a case distinction. If for every compressed value we typically do not spoil more than Tg≤12⁢δ⁢T potential challenges, we use the observation above, so in this case we use basically the same argument as in [1].

In the other case the queries made by 𝒜 fall into the sparse [δ⁢N] set at least 12 times more often than a random query would. Knowing that the output f⁢(x) on a query x is in [δ⁢N] means we can encode it using just log⁡N−log⁡1/δ bits. We will encode the positions of the queries made by 𝒜 that fall into [δ⁢N] (there are around ϵ⁢δ⁢N such queries) and then encode each output using just log⁡N−log⁡1/δ bits. As the queries that fall into [δ⁢N] are sufficiently dense (i.e., 12 times denser than a random query would), encoding those positions uses a bit less per entry than the log⁡1/δ bits we save knowing the entry is in [δ⁢N]. So overall we save ϵ⁢δ⁢N bits, and thus for this case can conclude (again using the incompressibility of a random function table) that the space used by 𝒜 must be at least S⪆ϵ⁢δ⁢N.

2 Notation and Basic Facts

We use brackets like (x1,x2,…) or {x1,x2,…} to denote ordered sets (aka. lists) and unordered sets, respectively. [N] denotes some domain of size N, and for notational convenience we assume N=2n is a power of two and identify [N] with {0,1}n. For some Δ≤n and δ=2−Δ, we’ll denote with [δ⁢N] some subset of [N] of size δ⁢N (the truncated range), say 0Δ∥{0,1}n−Δ, the set of n bits strings that start with Δ zeros, but in principle any subset whose elements can be compressed to (not much more than) n−Δ bits will do.

For a function f:[N]→[M] and a set S⊆[N], we denote with f⁢(S) the set {f⁢(S⁢[1]),…,f⁢(S⁢[|S|])}, similarly for a list L⊆[N], f⁢(L) is the list (f⁢(L⁢[1]),…,f⁢(L⁢[|L|])).

Randomized adversaries are treated as if they were deterministic. However, this is w.l.o.g. as they are only invoked within encoding/decoding procedures that have access to a shared randomness that can be used to derandomize them.

The following well known fact captures the fact that one cannot compress a random string.

Fact 1 (from [4]).

For any randomized encoding procedure 𝖤𝗇𝖼:{0,1}r×{0,1}n→{0,1}m and decoding procedure 𝖣𝖾𝖼:{0,1}r×{0,1}m→{0,1}n where

Prx←{0,1}n,r←U|r|⁡[𝖣𝖾𝖼⁢(r,𝖤𝗇𝖼⁢(r,x))=x]≥δ

we have m≥n−log⁡(1/δ)

Fact 2.

If a set X is at least ϵ dense in Y, i.e., X⊂Y,|X|≥ϵ⁢|Y|, and Y is known, then X can be encoded using |X|⋅log⁡(e/ϵ) additional bits.

This fact follows from the inequality (nϵ⁢n)≤(e⁢n/ϵ⁢n)ϵ⁢n, which implies log⁡(nϵ⁢n)≤ϵ⁢n⁢log⁡(e/ϵ). Encoding X can be done by identifying which ϵ⁢|Y| elements to choose from Y.

3 Main Theorem and Lemma

De, Trevisan and Tulsiani [4] show that the simple time-space tradeoff eq. (1) for inverting permutations is basically tight.

Theorem 3 ([4], as stated in [1]).

Fix some ϵ≥0 and an oracle algorithm 𝒜𝖺𝗎𝗑 that takes an advice string 𝖺𝗎𝗑 of length |𝖺𝗎𝗑|=S and makes at most T oracle queries. If with non-neglibile probability for a random function (or permutation) f:[N]→[N] there exists a string 𝖺𝗎𝗑 such that

Pry←[N]⁡[f⁢(𝒜𝖺𝗎𝗑f⁢(y))=y]≥ϵ

then

T⋅S∈Ω⁢(ϵ⁢N). (3)

In this work we show that this result extends to the case where the challenge comes from a sparse set [δ⁢N]

Theorem 4 (main).

Fix some ϵ≥0 and an oracle algorithm 𝒜𝖺𝗎𝗑 that takes an advice string 𝖺𝗎𝗑 of length |𝖺𝗎𝗑|=S and makes at most T oracle queries. If with non-neglibile probability for a random function (or permutation) f:[N]→[N] there exists a string 𝖺𝗎𝗑 such that

Pry←[δ⁢N]⁡[f⁢(𝒜𝖺𝗎𝗑f⁢(y))=y]≥ϵ

then either

S∈Ω⁢(δ⁢ϵ⁢N)orT⋅S∈Ω⁢(ϵ⁢N). (4)

The theorem is proven using a compression argument as stated in the following lemma.

Lemma 5 (generalized version of a Lemma from [1]).

Let 𝒜𝖺𝗎𝗑,T,S,ϵ and f be as Theorem 4, and assume T≤δ⁢ϵ⁢N/40. There are randomized encoding and decoding procedures 𝖤𝗇𝖼,𝖣𝖾𝖼 such that if f:[N]→[N] is a function and for some 𝖺𝗎𝗑,|𝖺𝗎𝗑|=S

Pry←[δ⁢N]⁡[f⁢(𝒜𝖺𝗎𝗑f⁢(y))=y]≥ϵ

then

Prr←U|r|⁡[𝖣𝖾𝖼⁢(r,𝖤𝗇𝖼⁢(r,𝖺𝗎𝗑,f))=f]≥0.9 (5)

and the length of 𝖤𝗇𝖼⁢(r,𝖺𝗎𝗑,f) is at most

N⁢log⁡N⏟=|f|−ϵ⁢δ⁢N2⁢Tg+S+log⁡(N) (6)

Moreover for some Tg,1≤Tg≤T which is defined by the encoding algorithm: if Tg≥12⁢δ⁢T, we can improve the length of the encoding to

N⁢log⁡N⏟=|f|−ϵ⁢δ⁢N2⁢Tg+S+log⁡(N)−δ⁢ϵ⁢N (7)

The Tg above is the average number of f queries that land in the sparse set (i.e., x s.t. f⁢(x)∈[δ⁢N]) that 𝒜𝖺𝗎𝗑f (when invoked by 𝖤𝗇𝖼 as defined by Algorithm 1 below) makes for every value it inverts. As 𝒜 makes at most T queries per challenge we have Tg≤T. For a random query x∈[N] we have f⁢(x)∈[δ⁢N] with probability δ, so if Tg is significantly larger than δ⁢T, this means that the queries made by 𝒜𝖺𝗎𝗑 are special in the sense that they map to [δ⁢N] much more often than random queries would. We use this crucial observation for a case distinction, deriving the left or the right hand side of eq. (4), depending on whether Tg is below or above 12⁢δ⁢T.

4 How Theorem 4 follows from Lemma 5

4.1 Proof of Thm. 4 if 𝑻𝒈≤𝟏𝟐⁢𝜹⁢𝑻

If Tg≤12⁢δ⁢T, the theorem follows from Lemma 5 using Fact 1 as follows: assume the function table of f in the lemma is chosen uniformly at random (i.e., x in Fact 1 is a uniform N⁢log⁡N bit string), then the term in eq. (6) can be lower bounded as

N⁢log⁡N⏟=|f|−ϵ⁢δ⁢N2⁢Tg+S+log⁡(N)≥N⁢log⁡N−log⁡(1/0.9).

Reordering we get

S≥ϵ⁢δ⁢N2⁢Tg−log⁡(N)−log⁡(1/0.9)

using our assumption that Tg≤12⁢δ⁢T

S≥ϵ⁢N24⁢T−log⁡(N)−log⁡(1/0.9)
T⋅S≥ϵ⁢N24−T⋅log⁡(N)−T⋅log⁡(1/0.9).

So T⋅S∈Ω⁢(ϵ⁢N) as claimed (on the rhs of eq. (4) in the Theorem). Note that the extra assumption that T≤ϵ⁢N/40 in the lemma doesn’t matter, as if it’s not satisfied the theorem is trivially true.

4.2 Proof of Thm. 4 if 𝑻𝒈>𝟏𝟐⁢𝜹⁢𝑻

If Tg>12⁢δ⁢T, the theorem again follows from Lemma 5 using Fact 1, i.e., we again assume the function table of f in the lemma is chosen uniformly at random (i.e., x in Fact 1 is a uniform N⁢log⁡N bit string), and now the term in eq. (7) can be lower bounded as

N⁢log⁡N⏟=|f|−ϵ⁢δ⁢N2⁢Tg+S+log⁡(N)−δ⁢ϵ⁢N≥N⁢log⁡N−log⁡(1/0.9).

Note that, as in this case we use eq. (7) rather than eq. (6), we have an extra −δ⁢ϵ⁢N term on the lhs. Reordering we get

S≥ϵ⁢δ⁢N2⁢Tg−log⁡(N)−log⁡(1/0.9)+δ⁢ϵ⁢N

and thus S∈Ω⁢(δ⁢ϵ⁢N) as claimed.

5 Proof of Lemma 5

We always assume that if A𝖺𝗎𝗑f⁢(y) outputs some value x, it makes the query f⁢(x) at some point. This is basically w.l.o.g. as we can turn any adversary into one satisfying this by making at most one extra query. If at some point A𝖺𝗎𝗑f⁢(y) makes an oracle query x where f⁢(x)=y, then we also w.l.o.g. assume that right after this query A outputs x and stops.

Algorithm 1 Enc.
Algorithm 2 Dec.

5.1 The Size of the Encoding

We will now upper bound the size of the encoding of G,f⁢(Q′),(|q1|,…,|q|G||),f⁢([N]−{G−1∪Q′}) as output in line (15) of the 𝖤𝗇𝖼 algorithm.

Let Tg:=|B|/|G| be the average number of elements we added to the bad set B for every element added to the good set G, then

|G|≥N⁢ϵ⁢δ/2⁢Tg. (8)

To see this we note that when we leave the while loop (see line (8) of the algorithm 𝖤𝗇𝖼) it holds that

|B|≥|J|/2=ϵ⁢δ⁢N/2⁢ so ⁢|G|=|B|/Tg≥|J|/2⁢Tg=N⁢ϵ⁢δ/2⁢Tg (9)
G:

Instead of G we will actually encode the set π−1⁢(G)={c1,…,c|G|}, from this encoding 𝖣𝖾𝖼 (who gets r, and thus knows π) can then reconstruct G=π⁢(π−1⁢(G)). We claim that the elements in c1<c2<…<c|G| are whp. at least ϵ⁢δ/2 dense in [c|G|] (equivalently, c|G|≤2⁢|G|/ϵ⁢δ). By Fact 2 we can thus encode π−1⁢(G) using |G|⁢log⁡(2⁢e/ϵ⁢δ)+log⁡N bits (the extra log⁡N bits are used to encode the size of G which is required so decoding later knows how to parse the encoding). To see that the ci’s are ϵ⁢δ/2 dense whp. consider line (9) in 𝖤𝗇𝖼 which states c:=min⁡{c′>c:yc′∈{J∖B}}. If we replace J∖B with J, then the ci’s would be whp. close to ϵ⁢δ dense in [N] as J⊂N has size ϵ⁢δ⁢N and the yi are uniformly random. As |B|<|J|/2, using J∖B instead of J will decrease the density by at most a factor 2. If we don’t have this density, i.e., c|G|>2⁢|G|/ϵ⁢δ, we consider encoding to have failed.

(|q1′|,…,|q|G|′|):

Require |G|⁢log⁡T bits as each qi′≤qi≤T. A more careful argument (using Fact 2 and that the qi′ are on average at most Tg) requires |G|⁢log⁡(e⁢Tg) bits.

f⁢([N]−{G−1∪Q′}):

Requires (N−|G|−|Q′|)⁢log⁡N bits (using that G−1∩Q′=∅ and |G−1|=|G|).

𝖺𝗎𝗑:

Is S bits long.

f⁢(Q′):

This is a list of |Q′| elements in [N] and can be encoded using |Q′|⁢log⁡N bits, but we’ll encode it with less if Tg is large.

Summing up we get

|𝖤𝗇𝖼⁢(r,𝖺𝗎𝗑,f)|
= |G|⁢log⁡(2⁢e/ϵ⁢δ)+log⁡N⏟encoding of ⁢G+|Q′|⁢log⁡N⏟f⁢(Q′)+|G|⁢log⁡(e⁢Tg)⏟(|q1′|,…,|q|G|′|)+(N−|G|−|Q′|)⁢log⁡N⏟f⁢([N]−{G−1∪Q′})+S⏟𝖺𝗎𝗑
= |G|⁢log⁡(2⁢e2⁢Tg/ϵ⁢δ)+(N−|G|−|Q′|)⁢log⁡N+|Q′|⁢log⁡N+S+log⁡N.

Using the assumption Tg≤T≤ϵ⁢δ⁢N/40 in the statement of the lemma, which in turn implies log⁡(2⁢e2⁢Tg/ϵ⁢δ)≤log⁡(N)−1, we get

≤ |G|⁢(log⁡N−1)+(N−|G|−|Q′|)⁢log⁡N+|Q′|⁢log⁡N+S+log⁡N
= (N−|Q′|)⁢log⁡N+|Q′|⁢log⁡(N)−|G|+S+log⁡N
= N⁢log⁡N−|G|+S+log⁡N

Plugging in the bound from eq. (8) for |G| we get

|𝖤𝗇𝖼⁢(r,𝖺𝗎𝗑,f)|≤N⁢log⁡N−N⁢δ⁢ϵ2⁢Tg+S+log⁡N

proving eq. (6) in the Lemma.

5.2 Improved bound if 𝑻𝒈>𝟏𝟐⁢𝜹⁢𝑻

We’ll now prove a bound on the length of the encoding as stated in eq. (7) in the lemma. Here we assume that Tg is large, i.e., Tg>12⁢δ⁢T. The bound on the length of the encoding improves the expression we got without this assumption, i.e., eq. (6), by δ⁢ϵ⁢N bits. We will achieve this by improving the length of the encoding of f⁢(Q′) from the trivial |Q′|⁢log⁡(N) to |Q′|⁢log⁡(N)−δ⁢ϵ⁢N by exploiting the fact that now a large fraction of the elements in f⁢(Q′) falls into the sparse set [δ⁢N], i.e.,

Claim 6.

If Tg>12⁢δ⁢T, f⁢(Q′) can be encoded using |Q′|⁢log⁡N−δ⁢ϵ⁢N bits.

With this claim we can improve eq. (5.1) to (N−|Q′|)⁢log⁡N+|Q′|⁢log⁡(N)−|G|+S+log⁡N, which now gives eq. (7) from the Lemma.

It remains to prove the claim. By eq. (8) and eq. (9) |G|≥δ⁢ϵ⁢N/2⁢Tg, |Q′|≤T⋅|G| and |B|≥δ⁢ϵ⁢N/2, which implies

|B|/|Q′|≥δ⁢ϵ⁢N/2⁢T⋅|G|≥Tg/T≥12⁢δ

I.e., a 12⁢δ fraction of the queries made during decoding falls into B⊂[δ⁢N]. Using this with Fact 2 we can encode which of the |B| queries from Q′ map into B using |B|⁢log⁡(e/12⁢δ) bits. For any x∈B, we can encode f⁢(x) using log⁡(N)−log⁡(1/δ) bits as f⁢(x)∈[δ⁢N].

We can now encode f⁢(Q′) by first encoding the positions of B in Q′, and then f⁢(B) and f⁢(Q′∖B) separately, which requires

(|Q′|−|B|)⁢log⁡N+|B|⁢(log⁡(e/10⁢δ)+log⁡(N)−log⁡(1/δ))
= |Q′|⁢log⁡N+|B|⁢log⁡(e/12)
≤ |Q′|⁢log⁡N−|B|⋅2
≤ |Q′|⁢log⁡N−δ⁢ϵ⁢N

bits as claimed.

6 Conclusion and Open Problems

In this work we showed that the known time-space tradeoff S⋅T≥N for inverting random functions or permutations f:[N]→[N] also holds for truncated outputs almost up to the point where S is big enough to store the entire truncated function table. This shows that the general idea of truncating cryptographic primitives as suggested in [2] is secure even when preprocessing is considered (as long as the truncated function table is big enough so it can’t be stored in practice).

While in this paper we only considered one-wayness of random functions, we believe that our result can be adapted to time-space lower bounds for other primitives, showing the bounds apply also for their truncated analogues. An interesting example considered in [2] is the discrete logarithm problem, for which a S⋅T2≥N time-space lower bound is known [3].

A likely more challenging but particularly interesting case is the adaption of the “beyond Hellman” proofs of space from [1] to the truncated setting. The key primitive in [1] are functions [N]→[N] for which a time-space lower bound of Sk⋅T≥Nk (for any constant k) can be proven. This improves on the S⋅T≥N lower bound for “normal” functions, and the reason this doesn’t contradict known upper bounds (by rainbow tables) is the fact that those functions cannot be efficiently evaluated in forward direction (but their entire function table can be computed in time N). A proof that truncation is secure for these functions would allow for better security. Currently those functions are deployed in the proof of space underlying the chia.net blockchain, but there’s a trade-off that farmers (who are supposed to dedicate space analogous to miners dedicating computation in Bitcoin) can make: by dropping a few bits of every entry, they save space at the cost of having to do some extra computation when computing the proofs111https://github.com/Chia-Network/drplotter. One could use a truncated version of those functions, which would make the initialization of the space for the farmers somewhat more costly, but it would make such “bit dropping” attacks much less attractive.

References

  • [1] Hamza Abusalah, Joël Alwen, Bram Cohen, Danylo Khilko, Krzysztof Pietrzak, and Leonid Reyzin. Beyond hellman’s time-memory trade-offs with applications to proofs of space. In Tsuyoshi Takagi and Thomas Peyrin, editors, ASIACRYPT 2017, Part II, volume 10625 of LNCS, pages 357–379. Springer, Heidelberg, December 2017. doi:10.1007/978-3-319-70697-9_13.
  • [2] Foteini Baldimtsi, Konstantinos Chalkias, Panagiotis Chatzigiannis, and Mahimna Kelkar. Truncator: Time-space tradeoff of cryptographic primitives. Cryptology ePrint Archive, Paper 2022/1581, 2022. URL: https://eprint.iacr.org/2022/1581.
  • [3] Henry Corrigan-Gibbs and Dmitry Kogan. The discrete-logarithm problem with preprocessing. In Jesper Buus Nielsen and Vincent Rijmen, editors, Advances in Cryptology – EUROCRYPT 2018 – 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, April 29 – May 3, 2018 Proceedings, Part II, volume 10821 of Lecture Notes in Computer Science, pages 415–447. Springer, 2018. doi:10.1007/978-3-319-78375-8_14.
  • [4] Anindya De, Luca Trevisan, and Madhur Tulsiani. Time space tradeoffs for attacks against one-way functions and PRGs. In Tal Rabin, editor, CRYPTO 2010, volume 6223 of LNCS, pages 649–665. Springer, Heidelberg, August 2010. doi:10.1007/978-3-642-14623-7_35.
  • [5] Amos Fiat and Moni Naor. Rigorous time/space tradeoffs for inverting functions. In Cris Koutsougeras and Jeffrey Scott Vitter, editors, Proceedings of the 23rd Annual ACM Symposium on Theory of Computing, May 5-8, 1991, New Orleans, Louisiana, USA, pages 534–541. ACM, 1991. doi:10.1145/103418.103473.
  • [6] Rosario Gennaro and Luca Trevisan. Lower bounds on the efficiency of generic cryptographic constructions. In 41st FOCS, pages 305–313. IEEE Computer Society Press, November 2000. doi:10.1109/SFCS.2000.892119.
  • [7] Martin E. Hellman. A cryptanalytic time-memory trade-off. IEEE Trans. Inf. Theory, 26(4):401–406, 1980. doi:10.1109/TIT.1980.1056220.
  • [8] Philippe Oechslin. Making a faster cryptanalytic time-memory trade-off. In Dan Boneh, editor, Advances in Cryptology – CRYPTO 2003, 23rd Annual International Cryptology Conference, Santa Barbara, California, USA, August 17-21, 2003, Proceedings, volume 2729 of Lecture Notes in Computer Science, pages 617–630. Springer, 2003. doi:10.1007/978-3-540-45146-4_36.
  • [9] Shun Watanabe and Kenji Yasunaga. Bit security as computational cost for winning games with high probability. In Mehdi Tibouchi and Huaxiong Wang, editors, Advances in Cryptology – ASIACRYPT 2021 – 27th International Conference on the Theory and Application of Cryptology and Information Security, Singapore, December 6-10, 2021, Proceedings, Part III, volume 13092 of Lecture Notes in Computer Science, pages 161–188. Springer, 2021. doi:10.1007/978-3-030-92078-4_6.
  • [10] Hoeteck Wee. On obfuscating point functions. In Harold N. Gabow and Ronald Fagin, editors, 37th ACM STOC, pages 523–532. ACM Press, May 2005. doi:10.1145/1060590.1060669.
  • [11] Andrew Chi-Chih Yao. Coherent functions and program checkers (extended abstract). In 22nd ACM STOC, pages 84–94. ACM Press, May 1990. doi:10.1145/100216.100226.