arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:1810.00106v2 [cs.CR] 20 Mar 2019

Expander Graphs are Non-Malleable Codes

Peter M. R. Rasmussen Thanks: University of Copenhagen and Basic Algorithms Research Copenhagen. pmrr@di.ku.dk.    Amit Sahai Thanks: UCLA. sahai@cs.ucla.edu
August 11, 2026
Abstract

Any dd-regular graph on nn vertices with spectral expansion λ\lambda satisfying n=Ω(d3log(d)/λ)n=\Omega(d^{3}\log(d)/\lambda) yields a O(λ3/2d)O\left(\frac{\lambda^{3/2}}{d}\right)-non-malleable code for single-bit messages in the split-state model.

1 Introduction

A split-state non-malleable code [DPW10] for single-bit messages consists of randomized encoding and decoding algorithms (enc,dec)(\enc,\dec). A message m{0,1}m\in\{0,1\} is encoded as a pair of strings (L,R){0,1}k×{0,1}k(L,R)\in\{0,1\}^{k}\times\{0,1\}^{k}, such that dec(L,R)=m\dec(L,R)=m. An adversary then specifies an arbitrary pair of functions g,h:{0,1}k{0,1}kg,h:\{0,1\}^{k}\rightarrow\{0,1\}^{k}. The code is said to be non-malleable if, intuitively, the message obtained as dec(g(L),h(R))\dec(g(L),h(R)) is “unrelated” to the original message mm. In particular, to be ε\varepsilon-non-malleable, it is enough [DKO13] to guarantee that when the message mm is chosen uniformly at random and encoded into (L,R)(L,R), the probability that dec(g(L),h(R))=1m\dec(g(L),h(R))=1-m is at most 12+ε\frac{1}{2}+\varepsilon. Since their introduction in 2010 [DPW10], split-state non-malleable codes have been the subject of intense study within theoretical computer science [DPW10, DKO13, ADL14, CZ14, CGL16, Li17].

In this work, we show that expander graphs immediately give rise to split-state non-malleable codes for single-bit messages. Specifically, we show that any dd-regular graph on n=2kn=2^{k} nodes with spectral expansion λ\lambda satisfying n=Ω(d3log(d)/λ)n=\Omega(d^{3}\log(d)/\lambda) yields a O(λ3/2d)O\left(\frac{\lambda^{3/2}}{d}\right)-non-malleable code for single-bit messages in the split-state model. Our proof is elementary, requiring a little more than two (fullsize) pages to prove, having at its heart two nested applications of the Expander Mixing Lemma. Furthermore, we only need expanders of high degree (e.g., d=nεd=n^{\varepsilon}), which can be constructed and analyzed easily (see, e.g., [Tre] or the appendix), yielding 2Ω(k)2^{-\Omega(k)}-non-malleable codes.

Comparison with Previous Work.

Until our work, all known proofs of security for explicit split-state non-malleable codes have required complex mathematical proofs, and all known such proofs either directly or indirectly used the mathematics behind constructions of two-source extractors [DKO13, ADL14, CZ14, CGL16, Li17]. In fact, after constructing the first non-malleable code in the split-state model Dziembowski, Kazana, and Obremski wrote: “This brings a natural question if we could show some relationship between the extractors and the non-malleable codes in the split-state model. Unfortunately, there is no obvious way of formalizing the conjecture that non-malleable codes need to be based on extractors” [DKO13]. We thus simultaneously find the first simple, elementary solution to the problem of designing single-bit non-malleable codes (our proof being approximately one-third the length of the proof of security of the single-bit non-malleable code of [DKO13]) and answer in the negative the implicit conjecture of [DKO13]; it is not necessary to base constructions of non-malleable codes on the theory of extractors.

Our construction of non-malleable codes from expander graphs thus opens up a new line of attack in the study of split-state non-malleable codes. It is important to keep in mind that current constructions of non-malleable codes supporting messages of arbitrary length use many ideas pioneered in the construction of [DKO13], in particular the use of extractors. While we do not yet know how to generalize our results beyond single-bit messages, we speculate that further investigation building upon our work will reveal a deeper connection and more powerful simple constructions based on expanders.

It should be noted that two-source extractors are well-known to exhibit expansion properties; however, in all previous proofs, much more than mere expansion was used to argue non-malleability. Indeed previous proofs apply extractors repeatedly; for instance the proof of [DKO13] uses the extractor property several times (e.g., in equation (22) and using equation (43) in [DKO13]). Previous proofs also highlight the nontriviality and care that is required in applying extractors correctly to yield a valid proof of non-malleability (e.g., the paragraph beginning with “There are two problems with the above argument.” found below equation (36) of [DKO13]). With respect to the expansion properties of two-source extractors, it is not surprising that 1-bit non-malleable codes will have some sort of expansion properties. Our contribution is the converse: that good expansion is sufficient for the construction of non-malleable codes.

2 Preliminaries

We shall assume familiarity with the basics of codes and non-malleable codes. A cursory review of relevant definitions can be found in the appendix.

Notation 1 (Graphs).

