SALSA: Attacking Lattice Cryptography with Transformers
Abstract
Currently deployed public-key cryptosystems will be vulnerable to attacks by full-scale quantum computers.
Consequently, “quantum resistant” cryptosystems are in high demand, and lattice-based cryptosystems, based on a hard problem known as Learning With Errors (LWE), have emerged as strong contenders for standardization.
In this work, we train transformers to perform modular arithmetic and mix half-trained models with statistical cryptanalysis techniques to propose
SALSA: a machine learning attack on LWE-based cryptographic schemes.
SALSA can fully recover secrets for small-to-mid size LWE instances with sparse binary secrets, and may scale to attack real-world LWE-based cryptosystems.
Introduction
The looming threat of quantum computers has upended the field of cryptography.
Public-key cryptographic systems have at their heart a difficult-to-solve math problem that guarantees their security.
The security of most current systems (e g. [58, 28, 50]) relies on problems such as integer factorization or the discrete logarithm problem in an abelian group.
Unfortunately, these problems are vulnerable to polynomial time quantum attacks on large-scale quantum computers due to Shor’s
Algorithm [62].
Therefore, the race is on to find new post-quantum cryptosystems (PQC) built upon alternative hard math problems.
Several leading candidates in the final round of the 5-year NIST PQC competition are lattice-based cryptosystems , based on the hardness of the Shortest Vector Problem (SVP) [2], which involves finding short vectors in high dimensional lattices.
Many cryptosystems have been proposed based on hard problems which reduce to some version of the SVP and known attacks are largely based on lattice-basis reduction algorithms which aim to find short vectors via algebraic techniques.
The LLL algorithm [43] was the original template for lattice reduction and although it runs in polynomial time (in the dimension of the lattice), it returns an exponentially bad approximation to the shortest vector.
It is an active area of research [22, 48, 5] to fully understand the behavior and running time of a wide range of lattice-basis reduction algorithms, but the best known classical attacks on the PQC candidates run in time exponential in the dimension of the lattice.
In this paper, we focus on one of the most widely used lattice-based hardness assumptions: Learning
With Errors (LWE) [56].
Given a dimension n , an integer modulus q , and a secret vector s ∈
Z nq , the learning with errors problem is to find the secret given noisy inner products with random vectors.
LWE-based encryption schemes encrypt a message by blinding it with a noisy inner product.
Given a random vector a ∈ Z n q , the noisy inner product is b := a · s + e mod q , where e is an “error” vector sampled from a narrow Gaussian distribution (so its entries are small, thus the reference to noise).
Interestingly, the assumption for cryptographic applications is that the Learning With Errors problem is hard: given a lot of noisy inner products of random vectors with a secret vector, it should be hard to learn the secret vector.
However, in Machine Learning we make the opposite assumption: given a lot of noisy data, we can still learn patterns from it.
So in this paper we investigate the possibility to train ML models to learn from LWE samples.
To that end, we propose SALSA , a technique for performing S ecret-recovery
A ttacks on L WE via
S equence to sequence models with A ttention.
SALSA trains a language model to predict b from a , and we develop two algorithms to recover the secret vector s using this trained model.
Our paper has three main contributions .
We demonstrate that transformers can perform modular arithmetic on integers and vectors.
We show that transformers trained on LWE samples can be used to distinguish LWE instances from random.
This can be further turned into two algorithms that recover binary secrets .
We show how these techniques yield a practical attack on LWE based cryptosystems and demonstrate its efficacy in the cryptanalysis of small and mid-size LWE instances with sparse binary secrets .
Our code is available at https://github.com/facebookresearch/SALSA .
Lattice Cryptography and LWE 2.1 Lattices and Hard Lattice Problems
[Figure]
An integer lattice of dimension n over Z is the set of all integer linear combinations of n linearly independent vectors in Z n .
In other words, given n such vectors v i ∈ Z n , i ∈ N n , we define the lattice Λ( v 1 , .. v n ) :
= { (cid:80) ni
=
a i v i | a i ∈ Z } .
Given a lattice Λ , the Shortest Vector Problem (SVP) asks for a nonzero vector v ∈ Λ with minimal norm.
Figure 1 depicts a solution to this problem in the trivial case of a 2-dimensional lattice, where b 1 and b 2 generate a lattice Λ and the green vector is the shortest vector in Λ .
The best known algorithms to find exact solutions to SVP take exponential time and space with respect to n , the dimension of the lattice [49].
There exist lattice reduction algorithms to find approximate shortest vectors, such as LLL [43] (polynomial time, but exponentially bad approximation), or BKZ [22].
The shortest vector problem and its approximate variants are the hard mathematical problems that serve as the core of lattice-based cryptography.
2.2 LWE
The Learning With Errors (LWE) problem, introduced in [56], is parameterized by a dimension n , the number of samples m , a modulus q and an error distribution χ
(e.g., the discrete Gaussian distribution) over Z q = { 0 , 1 , . .
. , q − 1 } .
Regev showed that LWE is at least as hard as quantumly solving certain hard lattice problems.
Later [53, 46, 14], showed LWE to be classically as hard as standard worst-case lattice problems, therefore establishing a solid foundation for building cryptographic schemes on it.
LWE and RLWE.
The LWE distribution A s ,χ consists of pairs ( A , b ) ∈
Z m × n q × Z nq , where A is a uniformly random matrix in Z m × n q , b
=
As + e mod q , where s ∈
Z nq is the secret vector sampled uniformly at random and e ∈
Z mq is the error vector sampled from the error distribution χ .
We call the pair ( A , b ) an LWE sample, yielding n LWE instances: one row of A together with the corresponding entry in b is one LWE instance .
There is also a ring version of LWE, known as the
Ring Learning with Errors (RLWE) problem (described further in Appendix A.1).
Search-LWE and Decision-LWE.
We now state the LWE hard problems.
The search-LWE problem is to find the secret vector s given ( A , b ) from A s ,χ .
The decision-LWE problem is to distinguish
A s ,χ from the uniform distribution { ( A , b ) ∈
Z m × n q × Z nq : A and b are chosen uniformly at random) } .
[56] provided a reduction from search-LWE to decision-LWE .
We give a detailed proof of this reduction in Appendix A.2 for the case when the secret vector s is binary (i.e. entries areand 1).
In Section 4.3, our Distinguisher Secret Recovery method is built on this reduction proof.
(Sparse) Binary secrets.
In LWE based schemes, the secret key vector s can be sampled from various distributions.
For efficiency reasons, binary distributions (sampling in { 0 , 1 } n ) and ternary distributions (sampling in {− 1 , 0 , 1 } n ) are commonly used, especially in homomorphic encryption [4].
In fact, many implementations use a sparse secret with Hamming weight h (the number of 1’s
[Figure]
[Table]
in the binary secret).
For instance
[Table]
HEAAN uses n = 2 15 , q = 2 628 , ternary secret and Hamming weight 64 [23].
For more on the use of sparse binary secrets in LWE, see [6, 25].
Modular Arithmetic with Transformers
Two key factors make breaking LWE difficult: the presence of error and the use of modular arithmetic.
Machine learning (ML) models tend to be robust to noise in their training data.
In the absence of a modulus, recovering s from observations of a and b = a · s + e merely requires linear regression, an easy task for ML.
Once a modulus is introduced, attacking LWE requires performing linear regression on an n-dimensional torus, a much harder problem.
Modular arithmetic therefore appears to be a significant challenge for an ML-based attack on LWE.
Previous research has concluded that modular arithmetic is difficult for ML models [52], and that transformers struggle with basic arithmetic [51].
However, [17] showed that transformers can compute matrix-vector products, the basic operation in LWE, with high accuracy.
As a first step towards attacking LWE, we investigate whether these results can be extended to the modular case.
We begin with the one-dimensional case, training models to predict b =
as mod q from a for some fixed unknown value of s when as ∈ Z q .
This is a form of modular inversion since the model must implicitly learn the secret s in order to predict the correct output b .
We then investigate the n -dimensional case, with a ∈ Z nq and s either in Z nq or in { 0 , 1 } n (binary secret).
In the binary case, this becomes a (modular) subset sum problem.
3.1 Methods
Data Generation.
We generate training data by fixing the modulus q (a prime with 15 ≤ ⌈ log 2 ( q ) ⌉ ≤ 30 , see the Appendix B), the dimension n , and the secret s ∈ Z nq (or { 0 , 1 } n in the binary case).
We then sample a uniformly in Z n q and compute b = a · s mod q , to create data pair ( a, b ) .
Encoding.
Integers are encoded in base B (usually, B=81), as a sequence of digits in { 0 , . . .
B − 1 } .
For instance, ( a, b ) = (16 , 3) is represented as the sequences [1,0,0,0,0] and [1,1] in base 2 , or [2,2] and [3] in base 7 .
In the multi-dimensional case, a special token separates the a coordinates.
Model Training.
The model is trained to predict b from a , for an unknown but fixed value of s .
We use sequence-to-sequence transformers [67] with one layer in the encoder and decoder,dimensions and 8 attention heads.
We minimize a cross-entropy loss, and use the Adam optimizer [39] with a learning rate of 5 × 10 − 5 .
At epoch end ( 300000 examples), model accuracy is evaluated over a test set of 10000 examples.
We train until test accuracy is 95% or loss plateaus for 60 epochs.
3.2 Results
One-Dimensional.
For a fixed secret s , modular multiplication is a function from Z q into itself, that can be learned by memorizing q values.
Our models learn modular multiplication with high accuracy for values of q such that ⌈ log 2 ( q ) ⌉ ≤ 22 .
Figure 2 presents learning curves for different values of log 2 ( q ) .
The loss and accuracy curves have a characteristic step shape, observed in many of our experiments, which suggests that “easier cases” (small values of ⌊ as/q ⌋ ) are learned first.
The speed of learning and the training set size needed to reach high accuracy depend on the problem difficulty, i.e. the value of q .
Table 1 presents the ⌈ log 2 ⌉ of the number of examples needed to reach 95% accuracy for different values of ⌈ log 2 ( q ) ⌉ and base B .
Since transformers learn from scratch, without prior knowledge of numbers and moduli, this procedure is not data-efficient.
The number of examples needed to learn modular multiplication is between 10 q and 50 q .
Yet, these experiments prove that transformers can solve the modular inversion problem in prime fields.
Table 1 illustrates an interesting point: learning difficulty depends on the base used to represent integers.
For instance, base 2 and 5 allow the model to learn up to ⌈ log 2 ( q ) ⌉
= 17 and 18 , whereas base 3 and 7 can reach ⌈ log 2 ( q ) ⌉ = 21 .
Larger bases, especially powers of small primes, enable faster learning.
The relation between representation base and learning difficulty is difficult to explain from a number theoretic standpoint.
Additional experiments are in Appendix B.
Multidimensional integer secrets.
In the n -dimensional case, the model must learn the modular dot product between vectors a and s in Z n .
The proves to be a much harder problem.
For n = 2 , with the same settings, small values of q ( 251 , 367 and 967 ) can be learned with over 90% accuracy, and q = 1471 with 30% .
In larger dimension, all models fail to learn.
Increasing model depth to 2 orlayers, or dimension to 1024 or 2048 and attention heads to 12 and 16, improves data efficiency (less training samples are needed), but does not scale to larger values of q or n > 2 .
Multidimensional binary secrets.
Binary secrets make n -dimensional problems easier to learn.
For n = 4 , our models solve problems with ⌈ log 2 ( q ) ⌉ ≤ 29 with more than 99 . 5% accuracy.
For n =and 8 , we solve cases ⌈ log 2 ( q ) ⌉ ≤ 22 with more than 85% accuracy.
But we did not achieve high accuracy for larger values of n .
So in the next section, we introduce techniques for recovering secrets from a partially trained transformer.
We then show that these additional techniques allow recovery of sparse binary secrets for LWE instances with 30 ≤ n ≤ 128 (so far).
Introducing SALSA: LWE Cryptanalysis with Transformers
Having established that transformers can perform integer modular arithmetic, we leverage this result to propose SALSA, a method for S ecret-recovery
A ttacks on L WE via S eq2Seq models with A ttention.
4.1 SALSA Ingredients
SALSA has three modules: a transformer model M , a secret recovery algorithm , and a secret verification procedure .
We assume that SALSA has access to a number of LWE instances in dimension n that use the same secret, i.e. pairs ( a , b ) such that b = a · s + e mod q , with e an error from a centered distribution with small standard deviation.
SALSA runs in three steps.
First, it uses
LWE data to train M to predict b given a .
Next SALSA runs a secret recovery algorithm.
It feeds M special values of a , and uses the output ˜ b =
M ( a ) to predict the secret.
Finally, SALSA evaluates the guesses ˜ s by verifying that residuals r
=
b − a · ˜ s mod q computed from LWE samples have small standard deviation.
If so, s has been recovered and SALSA stops.
If not, SALSA returns to step 1 and iterates.
4.2 Model Training
SALSA uses LWE instances to train a model that predicts b from a by minimizing the cross-entropy between the model prediction b ′ and b .
The model architecture is a universal transformer [27], in which a shared transformer layer is iterated several times (the output from one iteration is the input to the next).
Our base model has two encoder layers, with 1024 dimensions and 32 attention heads, the second layer iterated 2 times, and two decoder layers with 512 dimensions and 8 heads, the second layer iterated 8 times.
To limit computation in the shared layer, we use the copy-gate mechanism from [24].
Models are trained using the Adam optimizer with lr = 10 − 5 and 8000 warmup steps.
For inference, we use a beam search with depth 1 (greedy decoding) [40, 65].
At the end of each epoch, we compute model accuracy over a test set of LWE samples.
Because of the error added when computing b = a · s + e , exact prediction of b is not possible.
Therefore, we calculate accuracy within tolerance τ ( acc τ ) : the proportion of predictions ˜ b
=
M ( a ) that fall within τq of b , i.e. such that ∥ b − ˜ b ∥ ≤ τq .
In practice we set τ = 0 .
4.3 Secret Recovery
We propose two algorithms for recovering s : direct recovery from special values of a , and distinguisher recovery using the binary search to decision reduction (Appendix A.2).
For theoretical justification of these, see Appendix C.
Direct Secret Recovery.
The first technique, based on the LWE search problem, is analogous to a chosen plaintext attack.
For each i ∈ N n , a guess of the i -th coordinate of s is made by feeding model
Algorithm
1: Input: M , K, n 2: Output: secret s 3: p = 0 n 4: for i = 1 , . . .
, n do 5: a = 0 n ; a i = K 6: p i =
M ( a ) 7: s = binarize ( p ) 8:
Return: s
M the special value a i =
K e i (all coordinates 0 except the i -th), with K a large integer.
If s i = 0 , and the model M correctly approximates b i = a i · s + e from a i , then we expect ˜ b i :=
M ( a i ) to be a small integer; likewise if s i
=
we expect a large integer.
This technique is formalized in Algorithm 1.
The binarize function in line 7 is explained in Appendix C. In
SALSA, we run direct recovery with 10 different K values in order to yield 10 s guesses.
Distinguisher Secret Recovery.
The second algorithm for secret recovery is based on the decisionLWE problem.
It uses the output of M to determine if LWE data ( a , b ) can be distinguished from randomly generated pairs ( a r , b r ) .
The algorithm for distinguisher-based secret recovery is shown in
Algorithm 2.
At a high level, the algorithm works as follows.
Suppose we have t LWE instances ( a , b ) and t random instances ( a r , b r ) .
For each secret coordinate s i , we transform the a into a ′ i
= a i + c , with c ∈ Z q random integers.
We then use model M to compute M ( a ′ ) and M ( a r ) .
If the model has learned s and the i th bit of s is 0 , then M ( a ′ ) should be significantly closer to b than M ( a r ) is to b r .
Iterating on i allows us to recover the secret bit by bit.
SALSA runs the distinguisher recovery algorithm when model acc τ =0 .
1 is above 30% .
This is the theoretical limit for this approach to work.
Secret
1: Input: M , n, q, acc τ , τ 2: Output: secret s 3: s = 0 n 4: advantage, bound =
acc τ − 2 · τ, τ · q 5: t = min { 50 , 2 advantage 2 } 6: A LWE , B LWE = LWESamples ( t, n, q ) 7: for i = 1 , . . .
n do 8:
A unif ∼ U{ 0 , q − 1 } n × t 9:
B unif ∼ U{ 0 , q − 1 } t 10: c ∼ U{ 0 , q − 1 } t 11:
A ′ LWE =
A LWE 12:
A ′ LWE [: , i ] =
( A LWE [: , i ] + c ) mod q 13: (cid:94) B LWE =
M ( A ′ LWE ) 14: (cid:94) B unif =
M ( A unif ) 15: dl = | (cid:94) B LWE − B LWE | 16: du = | (cid:94) B unif − B unif | 17: c LWE =
# { j | dl j < bound, j ∈ N t } 18: c unif =
# { j | du j < bound, j ∈ N t } 19: if ( c LWE − c unif ) ≤ advantage · t/ 2 then 20: s i =
Return: s
At the end of the recovery step, we have 10 or 11 guesses ˜ s
(depending on whether the distinguisher recovery algorithm was run).
To verify them, we compute the residuals r = a · ˜ s − b mod q for a set of LWE samples ( a , b ) .
If s is correctly guessed, we have ˜ s
= s , so r = a · s − b
=
e mod q will be distributed as the error e with small standard deviation σ .
If ˜ s ̸ = s , r will be (approximately) uniformly distributed over Z q (because a · ˜ s and b are uniformly distributed over Z q ), and will have standard deviation σ ( r )
≈ q/ (cid:112) (12) .
Therefore, we can verify if ˜ s is correct by calculating the standard deviation of the residuals: if it is close to σ , the standard deviation of error, the secret was recovered.
In this paper, σ = 3 and q = 251 , so the standard deviation of r will be around
if ˜ s = s , and 72 .
5 if not.
SALSA Evaluation
In this section, we present our experiments with
SALSA.
We generate datasets for LWE problems of different sizes, defined by the dimension and the density of ones in the binary secret.
We use gated universal transformers, with two layers in the encoder and decoder.
Default dimensions and attention heads in the encoder and decoder are 1024/512 and 16/4, but we vary them as we scale the problems.
Models are trained on two NVIDIA
Volta 32GB GPUs on an internal cluster.
5.1 Data generation
We generate LWE data for SALSA training/evaluation is randomly given the following parameters: dimension n , secret density d , modulus q , encoding base B , binary secret s , and error distribution χ .
For all experiments, we use q = 251 and B = 81 (see §3.1), fix the error distribution χ as a discrete
Gaussian with µ = 0 , σ = 3 [4], and generate a random s .
We vary the problem size n (the LWE dimension) and the density d (the proportion of ones in the secret) to test attack success and to observe how it scales.
For problem size, we experiment with
[Figure]
[Table]
n = 30 to n = 128 .
For density, we experiment with 0 .
002 ≤ d ≤ 0 .
For a given n , we select d so that the Hamming weight of the binary secret ( h = dn ), is larger than 2 .
Appendix D.2 contains an ablation study of data parameters.
We generate data using the RLWE variant of LWE, described in
Appendix A. For RLWE problems, each a is a line of a circulant matrix generated from an initial vector ∈ Z nq . RLWE problems exhibit more structure than LWE due to the use of the circulant matrix, which may help our models learn.
5.2 Results
Table 2 presents problem sizes n and densities d for which secrets can be fully recovered, together with the time and the logarithm of number of training samples needed.
SALSA can recover binary secrets with Hamming weight 3 for dimensions up to 128 .
Hamming weight 4 secrets can be recovered for n < 70 .
For context, we include a column “ log 2 secrets” listing the number of possible secrets for the corresponding Hamming weight.
Exhaustive search for the secret may run faster than our current experiments for low Hamming weight.
However, an exhaustive search requires knowing the exact hamming weight in advance, or iterating through all possible Hamming weights.
Although we have only succeeded unconditionally with low Hamming weight so far, SALSA does not a priori know the secret Hamming weight h .
It remains to be seen how SALSA will scale to larger n and h .
Interestingly, the number of samples required for SALSA to succeed for a fixed Hamming weight is relatively flat as the dimension n increases.
However the time needed to recover the secret for a fixed Hamming weight increases with n , partly because the length of the input sequence fed into the model is proportional to n even though the number of samples needed remains stable as n grows.
This is an important result, because all the data used for training the model must be collected (e.g. via eavesdropping), making sample size an important metric.
For a given n , scaling to higher densities requires more time and data, and could not be achieved with the architecture we use for n > 50 .
As n grows, larger models are needed: our standard architecture, with 1024 / 512 dimensions and 16 / 4 attention heads (encoder/decoder) was sufficient for n ≤ 90 .
For n > 90 , we needed 1536 / 512 dimensions and 32 / 4 attention heads.
Figure 3 illustrates model behavior during training.
After an initial burn-in period, the loss curve (top graph) plateaus until the model begins learning the secret.
Once loss starts decreasing, model accuracy with 0 .
1 q tolerance (bottom graph) increases sharply.
Full secret recovery (vertical lines in the bottom graph) happens shortly after, often within one or two epochs.
Direct secret recovery accounts for 55% of recoveries, while the distinguisher only accounts for 18% of recoveries (see
Appendix C.3).
27% of the time, both methods succeed simultaneously.
One key conclusion from these experiments is that the secret recovery algorithms enable secret recovery long before the transformer has been trained to high accuracy (even before training loss settles at a low level).
Frequently, the model only needs to begin to learn for the attack to succeed.
[Table]
5.3 Experiments with model architecture
SALSA’s base model architecture is a Universal Transformer (UT) with a copy-gate mechanism.
Table 3 demonstrates the importance of these choices.
For problem dimension n = 50 , replacing the
UT by a regular transformer with 8 encoder/decoder layers, or removing the copy-gate mechanism increases the data requirement by a factor of 14 .
Reducing the number of iterations in the shared layers from 8 to 4 has a similar effect.
Reducing the number of iterations in either the encoder or decoder (i
[Table]
e. from 8/8 to 8/2 or 2/8) may further speed up training.
Asymmetric transformers (e
[Table]
g. large encoder and small decoder) have proved efficient for other math problems, e
[Table]
g. [37], [17]
[Table]
and asymmetry helps SALSA as well.
Table 3 demonstrates that increasing the encoder dimension from 1024 to 3040, while keeping the decoder dimension at 512 , results in a 7 -fold reduction in sample size.
Additional architecture experiments are presented in Appendix D.
[Table]
5.4 Increasing dimension and density
To attack real-world LWE problems
[Table]
SALSA must handle larger dimension n and density d .
Our experiments with architecture suggest that increasing model size, and especially encoder dimension, is the key factor to scaling n .
Empirical observations indicate that scaling d is a much harder problem.
We hypothesize that this is due to the subset sum modular addition at the core of LWE with binary secrets.
For a secret with Hamming weight h , the base operation a · s + e mod q is a sum of h integers, followed by a modulus.
For small values of h , the modulus operation is not always necessary, as the sum might not exceed q .
As density increases, so does the number of times the sum “wraps around” the modulus, perhaps making larger Hamming weights more difficult to learn.
To test this hypothesis, we limited the range of the coordinates in a , so that a i < r , with r = αq and 0 .
3 < α < 0 .
For n = 50 , we recovered secrets with density up to 0 .
3 , compared to 0 .
08 with the full range of coordinates (see Table 4).
Density larger than 0 .
3 is no longer considered a sparse secret.
5.5 Increasing error size
[Table]
Theoretically for lattice problems to be hard, σ should scale with √ n , although this is often ignored in practice, e.g. [4].
Consequently, we run most SALSA experiments with σ = 3 , a common choice in existing RLWE-based systems.
Here, we investigate how SALSA performs as σ increases.
First, to match the theory, we run experiments where σ = ⌊ √ n ⌋ , h = 3 and found that
SALSA recovers secrets even as σ scales with n (see Table 5, same model architecture as Table 2).
Second, we evaluate SALSA’s performance for fixed n / h values as σ increases.
We fix n = 50 and h = 3 and evaluate for σ values up to σ = 24 .
Secret recovery succeeds for all tests, although the number of samples required for recovery linearly increases (see Figure 7 in Appendix).
For both sets of experiments, we reuse samples up to 10 times.
SALSA in the Wild
Problem Size.
Currently, SALSA can recover secrets from LWE samples with n up to 128 and density d = 0 .
It can recover higher density secrets for smaller n ( d = 0 .
08 when n = 50 ).
As mentioned in Section 2.2, sparse binary secrets are used in real world LWE homomorphic encryption, and attacking these implementations is a future goal for SALSA.
Admittedly, SALSA must scale to attack larger n before it can break full-strength homomorphic encryption implementations.
However, other parameters of full-strength homomorphic encryption such as secret density (the secret vector in
HEAAN has d < 0 .
and error size ( [4] recommends σ = 3 . 2 ) are within SALSA’s reach.
[Table]
[Figure]
[Table] [Table]
[Figure] [Figure]
Other LWE-based schemes use secret dimensions that seem achievable given our current results.
For example, in the LWE-based public key encryption scheme Crystal-Kyber [9], the secret dimension is k × 256 for k = { 2 , 3 , 4 } , an approachable range for SALSA based on initial results.
The LWE-based signature scheme Crystal-Dilithium has similar n sizes [29].
However, these schemes don’t use sparse binary secrets, and adapting SALSA nonbinary secrets is an avenue for future work.
Sample Efficiency.
A key requirement of real-world LWE attacks is sample efficiency.
In practice, an attacker will only have access to a small set of LWE instances ( a , b ) for a given secret s .
For instance, in Crystal-Kyber, there are only ( k + 1) n LWE instances available with k = 2 , 3 or 4 and n = 256 .
The experiments in [20, 11] use less than 500 LWE instances.
The TU Darmstadt challenge provides n 2 LWE instances to attackers.
The log 2 samples column of Table 2 lists the number of LWE instances needed for model training.
This number is much larger than what is likely available in practice, so it is important to reduce sample requirements.
Classical algebraic attacks on LWE require LWE instances to be linearly independent, but SALSA does not have this limitation.
Thus, we can reduce SALSA’s sample use in several ways.
First, we can reuse samples during training.
Figure 4 confirms that this allows secret recovery with fewer samples.
Second, we can use integer linear combinations of given LWE samples to make new samples which have the same secret but a larger error σ .
Appendix E contains the formula for the number of new samples we can generate with this method (up to 2 42 new samples from 100 samples).
Comparison to Baselines.
Most existing attacks on LWE such as uSVP and dual attack use an algebraic approach that involves building a lattice from LWE instances such that this lattice contains an exceptionally short vector which encodes the secret vector information.
Attacking LWE then involves finding the short vector via lattice reduction algorithms like BKZ [22].
For LWE with sparse binary secrets, the main focus of this paper, various techniques can be adapted to make algebraic attacks more efficient.
[20, 11] and [23] provide helpful overviews of algebraic attacks on sparse binary secrets.
More information about attacks on LWE is in Appendix A.3.
Compared to existing attacks, SALSA’s most notable feature is its novelty.
We do not claim that to have better runtime, neither do we claim the ability to attack real-world LWE problems (yet).
Rather, we introduce a new attack and demonstrate with non-toy successes that transformers can be used to attack LWE.
Given our goal, no serious SALSA speedup attempts have been made so far, but a few simple improvements could reduce runtime.
First, the slowest step in SALSA is model training, which can be greatly accelerated by distributing it across many GPUs.
Second, our transformers are trained from scratch, so pre-training them on such basic tasks as modular arithmetic could save time and data.
Finally, the amount of training needed before the secret is recovered depends in large part on the secret guessing algorithms.
New algorithms might allow SALSA to recover secrets faster.
Since SALSA does not involve finding the shortest vector in a lattice, it has an advantage over the algebraic attacks – with all LWE parameters fixed and in the range of SALSA, SALSA can attack the
LWE problem for a smaller modulus q compared to the algebraic attacks.
This is because the target vector is relatively large in the lattice when q is smaller and is harder to find.
For instance, in [20], their Table 2 shows that when the block size is 45 , for n = 90 , their attack does not work for q less than 10 bits, but we can handle q as small as 8 bits (Table 20).
Related Work
Use of ML for cryptanalysis.
The fields of cryptanalysis and machine learning are closely related [57].
Both seek to approximate an unknown function F using data, although the context and techniques for doing so vary significantly between the fields.
Because of the similarity between the domains, numerous proposals have tried to leverage ML for cryptanalysis.
MLbased attacks have been proposed against a number of cryptographic schemes, including block ciphers [3, 63, 38, 10, 30, 12, 21], hash functions [31], and substitution ciphers [1, 64, 8].
Although our work is the first to use recurrent neural networks for lattice cryptanalysis, prior work has used them for other cryptographic tasks.
For example, [32] showed that LSTMs can learn the decryption function for polyalphabetic ciphers like Enigma.
Follow-up works used variants of LSTMs, including transformers, to successfully attack other substitution ciphers [1, 64, 8].
Use of transformers for mathematics.
The use of language models to solve problems of mathematics has received much attention in recent years.
A first line of research explores math problems set up in natural language.
[59] investigated their relative difficulty, using LSTM [34] and transformers, while [33] showed large transformers could achieve high accuracy on elementary/high school problems.
A second line explores various applications of transformers on formalized symbolic problems.
[42] showed that symbolic math problem could be solved to state-of-the-art accuracy with transformers.
[68] discussed their limits when generalizing out of their training distribution.
Transformers have been applied to dynamical systems [18], transport graphs [19], theorem proving [54], SAT solving [61], and symbolic regression [13, 26].
A third line of research focuses on arithmetic/numerical computations and has had slower progress.
[52] and [51] discussed the difficulty of performing arithmetic operations with language models.
Bespoke network architectures have been proposed for arithmetic operations [35, 66], and transformers were used for addition and similar operations [55].
[17] showed that transformers can learn numerical computations, such as linear algebra, and introduced the shallow models with shared layers used in this paper.
Learnability of LWE.
Shalev-Shwartz, Shamir and Shammah [60] showed that some problems of modular arithmetic cannot be solved by gradient descent.
Because it uses a transformer to learn the secret, by predicting b from a , SALSA’s scalability hinges on the solvability of LWE by gradient descent.
Here, we provide our perspective on this question.
The LWE problem amounts to (discrete) linear regression on an n -dimensional torus with radius q .
When q is infinite, LWE is pure linear regression, and gradient methods will succeed.
For finite q , gradients are informative unless the model’s prediction lies on the opposite side of the torus from the true solution (e.g. q = 100 , true value is 0 , prediction is 50 ).
At this point, the projection of the gradient along the coordinate axis is uninformative, since either direction on the torus points towards the true solution.
For large q , this situation is uncommon, so gradient methods should work.
For very small q , this will happen more often, and gradient methods will be perturbed.
In the degenerate case q = 2 , featured in [60], gradient methods will always fail.
For the value q = 251 used in SALSA, gradient methods can recover secrets (i.e. solve the modular linear regression problem) for n up to 128 so far.
Except for the case of very small q , it is unlikely that LWE belongs to the “failing gradient” class of problems described in [60].
Any learnability problems should disappear altogether as q increases.
Interestingly, this intuition about the size of q also appears in the classical lattice reduction approach to solving LWE.
Laine and Lauter [41] use LLL to demonstrate concrete polynomial-time attacks against lattice problems for large q .
They also explore the boundary of where these attacks start to fail for smaller q .
The intuition is that when q is large, LLL directly finds a vector which is “small enough” compared to q to break the system.
When q is small, LLL does not find a short enough vector.
This is further explored in [20], which gives concrete running times for generalizations of
LLL and quantifies the size of q where these attacks start to fail.
Conclusion
Discussion.
In this paper, we demonstrate that transformers can be trained to perform modular arithmetic.
Building on this capability, we design SALSA, a method for attacking the LWE problem with binary secrets, a hardness assumption at the foundation of many lattice-based cryptosystems.
We show that SALSA can break LWE problems of medium dimension (up to n = 128 ), which is in the same range as problems in the Darmstadt challenge [15], although we restrict to the easier case of sparse binary secrets.
This is the first paper to use transformers to solve hard problems in lattice-based cryptography.
Future work will attempt to scale up SALSA to attack higher dimensional lattices with more general secret distributions.
The key to scaling up to larger lattice dimensions seems to be to increase the model size, especially the dimensions, the number of attention heads, and possibly the depth.
Large architectures should scale to higher dimensional lattices such as n = 256 which is used in practice.
Density, on the other hand, is constrained by the performance of transformers on modular arithmetic.
Better representations of finite fields could improve transformer performance on these tasks.
Finally, our secret guessing algorithms enable SALSA to recover secrets from low-accuracy transformers, therefore reducing the data and time needed for the attack.
Extending these algorithms to take advantage of partial learning should result in better performance.
Ethics and Broader Impact.
The primary value of this work is in alerting the cryptographic and
ML communities to the risk of ML-based attacks on PQC.
Even if current attacks do not succeed, we believe that providing early warning of potential threats is critical.
However, we emphasize that
SALSA represents a proof of concept that cannot be used against real-world implementations (i.e. the PQC schemes which NIST standardized on July 5, 2022).
Additional scaling work would be necessary before these techniques would be relevant to attacking real-world cryptosystems.