A graph G=(V,E)G=(V,E) consists of vertices VV and edges EV×VE\subset V\times V. In this exposition every graph is undirected and n=|V|n=\left|V\right| always denotes the number of vertices of the graph in question.

  • For any vVv\in V we denote by N(v)N(v) the set of neighbors of vv in GG.

  • For any two subsets S,TVS,T\subseteq V we denote by E(S,T)E(S,T) the set of (directed) edges from SS to TT in GG. I.e. E(S,T)={(v,u)S×T(v,u)E}E(S,T)=\{(v,u)\in S\times T\mid(v,u)\in E\}.

Definition 1 (Spectral Expander).

Let G=(V,E)G=(V,E) be a dd-regular graph, AGA_{G} be its adjacency matrix, and λ1λn\lambda_{1}\geq\dots\geq\lambda_{n} be the eigenvalues of AGA_{G}. We say that GG is a λ\lambda spectral expander if λmax{|λ2|,,|λn|}\lambda\geq\max\{\left|\lambda_{2}\right|,\dots,\left|\lambda_{n}\right|\}.

Theorem 2 (Expander Mixing Lemma).

Suppose that G=(V,E)G=(V,E) is a λ\lambda spectral expander. Then for every pair of subsets S,TVS,T\subset V we have

||E(S,T)|d|S||T|n|λ|S||T|.\displaystyle\left|\left|E(S,T)\right|-\frac{d\cdot\left|S\right|\cdot\left|T\right|}{n}\right|\leq\lambda\sqrt{\left|S\right|\cdot\left|T\right|}.

Our results will rely on the following characterization of 1-bit non-malleable codes by Dziembowski, Kazana, and Obremski found in [DKO13].

Theorem 3.

Let (enc,dec)(\enc,\dec) be a coding scheme with enc:{0,1}𝒳\enc\colon\{0,1\}\to\mathcal{X} and dec:𝒳{0,1}\dec\colon\mathcal{X}\to\{0,1\}. Further, let \mathcal{F} be a set of functions f:𝒳𝒳f\colon\mathcal{X}\to\mathcal{X}. Then (enc,dec)(\enc,\dec) is ε\varepsilon-non-malleable with respect to \mathcal{F} if and only if for every ff\in\mathcal{F},

Prb𝑢{0,1}(dec(f(enc(b)))=1b)12+ε,\displaystyle\Pr_{b\xleftarrow{u}\{0,1\}}(\dec(f(\enc(b)))=1-b)\leq\frac{1}{2}+\varepsilon,

where the probability is over the uniform choice of bb and the randomness of enc\enc.

3 Results

We first formally introduce our candidate code and then prove that it is a non-malleable code.

3.1 Candidate Code

From a graph we can very naturally construct a coding scheme as follows.

Definition 4 (Graph Code).

Let G=(V,E)G=(V,E) be a graph. The associated graph code, (encG,decG)(\enc_{G},\dec_{G}), consists of the functions

encG\displaystyle\enc_{G} :{0,1}V×V,\displaystyle\colon\{0,1\}\to V\times V, decG\displaystyle\dec_{G} :V×V{0,1}\displaystyle\colon V\times V\to\{0,1\}

which are randomized and deterministic, respectively, and given by

encG(b)\displaystyle\enc_{G}(b) ={(u,v)𝑢(V×V)E,b=0,(u,v)𝑢E,b=1,\displaystyle=\begin{cases}(u,v)\xleftarrow{u}(V\times V)\setminus E,&b=0,\\ (u,v)\xleftarrow{u}E,&b=1,\end{cases}
decG(v1,v2)\displaystyle\dec_{G}(v_{1},v_{2}) ={0,(v1,v2)E,1,(v1,v2)E.\displaystyle=\begin{cases}0,&(v_{1},v_{2})\not\in E,\\ 1,&(v_{1},v_{2})\in E.\end{cases}

3.2 Non-Malleability of Expander Graph Codes

Finally, arriving at the core of the matter, we first establish the following lemma casting the expression of Theorem 3 in terms of graph properties.

Proposition 5.

Let G=(V,E)G=(V,E) be a graph, functions g,h:VVg,h\colon V\to V be given, and f=(g,h):V×VV×Vf=(g,h)\colon V\times V\to V\times V satisfy f(u,v)=(g(u),h(v))f(u,v)=(g(u),h(v)). For the probability that ff flips a random bit encoded by encG\enc_{G}, write

T=Prb𝑢{0,1}(decG(f(encG(b)))=1b)T=\Pr_{b\xleftarrow{u}\{0,1\}}(\dec_{G}(f(\enc_{G}(b)))=1-b)

where the probability is taken over the randomness of encG\enc_{G} and the sampling of bb. Then

T\displaystyle T =12+12d(nd)(v,u)E(d|g1(v)||h1(u)|n|E(g1(v),h1(u))|).\displaystyle=\frac{1}{2}+\frac{1}{2d(n-d)}\sum_{(v,u)\in E}\left(\frac{d\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|}{n}-\left|E(g^{-1}(v),h^{-1}(u))\right|\right).
Proof.

For b{0,1}b\in\{0,1\} denote by QbQ_{b} the probability

Qb=Pr(decG(f(encG(b)))=1b)Q_{b}=\Pr(\dec_{G}(f(\enc_{G}(b)))=1-b)

taken over the randomness of encG\enc_{G}. It is clear that T=Q0+Q12T=\frac{Q_{0}+Q_{1}}{2} and that by definition

Q0\displaystyle Q_{0} =Pr(v,u)𝑢V×VE[(g(v),h(u))E],\displaystyle=\Pr_{(v,u)\xleftarrow{u}V\times V\setminus E}\left[(g(v),h(u))\in E\right], Q1\displaystyle Q_{1} =Pr(v,u)𝑢E[(g(v),h(u))E].\displaystyle=\Pr_{(v,u)\xleftarrow{u}E}\left[(g(v),h(u))\not\in E\right].

First, for b=0b=0 we see that the number of non-edges that are mapped by ff to any given (v,u)E(v,u)\in E is given by |g1(v)||h1(u)||E(g1(v),h1(u))|\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|-\left|E(g^{-1}(v),h^{-1}(u))\right|. There are n(nd)n(n-d) non-edges in GG so it follows that

Q0=(v,u)E|g1(v)||h1(u)||E(g1(v),h1(u))|n(nd).\displaystyle Q_{0}=\frac{\sum_{(v,u)\in E}\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|-\left|E(g^{-1}(v),h^{-1}(u))\right|}{n(n-d)}.

Second, for b=1b=1 the number of edges of GG that are mapped to non-edges by ff is given by (v,u)E|E(g1(v),h1(u))|\sum_{(v,u)\not\in E}\left|E(g^{-1}(v),h^{-1}(u))\right|. Since there are dndn edges of GG to choose from when encoding the bit b=1b=1,

Q1=(v,u)E|E(g1(v),h1(u))|dn.\displaystyle Q_{1}=\frac{\sum_{(v,u)\not\in E}\left|E(g^{-1}(v),h^{-1}(u))\right|}{dn}.

Now, observing that the number of (directed) edges in the graph is dndn and that {g1(v)}vV\{g^{-1}(v)\}_{v\in V} and {h1(u)}uV\{h^{-1}(u)\}_{u\in V} are both partitions of VV, we get

Q1\displaystyle Q_{1} =dn(v,u)E|E(g1(v),h1(u))|dn=1(v,u)E|E(g1(v),h1(u))|dn.\displaystyle=\frac{dn-\sum_{(v,u)\in E}\left|E(g^{-1}(v),h^{-1}(u))\right|}{dn}=1-\frac{\sum_{(v,u)\in E}\left|E(g^{-1}(v),h^{-1}(u))\right|}{dn}.

Putting it all together,

T\displaystyle T =\displaystyle= (v,u)E|g1(v)||h1(u)||E(g1(v),h1(u))|2n(nd)+12(v,u)E|E(g1(v),h1(u))|2dn\displaystyle\frac{\sum_{(v,u)\in E}\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|-\left|E(g^{-1}(v),h^{-1}(u))\right|}{2n(n-d)}+\frac{1}{2}-\frac{\sum_{(v,u)\in E}\left|E(g^{-1}(v),h^{-1}(u))\right|}{2dn}
=\displaystyle= 12+12d(nd)(v,u)E(d|g1(v)||h1(u)|n|E(g1(v),h1(u))|).\displaystyle\frac{1}{2}+\frac{1}{2d(n-d)}\sum_{(v,u)\in E}\left(\frac{d\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|}{n}-\left|E(g^{-1}(v),h^{-1}(u))\right|\right).

We proceed immediately with the main theorem, which concludes the exposition. In order to keep this presentation short and to the point, more elaborate calculations, which save a few log\log-factors, have been placed in the appendix as Theorem 9.

Theorem 6.

Let G=(V,E)G=(V,E) be dd-regular with spectral expansion λ\lambda satisfying n=Ω(d3log(d)4/λ)n=\Omega(d^{3}\log(d)^{4}/\lambda). Then (encG,decG)(\enc_{G},\dec_{G}) is an O~(λ3/2d)\tilde{O}\left(\frac{\lambda^{3/2}}{d}\right)-non-malleable code in the split-state model.

Proof.

Let f=(g,h):V×VV×Vf=(g,h)\colon V\times V\to V\times V be given. By Theorem 3 and Proposition 5 we just need to show that

R=12d(nd)(v,u)E(d|g1(v)||h1(u)|n|E(g1(v),h1(u))|)\displaystyle R=\frac{1}{2d(n-d)}\cdot\sum_{(v,u)\in E}\left(\frac{d\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|}{n}-\left|E(g^{-1}(v),h^{-1}(u))\right|\right)

is bounded by O~(λ3/2d)\tilde{O}\left(\frac{\lambda^{3/2}}{d}\right). Define the sets

G1\displaystyle G_{1} ={vV|g1(v)|>nd2},\displaystyle=\left\{v\in V\mid\left|g^{-1}(v)\right|>\frac{n}{d^{2}}\right\}, H1\displaystyle H_{1} ={uV|h1(u)|>nd2},\displaystyle=\left\{u\in V\mid\left|h^{-1}(u)\right|>\frac{n}{d^{2}}\right\},
G2\displaystyle G_{2} ={vV|g1(v)|nd2},\displaystyle=\left\{v\in V\mid\left|g^{-1}(v)\right|\leq\frac{n}{d^{2}}\right\}, H2\displaystyle H_{2} ={uV|h1(u)|nd2},\displaystyle=\left\{u\in V\mid\left|h^{-1}(u)\right|\leq\frac{n}{d^{2}}\right\},

for i,j{1,2}i,j\in\{1,2\} write

Ri,j=12d(nd)(v,u)E(Gi×Hj)(d|g1(v)||h1(u)|n|E(g1(v),h1(u))|),\displaystyle R_{i,j}=\frac{1}{2d(n-d)}\sum_{(v,u)\in E\cap(G_{i}\times H_{j})}\left(\frac{d\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|}{n}-\left|E(g^{-1}(v),h^{-1}(u))\right|\right),

and observe that R=1i,j2Ri,jR=\sum_{1\leq i,j\leq 2}R_{i,j}.

Consider the case when i=2i=2. Simply bounding the terms of the form |g1(v)||h1(u)|\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right| by using that each vertex has only dd neighbours, we get

R2,1+R2,2\displaystyle R_{2,1}+R_{2,2} 12n(nd)(v,u)E(G2×V)|g1(v)||h1(u)|\displaystyle\leq\frac{1}{2n(n-d)}\sum_{(v,u)\in E\cap(G_{2}\times V)}\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|
12n(nd)duVnd2|h1(u)|=n2(nd)d.\displaystyle\leq\frac{1}{2n(n-d)}\cdot d\cdot\sum_{u\in V}\frac{n}{d^{2}}\cdot\left|h^{-1}(u)\right|=\frac{n}{2(n-d)d}.

Thus, R2,1+R2,2=O(d1)R_{2,1}+R_{2,2}=O\left(d^{-1}\right). By symmetry, R1,2=O(d1)R_{1,2}=O\left(d^{-1}\right). It only remains to show that R1,1=O~(λ3/2d)R_{1,1}=\tilde{O}\left(\frac{\lambda^{3/2}}{d}\right). To this end, partition G1G_{1} and H1H_{1}, respectively, as

G1k\displaystyle G_{1}^{k} ={vG1n2k1|g1(v)|>n2k},\displaystyle=\left\{v\in G_{1}\mid\frac{n}{2^{k-1}}\geq\left|g^{-1}(v)\right|>\frac{n}{2^{k}}\right\}, H1l\displaystyle H_{1}^{l} ={vH1n2l1|h1(u)|>n2l}\displaystyle=\left\{v\in H_{1}\mid\frac{n}{2^{l-1}}\geq\left|h^{-1}(u)\right|>\frac{n}{2^{l}}\right\}

for 1k,llog2(d2)1\leq k,l\leq\left\lceil\log_{2}\left(d^{2}\right)\right\rceil. Now, focusing on each pair G1kG_{1}^{k} and H1lH_{1}^{l}, we write

Sk,l=12d(nd)(v,u)E(G1k×H1l)(d|g1(v)||h1(u)|n|E(g1(v),h1(u))|)\displaystyle S_{k,l}=\frac{1}{2d(n-d)}\sum_{(v,u)\in E\cap(G_{1}^{k}\times H_{1}^{l})}\left(\frac{d\left|g^{-1}(v)\right|\cdot\left|h^{-1}(u)\right|}{n}-\left|E(g^{-1}(v),h^{-1}(u))\right|\right)

and apply first the mixing lemma then the Cauchy-Schwartz inequality to get

2d(nd)Sk,l\displaystyle 2d(n-d)S_{k,l} =\displaystyle= vG1k(d|g1(v)|uN(v)H1l|h1(u)|n|E(g1(v),uN(v)H1lh1(u))|)\displaystyle\sum_{v\in G_{1}^{k}}\left(\frac{d\left|g^{-1}(v)\right|\cdot\sum_{u\in N(v)\cap H_{1}^{l}}\left|h^{-1}(u)\right|}{n}-\left|E\left(g^{-1}(v),\bigcup_{u\in N(v)\cap H_{1}^{l}}h^{-1}(u)\right)\right|\right)
\displaystyle\leq vG1kλ|g1(v)|uN(v)H1l|h1(u)|\displaystyle\sum_{v\in G_{1}^{k}}\lambda\sqrt{\left|g^{-1}(v)\right|\cdot\sum_{u\in N(v)\cap H_{1}^{l}}\left|h^{-1}(u)\right|}
\displaystyle\leq λn2k1n2l1vG1k|N(v)H1l|\displaystyle\lambda\sqrt{\frac{n}{2^{k-1}}\cdot\frac{n}{2^{l-1}}}\cdot\sum_{v\in G_{1}^{k}}\sqrt{\left|N(v)\cap H_{1}^{l}\right|}
\displaystyle\leq 2λn2l+k2|G1k||E(G1k,H1l)|.\displaystyle 2\lambda n\cdot 2^{-\frac{l+k}{2}}\cdot\sqrt{\left|G_{1}^{k}\right|}\cdot\sqrt{\left|E(G_{1}^{k},H_{1}^{l})\right|}.

We use the fact that |G1k|2k,|H1l|2l\left|G_{1}^{k}\right|\leq 2^{k},\left|H_{1}^{l}\right|\leq 2^{l}, apply the mixing lemma to the last factor, and wield Jensen’s inequality on the arising square root to obtain

d(nd)Sk,l\displaystyle d(n-d)S_{k,l} λn2l+k2|G1k|d|G1k||H1l|n+λ|G1k||H1l|\displaystyle\leq\lambda n\cdot 2^{-\frac{l+k}{2}}\cdot\sqrt{\left|G_{1}^{k}\right|}\cdot\sqrt{\frac{d\cdot\left|G_{1}^{k}\right|\cdot\left|H_{1}^{l}\right|}{n}+\lambda\sqrt{\left|G_{1}^{k}\right|\cdot\left|H_{1}^{l}\right|}}
λ2kdn+2kl4λ3/2nλd3n+2kl4λ3/2n.\displaystyle\leq\lambda\sqrt{2^{k}dn}+2^{\frac{k-l}{4}}\lambda^{3/2}n\leq\lambda\cdot\sqrt{d^{3}n}+2^{\frac{k-l}{4}}\lambda^{3/2}n.

By symmetry of kk and ll, d(nd)Sk,lλd3n+2lk4λ3/2nd(n-d)S_{k,l}\leq\lambda\cdot\sqrt{d^{3}n}+2^{\frac{l-k}{4}}\lambda^{3/2}n. Thus,

R1,1\displaystyle R_{1,1} =1k,llog2(d2)Sk,l\displaystyle=\sum_{1\leq k,l\leq\left\lceil\log_{2}(d^{2})\right\rceil}S_{k,l}
O(λlog(d)2dn)+O(λ3/2d)1k,llog2(d2)2|kl|4\displaystyle\leq O\left(\frac{\lambda\log(d)^{2}\cdot\sqrt{d}}{\sqrt{n}}\right)+O\left(\frac{\lambda^{3/2}}{d}\right)\cdot\sum_{1\leq k,l\leq\left\lceil\log_{2}(d^{2})\right\rceil}2^{-\frac{\left|k-l\right|}{4}}
=O(log(d)λ3/2d).\displaystyle=O\left(\frac{\log(d)\lambda^{3/2}}{d}\right).

Acknowledgements

A significant effort was made to simplify our proof as much as possible, which eventually resulted in the approximately 2-page proof of our main result presented here; we thank Anders Aamand and Jakob Bæk Tejs Knudsen for suggestions and insights regarding the main theorem that helped simplify and improve the results presented. Furthermore, we thank Aayush Jain, Yuval Ishai, and Dakshita Khurana for early discussions regarding simple constructions of split-state non-malleable codes not based on expander graphs.

Research supported in part from a DARPA/ARL SAFEWARE award, NSF Frontier Award 1413955, and NSF grant 1619348, BSF grant 2012378, a Xerox Faculty Research Award, a Google Faculty Research Award, an equipment grant from Intel, and an Okawa Foundation Research Grant. This material is based upon work supported by the Defense Advanced Research Projects Agency through the ARL under Contract W911NF-15-C- 0205. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense, the National Science Foundation, or the U.S. Government.

Research supported in part by grant 16582, Basic Algorithms Research Copenhagen (BARC), from the VILLUM Foundation.

References

  • [ADL14] Divesh Aggarwal, Yevgeniy Dodis, and Shachar Lovett. Non-malleable codes from additive combinatorics. In Symposium on Theory of Computing, STOC, 2014.
  • [CGL16] Eshan Chattopadhyay, Vipul Goyal, and Xin Li. Non-malleable extractors and codes, with their many tampered extensions. In Symposium on Theory of Computing, STOC, 2016.
  • [CZ14] Eshan Chattopadhyay and David Zuckerman. Non-malleable codes against constant split-state tampering. In Foundations of Computer Science, FOCS, 2014.
  • [DKO13] Stefan Dziembowski, Tomasz Kazana, and Maciej Obremski. Non-malleable codes from two-source extractors. In CRYPTO, 2013.
  • [DPW10] Stefan Dziembowski, Krzysztof Pietrzak, and Daniel Wichs. Non-malleable codes. In ICS, 2010.
  • [Li17] Xin Li. Improved non-malleable extractors, non-malleable codes and independent source extractors. In Symposium on Theory of Computing, STOC, 2017.
  • [Tre] Luca Trevisan. Luca trevisan’s ‘in theory’ blog. https://lucatrevisan.wordpress.com/2011/02/28/cs359g-lecture-16-constructions-of-expanders/. Accessed: 2018-09-27.

Appendix A Definitions for Split-State Non-Malleable Codes

Here, we recall the basic definition of a split-state non-malleable code due to [DPW10].

Definition 7 (Coding scheme).

We define a coding scheme to be a pair of functions (enc,dec)(\enc,\dec). The encoding function enc:𝒳\enc\colon\mathcal{M}\to\mathcal{X} is randomized while the decoding function dec:𝒳{}\dec\colon\mathcal{X}\to\mathcal{M}\cup\{\bot\} is deterministic. Further, for all ss\in\mathcal{M} the pair satisfies

Pr[dec(enc(s))=s]=1\displaystyle\Pr[\dec(\enc(s))=s]=1

where the probability is taken over the randomness of enc\enc.

Definition 8 (Split State Non-Malleable Code).

A coding scheme (enc,dec)(enc,\dec), enc:×\enc\colon\mathcal{M}\to\mathcal{L}\times\mathcal{R} and dec:×{}\dec\colon\mathcal{L}\times\mathcal{R}\to\mathcal{M}\cup\{\bot\}, is ε\varepsilon-non-malleable in the split state model if for every pair of functions g:,h:g\colon\mathcal{L}\to\mathcal{L},h\colon\mathcal{R}\to\mathcal{R} and writing f=(g,h)f=(g,h) there exists a distribution DfD_{f} supported on {,}\mathcal{M}\cup\{*,\bot\} such that for every ss\in\mathcal{M} the two random variables defined by the experiments

Afs\displaystyle A_{f}^{s} ={(L,R)enc(s);Output dec(g(L),h(R))}\displaystyle=\left\{\begin{subarray}{c}(L,R)\leftarrow\enc(s);\\ \text{Output }\dec(g(L),h(R))\end{subarray}\right\}
Bfs\displaystyle B_{f}^{s} ={s~Df;If s~= output s else output s~}\displaystyle=\left\{\begin{subarray}{c}\tilde{s}\leftarrow D_{f};\\ \text{If }\tilde{s}=*\text{ output }s\text{ else output }\tilde{s}\end{subarray}\right\}

have statistical distance at most ε\varepsilon.

Appendix B Deliver Us from Log Factors

A more thorough analysis of the sums in the proof of Theorem 6 allows us to get slightly better bounds. The technicalities are of little interest to the big picture and were hence omitted in the body of the paper. The addition consists of an alternative ending to the proof of Theorem 6.

Theorem 9.

Let G=(V,E)G=(V,E) be dd-regular with spectral expansion λ\lambda satisfying n=Ω(d3log(d)/λ)n=\Omega(d^{3}\log(d)/\lambda). Then (encG,decG)(\enc_{G},\dec_{G}) is an O(λ3/2d)O\left(\frac{\lambda^{3/2}}{d}\right)-non-malleable code in the split-state model.

Proof.

At the very end of the proof of Theorem 6, we arrived at

d(nd)Sk,l2l+k2λn|G1k|d|G1k||H1l|n+λ|G1k||H1l|.\displaystyle d(n-d)S_{k,l}\leq 2^{-\frac{l+k}{2}}\lambda n\cdot\sqrt{\left|G_{1}^{k}\right|}\cdot\sqrt{\frac{d\cdot\left|G_{1}^{k}\right|\cdot\left|H_{1}^{l}\right|}{n}+\lambda\cdot\sqrt{\left|G_{1}^{k}\right|\cdot\left|H_{1}^{l}\right|}}.

Applying Jensen’s inequality, we get

Sk,l\displaystyle S_{k,l} O(λdn)2l+k2|G1k||H1l|+O(λ3/2d)2l+k2|G1k|3|H1l|4\displaystyle\leq O\left(\frac{\lambda}{\sqrt{dn}}\right)\cdot 2^{-\frac{l+k}{2}}\cdot\left|G_{1}^{k}\right|\cdot\sqrt{\left|H_{1}^{l}\right|}+O\left(\frac{\lambda^{3/2}}{d}\right)\cdot 2^{-\frac{l+k}{2}}\cdot\sqrt[4]{\left|G_{1}^{k}\right|^{3}\cdot\left|H_{1}^{l}\right|} (1)

with the functions hidden by the OO-notation being independent of k,lk,l.

Now, note that

|g1(G1k)|\displaystyle\left|g^{-1}(G_{1}^{k})\right| n|G1k|2k\displaystyle\geq\frac{n\cdot\left|G_{1}^{k}\right|}{2^{k}} |h1(H1l)|\displaystyle\left|h^{-1}(H_{1}^{l})\right| n|H1l|2l\displaystyle\geq\frac{n\cdot\left|H_{1}^{l}\right|}{2^{l}} (2)

and for all klog2(d2)k\leq\left\lceil\log_{2}(d^{2})\right\rceil we have |G1k|2k/22d\frac{\left|G_{1}^{k}\right|}{2^{k/2}}\leq 2d. We shall bound each of the terms of (1) separately.

First, write

L=1k,llog2(d2)(2l+k2|G1k||H1l|).\displaystyle L=\sum_{1\leq k,l\leq\left\lceil\log_{2}(d^{2})\right\rceil}\left(2^{-\frac{l+k}{2}}\cdot\left|G_{1}^{k}\right|\cdot\sqrt{\left|H_{1}^{l}\right|}\right).

Using the Cauchy-Schwartz inequality in the second inequality,

L\displaystyle L 2d1llog2(d2)2l|H1l|\displaystyle\leq 2d\cdot\sum_{1\leq l\leq\left\lceil\log_{2}(d^{2})\right\rceil}\sqrt{2^{-l}\left|H_{1}^{l}\right|}
O(dlog(d))1llog2(d2)2l|H1l|\displaystyle\leq O\left(d\cdot\sqrt{\log(d)}\right)\cdot\sqrt{\sum_{1\leq l\leq\left\lceil\log_{2}(d^{2})\right\rceil}2^{-l}\cdot\left|H_{1}^{l}\right|}
O(dlog(d))1llog2(d2)|h1(H1l)|n\displaystyle\leq O\left(d\cdot\sqrt{\log(d)}\right)\cdot\sqrt{\sum_{1\leq l\leq\left\lceil\log_{2}(d^{2})\right\rceil}\frac{\left|h^{-1}(H_{1}^{l})\right|}{n}}
=O(dlog(d))\displaystyle=O\left(d\cdot\sqrt{\log(d)}\right)

since the H1lH_{1}^{l} are disjoint subsets of VV. In conclusion,

O(λdn)1k,llog2(d2)2l+k2|G1k||H1l|\displaystyle O\left(\frac{\lambda}{\sqrt{dn}}\right)\cdot\sum_{1\leq k,l\leq\left\lceil\log_{2}(d^{2})\right\rceil}2^{-\frac{l+k}{2}}\cdot\left|G_{1}^{k}\right|\cdot\sqrt{\left|H_{1}^{l}\right|} =O(λdlog(d)n)\displaystyle=O\left(\frac{\lambda\cdot\sqrt{d\cdot log(d)}}{\sqrt{n}}\right)
=O(λ3/2d).\displaystyle=O\left(\frac{\lambda^{3/2}}{d}\right).

Second, let klk\leq l and write t=lkt=l-k. We now bound the sum using (2). Write

K=1k<llog2(d2)2l+k2|G1k|3|H1l|4.K=\sum_{1\leq k<l\leq\left\lceil\log_{2}(d^{2})\right\rceil}2^{-\frac{l+k}{2}}\cdot\sqrt[4]{\left|G_{1}^{k}\right|^{3}\cdot\left|H_{1}^{l}\right|}.

Then

K\displaystyle K 1k<llog2(d2)(2kl4n|g1(G1k)|3|h1(H1l)|4)\displaystyle\leq\sum_{1\leq k<l\leq\left\lceil\log_{2}(d^{2})\right\rceil}\left(\frac{2^{\frac{k-l}{4}}}{n}\cdot\sqrt[4]{\left|g^{-1}(G_{1}^{k})\right|^{3}\cdot\left|h^{-1}(H_{1}^{l})\right|}\right)
t=0log2(d2)(2t4nl=tlog2(d2)|g1(G1lt)|3|h1(H1l)|4)\displaystyle\leq\sum_{t=0}^{\left\lceil\log_{2}(d^{2})\right\rceil}\left(\frac{2^{-\frac{t}{4}}}{n}\sum_{l=t}^{\left\lceil\log_{2}(d^{2})\right\rceil}\sqrt[4]{\left|g^{-1}(G_{1}^{l-t})\right|^{3}\cdot\left|h^{-1}(H_{1}^{l})\right|}\right)
t=0log2(d2)(2t4n(l=tlog2(d2)|g1(G1lt)|)3/4(l=tlog2(d2)|h1(H1l)|)1/4)\displaystyle\leq\sum_{t=0}^{\left\lceil\log_{2}(d^{2})\right\rceil}\left(\frac{2^{-\frac{t}{4}}}{n}\left(\sum_{l=t}^{\left\lceil\log_{2}(d^{2})\right\rceil}\left|g^{-1}(G_{1}^{l-t})\right|\right)^{3/4}\cdot\left(\sum_{l=t}^{\left\lceil\log_{2}(d^{2})\right\rceil}\left|h^{-1}(H_{1}^{l})\right|\right)^{1/4}\right)
t=0log2(d2)2t4=O(1),\displaystyle\leq\sum_{t=0}^{\left\lceil\log_{2}(d^{2})\right\rceil}2^{-\frac{t}{4}}=O(1),

where the third inequality is established using Hölder’s inequalty.

It now follows that

1kllog2(d2)Sk,l=O(λ3/2d).\displaystyle\sum_{1\leq k\leq l\leq\left\lceil\log_{2}(d^{2})\right\rceil}S_{k,l}=O\left(\frac{\lambda^{3/2}}{d}\right).

By symmetry of kk and ll,

R1,1=1k,llog2(d2)Sk,l=O(λ3/2d),\displaystyle R_{1,1}=\sum_{1\leq k,l\leq\left\lceil\log_{2}(d^{2})\right\rceil}S_{k,l}=O\left(\frac{\lambda^{3/2}}{d}\right),

which completes the proof. ∎

Appendix C Instantiating Our Construction

Using our results to instantiate an efficient, secure split-state non-malleable code, we require a family of graphs {Gk}k\{G_{k}\}_{k\in\mathbb{N}}, where each Gk=(Vk,Ek)G_{k}=(V_{k},E_{k}) is dkd_{k}-regular with spectral expansion λk\lambda_{k}, satisfying the following:

  1. 1.

    The function ε(k)=λk3/2dk\varepsilon(k)=\frac{\lambda_{k}^{3/2}}{d_{k}} is negligible.

  2. 2.

    We have nk=|V(Gk)|=Ω(dk3log(dk)/λk)n_{k}=\left|V(G_{k})\right|=\Omega(d_{k}^{3}\log(d_{k})/\lambda_{k})

  3. 3.

    Both sampling an edge (u,v)𝑢Ek(u,v)\xleftarrow{u}E_{k} and sampling a non-edge (u,v)𝑢(Vk×Vk)Ek(u,v)\xleftarrow{u}(V_{k}\times V_{k})\setminus E_{k} can be done in time polynomial in kk.

  4. 4.

    Determining membership of a pair (u,v)V×V(u,v)\in V\times V in E(Gk)E(G_{k}) can be done deterministically in time polynomial in kk.

Given such a family of graphs it is clear that the corresponding graph code (encGk,decGk)(\enc_{G_{k}},\dec_{G_{k}}) is an efficiently computable non-malleable code.

C.1 Instantiation with High-Degree Cayley Graphs

Explicit constructions of such families of graphs do indeed exist. We shall here give an example from [Tre] from the class of graphs known as Cayley graphs. The construction is as follows.

Definition 10.

For pp a prime and 1t<p1\leq t<p let the graph LDp,t\LD_{p,t} have vertex set 𝔽pt+1\mathbb{F}_{p}^{t+1} and edge set

E(LDp,t)={(x,x+(b,ab,a2b,,atb))x𝔽pt+1,a,b𝔽p},\displaystyle E(\LD_{p,t})=\left\{(x,x+(b,ab,a^{2}b,\dots,a^{t}b))\mid x\in\mathbb{F}_{p}^{t+1},a,b\in\mathbb{F}_{p}\right\},

i.e. x,yV(LDp,T)x,y\in V(\LD_{p,T}) are connected by an edge if and only if there exists a,b𝔽pa,b\in\mathbb{F}_{p} such that y=x+(b,ab,a2b,,atb)y=x+(b,ab,a^{2}b,\dots,a^{t}b).

It is worth nothing that the graph LDp,t\LD_{p,t} is LDp,t\LD_{p,t} is p2p^{2}-regular and that it is undirected as xx is connected to yy if and only if yy is connected to xx.

Now, let t=5t=5 and for each kk\in\mathbb{N} let pkp_{k} be some kk-bit prime. We consider the family of graphs {LDpk,5}k\{\LD_{p_{k},5}\}_{k\in\mathbb{N}} for our instantiation. In the following, we shall check the criteria from the beginning of the section point by point.

  1. 1.

    The family of graphs LDp,t\LD_{p,t} has great expander properties.

    Theorem 11 (Trevisan [Tre]).

    For 1<t<p1<t<p, the graph LDp,t\LD_{p,t} is a ptpt-spectral expander.

    This fact allows us to note that for our particular choice of graphs, ε(k)=(pkt)3/2pk2<12pk\varepsilon(k)=\frac{(p_{k}t)^{3/2}}{p_{k}^{2}}<\frac{12}{\sqrt{p}_{k}}, which in fact is 2Ω(k)2^{-\Omega(k)} and the representation size is O(k)O(k) bits.

  2. 2.

    We have Ω(dk3log(dk)λk)=Ω(p5log(p))\Omega\left(\frac{d_{k}^{3}\log(d_{k})}{\lambda_{k}}\right)=\Omega(p^{5}\log(p)) such that indeed,

    nk=|V(LDpk,5)|=p6=Ω(dk3log(dk)λk).n_{k}=\left|V(\LD_{p_{k},5})\right|=p^{6}=\Omega\left(\frac{d_{k}^{3}\log(d_{k})}{\lambda_{k}}\right).
  3. 3.

    Sampling an edge (u,v)𝑢E(LDpk,t)(u,v)\xleftarrow{u}E(\LD_{p_{k},t}) is simply a question of picking x𝔽pkt+1,a,b𝔽pkx\in\mathbb{F}_{p_{k}}^{t+1},a,b\in\mathbb{F}_{p_{k}} uniformly at random and then outputting the edge (x,x+(b,ab,a2b,,atb))(x,x+(b,ab,a^{2}b,\dots,a^{t}b)).

    To pick a non-edge, simply sample two random vertices u,v𝔽pkt+1u,v\in\mathbb{F}_{p_{k}}^{t+1} uniformly at random and check (with the procedure to be specified below) whether (u,v)E(LDpk,t)(u,v)\in E(\LD_{p_{k},t}). Since for t>1t>1 the probability of hitting an edge with such a random choice is 1/pk\leq 1/{p_{k}}, the expected number of repetitions is constant and hence the procedure takes expected polynomial time.

  4. 4.

    To test membership of some (u,v)(𝔽pkt+1)2(u,v)\in\left(\mathbb{F}_{p_{k}}^{t+1}\right)^{2} in E(LDpk,t)E(\LD_{p_{k},t}), perform the following operation: Compute x=uvx=u-v and write x=(x0,,xt)x=(x_{0},\dots,x_{t}). It is now trival to check whether (1,x1x0,,xtx0)\left(1,\frac{x_{1}}{x_{0}},\dots,\frac{x_{t}}{x_{0}}\right) is of the form (1,a,a2,,at)(1,a,a^{2},\dots,a^{t}).