Real Crypto via @like
ACM CCS 2018, Part 1.
This major security conference takes place in 2 weeks, so it is good time to review real-crypto-related papers presented there in case you can not attend. There are a few interesting sections, and today we'll look at "Crypto attacks".
1) "Practical state recovery attacks against legacy RNG implementations" https://duhkattack.com/paper.pdf
The ANSI X9.17 key generation algorithm used a block cipher in a way that state or key compromise allow both earlier and future outputs. Interestingly, the secret key for the cipher can often be retrieved from binaries or source code of popular applications.
2) "Prime and Prejudice: Primality Testing Under Adversarial Conditions" https://eprint.iacr.org/2018/749.pdf
Many applications and protocols need prime numbers, and if an adversary manages to slip composite numbers in, the security level drops. Apparently many libraries use Miller-Rabin test as a check, which can be fooled rather easily. The paper shows how easily, where it can be exploited, and which test should be used instead. By the way, I know another usecase: in Zerocoin an issued coin is a commitment to some secret values, which must be prime to be included in an RSA accumulator. If such a coin is not a prime, a forgery inclusion proof can be produced.
3) "Release the Kraken: New KRACKs in the 802.11 Standard" https://papers.mathyvanhoef.com/ccs2018.pdf
How to affect a new key installation in the WiFi protocol.
4) "Pump up the Volume: Practical Database Reconstruction from Volume Leakage on Range Queries"
Not yet available, but the title is self-explaining.
This major security conference takes place in 2 weeks, so it is good time to review real-crypto-related papers presented there in case you can not attend. There are a few interesting sections, and today we'll look at "Crypto attacks".
1) "Practical state recovery attacks against legacy RNG implementations" https://duhkattack.com/paper.pdf
The ANSI X9.17 key generation algorithm used a block cipher in a way that state or key compromise allow both earlier and future outputs. Interestingly, the secret key for the cipher can often be retrieved from binaries or source code of popular applications.
2) "Prime and Prejudice: Primality Testing Under Adversarial Conditions" https://eprint.iacr.org/2018/749.pdf
Many applications and protocols need prime numbers, and if an adversary manages to slip composite numbers in, the security level drops. Apparently many libraries use Miller-Rabin test as a check, which can be fooled rather easily. The paper shows how easily, where it can be exploited, and which test should be used instead. By the way, I know another usecase: in Zerocoin an issued coin is a commitment to some secret values, which must be prime to be included in an RSA accumulator. If such a coin is not a prime, a forgery inclusion proof can be produced.
3) "Release the Kraken: New KRACKs in the 802.11 Standard" https://papers.mathyvanhoef.com/ccs2018.pdf
How to affect a new key installation in the WiFi protocol.
4) "Pump up the Volume: Practical Database Reconstruction from Volume Leakage on Range Queries"
Not yet available, but the title is self-explaining.
ZKSNARK sidechain for Ethereum https://ethresear.ch/t/roll-up-roll-back-snark-side-chain-17000-tps/3675
A group of authors has suggested a sidechain, which is simultaneously anchored to the Ethereum blockchain (resides at some contract address) and whose updates are proved in zero knowledge to be correct Ethereum Virtual Machine executions. Their current suggestion is to use SHA-256 (later Pedersen commitment) as a hash function for the state Merkle tree. A designated operator converts all sidechain transactions to SNARKs. The calculation is 2K constraints for signatures + 30K constraints for the Merkle opening proof. Using DIZK (Usenix'18, see above) for distributed proof generation, they aim for 17K sidechain transactions per single snark proof, but the transactions are currency transfer only (no contracts!).
I also note that for 17K transactions in a single snark you would not need a full Merkle opening for all of them, as these can be compressed. Also Pedersen hash is not 1K constraints but more. For contract calls each transaction would take significantly more time to generate a SNARK. Still, would be nice to see. And of course, replace Pedersen with a suitable version of MIMC.
A group of authors has suggested a sidechain, which is simultaneously anchored to the Ethereum blockchain (resides at some contract address) and whose updates are proved in zero knowledge to be correct Ethereum Virtual Machine executions. Their current suggestion is to use SHA-256 (later Pedersen commitment) as a hash function for the state Merkle tree. A designated operator converts all sidechain transactions to SNARKs. The calculation is 2K constraints for signatures + 30K constraints for the Merkle opening proof. Using DIZK (Usenix'18, see above) for distributed proof generation, they aim for 17K sidechain transactions per single snark proof, but the transactions are currency transfer only (no contracts!).
I also note that for 17K transactions in a single snark you would not need a full Merkle opening for all of them, as these can be compressed. Also Pedersen hash is not 1K constraints but more. For contract calls each transaction would take significantly more time to generate a SNARK. Still, would be nice to see. And of course, replace Pedersen with a suitable version of MIMC.
Ethereum Research
Roll_up / roll_back snark side chain ~17000 tps
Authors BarryWhitehat, Alex Gluchowski, HarryR, Yondon Fu, Philippe Castonguay Overview A snark based side chain is introduced. It requires constant gas per state transition independent of the number of transactions included in each transition. This limitsβ¦
Real Crypto via @like
ACM CCS 18 Crypto Part 2
5) "Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum Signatures" https://eprint.iacr.org/2018/475.pdf
ZK proofs of knowledge and thus signatures can be derived from multiparty computation protocols by proving the view correctness of some subset of parties. The benefit of this approach is that only symmetric primitives are needed such as ciphers and hash functions, and the disadvantage is signatures being linear in circuit size. This paper presents some performance improvements in this direction. Note again, like for SNARK and STARKs, that dedicated (low-AND-gate) ciphers may lead to drastic performance improvements.
6) "Symbolic Proofs for Lattice-Based Cryptography" https://eprint.iacr.org/2018/765.pdf
How to prove the security of lattice-based protocols symbolically.
7) "Lattice-Based zk-SNARKs from Square Span Programs" https://eprint.iacr.org/2018/275.pdf
Authors show how to create SNARKs using lattices (in contrast to quantum-vulnerable elliptic curve SNARKs), but the performance is quite slow (and measurements are not fully provided).
8) "Lattice-Based Group Signatures and Zero-Knowledge Proofs of Automorphism Stability" https://eprint.iacr.org/2018/779.pdf
Another lattice-based cryptosystem. Public, private keys and signatures are all hundreds of KBytes. Seems fine in the post-quantum world:)
5) "Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum Signatures" https://eprint.iacr.org/2018/475.pdf
ZK proofs of knowledge and thus signatures can be derived from multiparty computation protocols by proving the view correctness of some subset of parties. The benefit of this approach is that only symmetric primitives are needed such as ciphers and hash functions, and the disadvantage is signatures being linear in circuit size. This paper presents some performance improvements in this direction. Note again, like for SNARK and STARKs, that dedicated (low-AND-gate) ciphers may lead to drastic performance improvements.
6) "Symbolic Proofs for Lattice-Based Cryptography" https://eprint.iacr.org/2018/765.pdf
How to prove the security of lattice-based protocols symbolically.
7) "Lattice-Based zk-SNARKs from Square Span Programs" https://eprint.iacr.org/2018/275.pdf
Authors show how to create SNARKs using lattices (in contrast to quantum-vulnerable elliptic curve SNARKs), but the performance is quite slow (and measurements are not fully provided).
8) "Lattice-Based Group Signatures and Zero-Knowledge Proofs of Automorphism Stability" https://eprint.iacr.org/2018/779.pdf
Another lattice-based cryptosystem. Public, private keys and signatures are all hundreds of KBytes. Seems fine in the post-quantum world:)
Real Crypto via @like
ASIACRYPT 2018 Part 5
25) "Tighter Security Proofs for GPV-IBE in the Quantum Random Oracle Model" https://eprint.iacr.org/2018/451.pdf
As Learning With Errors (LWE) primitives seem to withstand quantum computers, it is natural to see if the security proofs that involve LWE also are quantum-proof (for example that a hash function can be computed on a quantum machine). This paper creates a proof for one identity-based encryption scheme based on LWE.
26) "Attribute-Based Signatures for Unbounded Languages from Standard Assumptions" https://eprint.iacr.org/2018/842.pdf
How to create fine grained authentication for policies expressed in powerful languages.
27) "Free IF: How to Omit Inactive Branches and Implement S-Universal Garbled Circuit (Almost) for Free" https://eprint.iacr.org/2018/789.pdf
Optimizing secure function evaluation based on garbled circuits.
28) "Constructing Ideal Secret Sharing Schemes based on Chinese Remainder Theorem?" https://eprint.iacr.org/2018/837.pdf
Even though Shamir's secret sharing has perfect rate, it can not handle arbitrary weights. This paper is the first example of weight-capable secret sharing scheme based on CRT.
29 ) "Improved Inner-product Encryption with Adaptive Security and Full Attribute-hiding" https://eprint.iacr.org/2018/833.pdf
Improving attribute-based encryption. In ABE each plaintext has some boolean attributes, and multiple secret keys exist for decryption. Each secret key can decrypt only a subset of ciphertexts, concretely those whose attributes turn a boolean function F (specific to this key) - to 1.
30) "Simple and More Efficient PRFs with Tight Security from LWE and Matrix-DDH" https://eprint.iacr.org/2018/826.pdf
Pseudo-random functions from LWE: not so fast, not so small, but interesting in the view of post-quantum use of LWE.
25) "Tighter Security Proofs for GPV-IBE in the Quantum Random Oracle Model" https://eprint.iacr.org/2018/451.pdf
As Learning With Errors (LWE) primitives seem to withstand quantum computers, it is natural to see if the security proofs that involve LWE also are quantum-proof (for example that a hash function can be computed on a quantum machine). This paper creates a proof for one identity-based encryption scheme based on LWE.
26) "Attribute-Based Signatures for Unbounded Languages from Standard Assumptions" https://eprint.iacr.org/2018/842.pdf
How to create fine grained authentication for policies expressed in powerful languages.
27) "Free IF: How to Omit Inactive Branches and Implement S-Universal Garbled Circuit (Almost) for Free" https://eprint.iacr.org/2018/789.pdf
Optimizing secure function evaluation based on garbled circuits.
28) "Constructing Ideal Secret Sharing Schemes based on Chinese Remainder Theorem?" https://eprint.iacr.org/2018/837.pdf
Even though Shamir's secret sharing has perfect rate, it can not handle arbitrary weights. This paper is the first example of weight-capable secret sharing scheme based on CRT.
29 ) "Improved Inner-product Encryption with Adaptive Security and Full Attribute-hiding" https://eprint.iacr.org/2018/833.pdf
Improving attribute-based encryption. In ABE each plaintext has some boolean attributes, and multiple secret keys exist for decryption. Each secret key can decrypt only a subset of ciphertexts, concretely those whose attributes turn a boolean function F (specific to this key) - to 1.
30) "Simple and More Efficient PRFs with Tight Security from LWE and Matrix-DDH" https://eprint.iacr.org/2018/826.pdf
Pseudo-random functions from LWE: not so fast, not so small, but interesting in the view of post-quantum use of LWE.
Real Crypto via @like
Mirror curves
Bulletproofs is a great technique but by default it works with circuits over a prime field. Therefore if the algorithm to prove about works points on elliptic curves over some F_p and order N, it might be nontrivial and/or expensive to express point arithmetic over some another field F_p'. Wonderfully, since a group of curve points as multiples of a base point is isomorphic to prime field F_N (when N is prime), one can extend the bulletproof proofs to curve point statements by replacing integers with scalars.
So if you have two curves (called
https://twitter.com/pwuille/status/993572063389605889
https://github.com/BlockchainCommons/secp256k1/issues/1
https://mathoverflow.net/questions/249982/elliptic-curve-related-equivalence-between-fields-of-different-characteristic
Bulletproofs is a great technique but by default it works with circuits over a prime field. Therefore if the algorithm to prove about works points on elliptic curves over some F_p and order N, it might be nontrivial and/or expensive to express point arithmetic over some another field F_p'. Wonderfully, since a group of curve points as multiples of a base point is isomorphic to prime field F_N (when N is prime), one can extend the bulletproof proofs to curve point statements by replacing integers with scalars.
So if you have two curves (called
mirror): A with prime order N and field F_P, and B with order P and field F_N' (maybe N'=N but not necessary). Then you can assert about, for example, signatures on curve A with Bulletproofs using curve B natively. Interestingly, for the Bitcoin curve Secp256k1 there exists a curve with P and N merely swapped (for this to be legitimate the numbers should be within min(2sqr_root(N,P)) due to the Hasse theorem). Existence of such mirror curve for other curves and the security implications of using both curves simultaneously is the subject of future research. https://twitter.com/pwuille/status/993572063389605889
https://github.com/BlockchainCommons/secp256k1/issues/1
https://mathoverflow.net/questions/249982/elliptic-curve-related-equivalence-between-fields-of-different-characteristic
Twitter
Pieter Wuille
@benediktbuenz @ChristopherA The curve we're calling secq has equation y^2 = x^3 + 7 over integers mod n (secp256k1's curve order). This curve happens to have p (secp256k1's field size) as order. So it is a perfect swap of curve/field size, and even has theβ¦
Real Crypto via @like
How Zcash works
In (simplified) Bitcoin, a transaction consists of a list of unspent outputs (=sender public key + hash of transaction he spends), a list of receiver addresses (=public keys), total amount, and which receiver gets how much. All this is public. In Zcash, all this is hidden: you can think that there are only hashes of all values + proof of correctness. Transactions are ordered by the consensus, and are appended to the addition-only tree T as a leaf, where the root of the tree is assigned with the value of the hash of all leaves.
The proof of correctness evidently includes:
- the proof that for every sender public key the sender knows both his private key, amount and all receiver keys.
- the proof that the amounts for all receivers add up to the total amount.
- the proof that every unspent output is part of the tree T (or some its earlier version).
Since all the values to prove about are hashed, we need a protocol that proves the correctness of computation without revealing inputs and some outputs. In this case only the root value of T and the transaction itself are revealed. The protocol is ZK-SNARK: the proof is short and fast to verify, but its generation is linear (or more) in the computation length. Since the last proof is about a chain of hash function invocations in the tree, it is the most expensive (took 40 seconds before the Sapling upgrade).
One thing we have missed: an unspent output can not be spent twice. To prevent that, we add to every receiver address a spending secret, and open it for every unspent output. The ledger then checks uniqueness. The proof then includes:
- the proof that the each revealed spending secret corresponds to one unspent output.
To prevent front-running, the spending secret is a function of the receiver address, and it is also proved. That's it.
In (simplified) Bitcoin, a transaction consists of a list of unspent outputs (=sender public key + hash of transaction he spends), a list of receiver addresses (=public keys), total amount, and which receiver gets how much. All this is public. In Zcash, all this is hidden: you can think that there are only hashes of all values + proof of correctness. Transactions are ordered by the consensus, and are appended to the addition-only tree T as a leaf, where the root of the tree is assigned with the value of the hash of all leaves.
The proof of correctness evidently includes:
- the proof that for every sender public key the sender knows both his private key, amount and all receiver keys.
- the proof that the amounts for all receivers add up to the total amount.
- the proof that every unspent output is part of the tree T (or some its earlier version).
Since all the values to prove about are hashed, we need a protocol that proves the correctness of computation without revealing inputs and some outputs. In this case only the root value of T and the transaction itself are revealed. The protocol is ZK-SNARK: the proof is short and fast to verify, but its generation is linear (or more) in the computation length. Since the last proof is about a chain of hash function invocations in the tree, it is the most expensive (took 40 seconds before the Sapling upgrade).
One thing we have missed: an unspent output can not be spent twice. To prevent that, we add to every receiver address a spending secret, and open it for every unspent output. The ledger then checks uniqueness. The proof then includes:
- the proof that the each revealed spending secret corresponds to one unspent output.
To prevent front-running, the spending secret is a function of the receiver address, and it is also proved. That's it.
Real Crypto via @like
ASIACRYPT 2018 Part 6
31) "Optimal Linear Multiparty Conditional Disclosure of Secrets Protocols" https://eprint.iacr.org/2018/441.pdf
Many MPC and attribute-based encryption schemes require a Conditional Disclosure of Secrets (CDS) protocol, where a party learns a secret known to the group only if the messages from the group satisfy some predicate. This paper explores messages that are linear functions of the secret value.
32) "Measuring, simulating and exploiting the head concavity phenomenon in BKZ" https://eprint.iacr.org/2018/856.pdf
Investigating the lattice cryptanalysis method BKZ with few results.
33) "LWE Without Modular Reduction and Improved Side-Channel Attacks Against BLISS" https://eprint.iacr.org/2018/822.pdf
BLISS is a lattice-based signature algorithm, which was attacked recently with side-channels. The authors demonstrate that the private key can be recovered using a special, easy instance of the LWE problem. However, they need 20000 traces.
34) "Short Digital Signatures and ID-KEMs via Truncation Collision Resistance" https://eprint.iacr.org/2017/061.pdf
Using collision resistance assumption for truncated hash functions to prove the security of various primitives in the standard model rather than with random oracles.
35) "Simple and Efficient Two-Server ORAM" https://eprint.iacr.org/2018/005.pdf
ORAM is the oblivious RAM protocol, when client stores memory at the server, but hides the access pattern. While most (if not all) methods require the server to compute over the entire data at least once, they compete in communication complexity. This paper shows how to work with two servers and logarithmic communication, improving the previous work by a large constant factor.
36 "Statistical Ineffective Fault Attacks on Masked AES with Fault Countermeasures" https://eprint.iacr.org/2018/357.pdf
Fault attacks are mitigated by redundant computations and other methods; the attackers respond with ineffective fault attacks where faults are analyzed regarding whether they caused an error despite redundancy. This paper shows new features of such attacks (if you can run them).
31) "Optimal Linear Multiparty Conditional Disclosure of Secrets Protocols" https://eprint.iacr.org/2018/441.pdf
Many MPC and attribute-based encryption schemes require a Conditional Disclosure of Secrets (CDS) protocol, where a party learns a secret known to the group only if the messages from the group satisfy some predicate. This paper explores messages that are linear functions of the secret value.
32) "Measuring, simulating and exploiting the head concavity phenomenon in BKZ" https://eprint.iacr.org/2018/856.pdf
Investigating the lattice cryptanalysis method BKZ with few results.
33) "LWE Without Modular Reduction and Improved Side-Channel Attacks Against BLISS" https://eprint.iacr.org/2018/822.pdf
BLISS is a lattice-based signature algorithm, which was attacked recently with side-channels. The authors demonstrate that the private key can be recovered using a special, easy instance of the LWE problem. However, they need 20000 traces.
34) "Short Digital Signatures and ID-KEMs via Truncation Collision Resistance" https://eprint.iacr.org/2017/061.pdf
Using collision resistance assumption for truncated hash functions to prove the security of various primitives in the standard model rather than with random oracles.
35) "Simple and Efficient Two-Server ORAM" https://eprint.iacr.org/2018/005.pdf
ORAM is the oblivious RAM protocol, when client stores memory at the server, but hides the access pattern. While most (if not all) methods require the server to compute over the entire data at least once, they compete in communication complexity. This paper shows how to work with two servers and logarithmic communication, improving the previous work by a large constant factor.
36 "Statistical Ineffective Fault Attacks on Masked AES with Fault Countermeasures" https://eprint.iacr.org/2018/357.pdf
Fault attacks are mitigated by redundant computations and other methods; the attackers respond with ineffective fault attacks where faults are analyzed regarding whether they caused an error despite redundancy. This paper shows new features of such attacks (if you can run them).
Real Crypto via @like
Verifiable Delay Functions
Boneh et al. have recently introduced this concept https://eprint.iacr.org/2018/601.pdf . Shortly, these are functions that guaranteely require certain amount of time to be computed even if parallelism is available, and the output can be easily verified for correctness. For example, a Bitcoin proof of work is not a VDF because it can be (and is) computed quickly by a number of parallel processors. This concept has many practical applications for decentralized protocols such as randomness beacon: participants bring their seeds within time T then apply VDF G to the collection. The result can not be manipulated by any party if G can not be computed faster than T.
Interestingly, one can not obtain such functions if parallelism is unlimited: if both input and output are short, the solution search is an NP problem and we do not know any computation that requires exponential (of input) time, even if we drop the fast verification requirement. Also the solution can be brute forced by an exponential number of processors.
The authors suggest several VDF candidates for bounded parallelism. First, one can obtain a VDF by applying a ZKSNARK proof generation algorithm to a sequence of hash function calls. In the straightforward setting the function is too slow, but it can be sped up using incremental proofs of computation. Secondly, a polynomial GCD of degree t is a candidate if less than t^2 processors are available. There are also some other underexplored candidates, but no definitively good one.
One may wonder if some memory-hard functions such as our Equihash or MTP are good VDF. Unfortunately, the MTP computation is inherently parallel even though we tried to make it as memory-hard as possible by using a large instance of Argon2, thus making it difficult for ASIC implementation. Equihash is more promising as long as the parallelism is bounded: the bottleneck of Equihash is sorting, and there are well known logarithmic parallel sorting algorithms, though they are all very difficult for practical implementation on any architecture. When a more practical mesh architecture is considered, we are aware of a parallel algorithm that sorts N inputs in sqrt(N) time with N^2 processors. The delay is present but it is sublinear. It remains to see if other candidates appear.
Boneh et al. have recently introduced this concept https://eprint.iacr.org/2018/601.pdf . Shortly, these are functions that guaranteely require certain amount of time to be computed even if parallelism is available, and the output can be easily verified for correctness. For example, a Bitcoin proof of work is not a VDF because it can be (and is) computed quickly by a number of parallel processors. This concept has many practical applications for decentralized protocols such as randomness beacon: participants bring their seeds within time T then apply VDF G to the collection. The result can not be manipulated by any party if G can not be computed faster than T.
Interestingly, one can not obtain such functions if parallelism is unlimited: if both input and output are short, the solution search is an NP problem and we do not know any computation that requires exponential (of input) time, even if we drop the fast verification requirement. Also the solution can be brute forced by an exponential number of processors.
The authors suggest several VDF candidates for bounded parallelism. First, one can obtain a VDF by applying a ZKSNARK proof generation algorithm to a sequence of hash function calls. In the straightforward setting the function is too slow, but it can be sped up using incremental proofs of computation. Secondly, a polynomial GCD of degree t is a candidate if less than t^2 processors are available. There are also some other underexplored candidates, but no definitively good one.
One may wonder if some memory-hard functions such as our Equihash or MTP are good VDF. Unfortunately, the MTP computation is inherently parallel even though we tried to make it as memory-hard as possible by using a large instance of Argon2, thus making it difficult for ASIC implementation. Equihash is more promising as long as the parallelism is bounded: the bottleneck of Equihash is sorting, and there are well known logarithmic parallel sorting algorithms, though they are all very difficult for practical implementation on any architecture. When a more practical mesh architecture is considered, we are aware of a parallel algorithm that sorts N inputs in sqrt(N) time with N^2 processors. The delay is present but it is sublinear. It remains to see if other candidates appear.
Real Crypto via @like
ASIACRYPT 2018 Part 7
37) "Quantum Algorithms for the k-xor Problem" Not avalaible yet. Is it about the generalized birthday problem?
38) "Concretely Efficient Large-Scale MPC with Active Security" https://eprint.iacr.org/2018/843.pdf
Shows that if certain number (more than one) of MPC participants is honest, the performance of known algorithms can be improved by a small factor.
39) "Short Variable Length Domain Extenders With Beyond Birthday Bound Security" https://eprint.iacr.org/2018/783.pdf
Based on N-bit blockcipher, create a mode that encrypts up to 2N bits with security beyond 2^(N/2).
40) "Decentralized Multi-Client Functional Encryption for Inner Product" https://eprint.iacr.org/2017/989.pdf
Again functional encryption (see paper 29) with similar results. Recall that FE is helpful to compute certain functions on the encrypted data, in this case the function is inner product and is helpful to compute, for example, weighted average of some encrypted tuples.
41) "Homomorphic Secret Sharing for Low Degree Polynomials" Not available yet.
42) "CSIDH: An Efficient Post-Quantum Commutative Group Action" https://eprint.iacr.org/2018/383.pdf
A new key agreement cryptosystem based on the problem of finding an explicit isogeny between two elliptic curves. Supposedly quantum-resistant, this method makes use of supersingular curves.
43) "Multi-Key Homomorphic Signatures Unforgeable under Insider Corruption" https://eprint.iacr.org/2016/834.pdf
Homomorphic Signatures are those where one can compute a signature over a function of already signed arguments. This paper suggests a design that withstands corrupted signers (who each sign its own input).
44) "On the Concrete Security of Goldreichβs Pseudorandom Generator" Not available yet.
45) "Cryptanalysis of MORUS" https://eprint.iacr.org/2018/464.pdf
Linear cryptanalysis of an authenticated encryption scheme Morus based on the rotational invariance of some components. Requires 2^152 data.
37) "Quantum Algorithms for the k-xor Problem" Not avalaible yet. Is it about the generalized birthday problem?
38) "Concretely Efficient Large-Scale MPC with Active Security" https://eprint.iacr.org/2018/843.pdf
Shows that if certain number (more than one) of MPC participants is honest, the performance of known algorithms can be improved by a small factor.
39) "Short Variable Length Domain Extenders With Beyond Birthday Bound Security" https://eprint.iacr.org/2018/783.pdf
Based on N-bit blockcipher, create a mode that encrypts up to 2N bits with security beyond 2^(N/2).
40) "Decentralized Multi-Client Functional Encryption for Inner Product" https://eprint.iacr.org/2017/989.pdf
Again functional encryption (see paper 29) with similar results. Recall that FE is helpful to compute certain functions on the encrypted data, in this case the function is inner product and is helpful to compute, for example, weighted average of some encrypted tuples.
41) "Homomorphic Secret Sharing for Low Degree Polynomials" Not available yet.
42) "CSIDH: An Efficient Post-Quantum Commutative Group Action" https://eprint.iacr.org/2018/383.pdf
A new key agreement cryptosystem based on the problem of finding an explicit isogeny between two elliptic curves. Supposedly quantum-resistant, this method makes use of supersingular curves.
43) "Multi-Key Homomorphic Signatures Unforgeable under Insider Corruption" https://eprint.iacr.org/2016/834.pdf
Homomorphic Signatures are those where one can compute a signature over a function of already signed arguments. This paper suggests a design that withstands corrupted signers (who each sign its own input).
44) "On the Concrete Security of Goldreichβs Pseudorandom Generator" Not available yet.
45) "Cryptanalysis of MORUS" https://eprint.iacr.org/2018/464.pdf
Linear cryptanalysis of an authenticated encryption scheme Morus based on the rotational invariance of some components. Requires 2^152 data.
Our Memory-hard Proof of Work Equihash gains popularity. In the recent GPU miner publication I have found out that quite many cryptocurrencies are using it with different parameters: https://cryptomining-blog.com/10300-new-lolminer-0-5-amd-and-nvidia-opencl-multi-equihash-gpu-miner/
Note that Equihash-144/5 requires 2.2 GB, and Equihash-192/7 - 3GB. This is not a record: the Grin project has recently discussed using Equihash-108/3 with 7 GB memory requirements. https://www.grin-forum.org/t/proof-of-work-update/713
I believe this is due low spread of 8GB+ GPU. It will be also quite difficult to build an ASIC with 7 GB RAM, as it will be quite big. And by the time of the delivery one can switch for higher parameters.
The performance of these parameters should be reasonable. LolMiner claims 90 sol/sec for 144/5 on 1080ti, https://forum.bitcoingold.org/t/lolminer-0-6-alpha-preview-is-available-1080ti-89sol-s-1080-54-sol-s-vega-64-44sol-s/2447
so 108/3 should be at least 10 sol/s (2^27 entries in the 108/3 list vs 2^24 in the 144/5 list with more iterations in the latter)
Note that Equihash-144/5 requires 2.2 GB, and Equihash-192/7 - 3GB. This is not a record: the Grin project has recently discussed using Equihash-108/3 with 7 GB memory requirements. https://www.grin-forum.org/t/proof-of-work-update/713
I believe this is due low spread of 8GB+ GPU. It will be also quite difficult to build an ASIC with 7 GB RAM, as it will be quite big. And by the time of the delivery one can switch for higher parameters.
The performance of these parameters should be reasonable. LolMiner claims 90 sol/sec for 144/5 on 1080ti, https://forum.bitcoingold.org/t/lolminer-0-6-alpha-preview-is-available-1080ti-89sol-s-1080-54-sol-s-vega-64-44sol-s/2447
so 108/3 should be at least 10 sol/s (2^27 entries in the 108/3 list vs 2^24 in the 144/5 list with more iterations in the latter)
Grin
Proof of work update
Over the past 6 months, it has become apparent to the team that: The availability of an ASIC for Cuckoo Cycle at launch is a distinct possibility. The current ASIC market is centralized, especially when it comes to recent cryptocurrency releases. The developmentβ¦
ASIACRYPT 2018 Part 8
46) "State Separation for Code-Based Game-Playing Proofs" https://eprint.iacr.org/2018/306.pdf (early version)
A new framework for scheme security analysis.
47) "Two attacks on rank metric code-based schemes: RankSign and an Identity-Based-Encryption scheme" https://eprint.iacr.org/2018/339.pdf
Code-Based schemes are post-quantum candidates as decoding in certain metrics is NP-hard. However, the existing primitives have big keys and signatures. The paper shows that one of recent proposals can be broken because the codewords produced with recommended parameters have low weight.
48) "An efficient structural attack on NIST submission DAGS" https://eprint.iacr.org/2018/456.pdf
Another code-based scheme is broken, now the encryption one. The scheme instantiates McEliece cryptosystem with Srivastava codes, and, as typical for structured codes (cf. attacks on McEliece with Reed-Muller or Reed-Solomon), is broken for suggested parameters.
49) "Attacks and Countermeasures for White-box Designs" https://eprint.iacr.org/2018/049.pdf
White-box schemes obfuscate the secret key so that the entire encryption algorithm with the key can be published and neither the key nor a compact representation of the scheme can be found. This paper shows that the common masking technique (to protect from side channel analysis) does not increase the security level since the obfuscation by masking is weak.
50) "Improved (Almost) Tightly-Secure Simulation-Sound QA-NIZK with Applications" https://eprint.iacr.org/2018/849.pdf
A zero-knowledge argument system that delivers a public-key encryption in the strongest security model and is verifiable.
51) "Identity-based Encryption Tightly Secure under Chosen-ciphertext Attacks" https://eprint.iacr.org/2018/834.pdf
An IBE scheme in a weak security model (only one challenge ciphertext allowed for CCA) but whose security is very tightly reduced to the underlying assumption.
46) "State Separation for Code-Based Game-Playing Proofs" https://eprint.iacr.org/2018/306.pdf (early version)
A new framework for scheme security analysis.
47) "Two attacks on rank metric code-based schemes: RankSign and an Identity-Based-Encryption scheme" https://eprint.iacr.org/2018/339.pdf
Code-Based schemes are post-quantum candidates as decoding in certain metrics is NP-hard. However, the existing primitives have big keys and signatures. The paper shows that one of recent proposals can be broken because the codewords produced with recommended parameters have low weight.
48) "An efficient structural attack on NIST submission DAGS" https://eprint.iacr.org/2018/456.pdf
Another code-based scheme is broken, now the encryption one. The scheme instantiates McEliece cryptosystem with Srivastava codes, and, as typical for structured codes (cf. attacks on McEliece with Reed-Muller or Reed-Solomon), is broken for suggested parameters.
49) "Attacks and Countermeasures for White-box Designs" https://eprint.iacr.org/2018/049.pdf
White-box schemes obfuscate the secret key so that the entire encryption algorithm with the key can be published and neither the key nor a compact representation of the scheme can be found. This paper shows that the common masking technique (to protect from side channel analysis) does not increase the security level since the obfuscation by masking is weak.
50) "Improved (Almost) Tightly-Secure Simulation-Sound QA-NIZK with Applications" https://eprint.iacr.org/2018/849.pdf
A zero-knowledge argument system that delivers a public-key encryption in the strongest security model and is verifiable.
51) "Identity-based Encryption Tightly Secure under Chosen-ciphertext Attacks" https://eprint.iacr.org/2018/834.pdf
An IBE scheme in a weak security model (only one challenge ciphertext allowed for CCA) but whose security is very tightly reduced to the underlying assumption.
Real Crypto via @like
Threshold signatures allow you to split the private key into N parts and give them to N parties so that T-of-N guys can always create a signature. In some case a verifier can not even distinguish who the signers are. Threshold signatures have been proposed as variations of many popular schemes (for example, the BLS threshold signatures by Boldyreva), but
for quite some time they did not exist for ECDSA. As ECDSA is widely used in Bitcoin, Ethereum and many other blockchains, such a scheme would allow for more compact multisignature wallets, potentially indistinguishable from regular accounts.
I was quite surprised when learned that no threshold signature protocol exists for ECDSA with more than 2 parties. The problem was that the parties have to collectively exponentiate both to the secret and its inverse. Still, the two papers on exactly this subject have appeared at the ACM CCS 2018 a year ago, which I missed in the review. One is "Fast Multiparty Threshold ECDSA with Fast Trustless Setup" http://stevengoldfeder.com/papers/GG18.pdf and another "Fast Secure Multiparty ECDSA with Practical Distributed Key Generation and Applications to Cryptocurrency Custody" https://eprint.iacr.org/2018/987.pdf
The protocols are notably similar, even the trick of splitting a quadratic monomial in the exponent into a sum of monomials. However, the further implementations are different, so that the former paper performs better by a factor of magnitude or so. Both can finish within a few seconds with dozens of parties, but the problem is with the protocol. Currently it is 4-5 rounds of "interact_with_each_party-compute-broadcast" which will of course be nightmare for human multisig signers, but viable for machines. Startup idea for cold storage?
for quite some time they did not exist for ECDSA. As ECDSA is widely used in Bitcoin, Ethereum and many other blockchains, such a scheme would allow for more compact multisignature wallets, potentially indistinguishable from regular accounts.
I was quite surprised when learned that no threshold signature protocol exists for ECDSA with more than 2 parties. The problem was that the parties have to collectively exponentiate both to the secret and its inverse. Still, the two papers on exactly this subject have appeared at the ACM CCS 2018 a year ago, which I missed in the review. One is "Fast Multiparty Threshold ECDSA with Fast Trustless Setup" http://stevengoldfeder.com/papers/GG18.pdf and another "Fast Secure Multiparty ECDSA with Practical Distributed Key Generation and Applications to Cryptocurrency Custody" https://eprint.iacr.org/2018/987.pdf
The protocols are notably similar, even the trick of splitting a quadratic monomial in the exponent into a sum of monomials. However, the further implementations are different, so that the former paper performs better by a factor of magnitude or so. Both can finish within a few seconds with dozens of parties, but the problem is with the protocol. Currently it is 4-5 rounds of "interact_with_each_party-compute-broadcast" which will of course be nightmare for human multisig signers, but viable for machines. Startup idea for cold storage?
At the latest DevCon4 conference, Eli Ben-Sasson presented several notable improvements to ZK-STARKs.
The improvements were quite practical, as the proof generation time and size decreased. For certain amount of computation, it is cheaper to verify a STARK proof than the computation itself. Currently the threshold is about 100 (Pedersen) hashes. Therefore, even when the zero knowledge is not required (like scalability issues), STARKs can play a significant role. As I understand, removing zero knowledge does not bring much gain, but this can change.
The proof size for payment blockchains has decreased almost tenfold, from 500KB to 50KB. Bulletproofs proof (just the range proof) can do it in 1.5KB. The proof generation for Pedersen Merkle trees takes about 1 second and increases logarithmically with the number of layers.
It is important to note that the verifier runs part of the original computation, so the decrease in the computation (not necessarily the proof) will also reduce the verification time.
A new STARK-friendly hash function, Friday, has been presented, with quite small proof generation time but only 64-bit collision resistance. Our own hash function design (will talk about it later) seems to be more perspective.
Still, Zcash architects are hesitant to replace SNARKs with STARKs. This makes sense: for a big number of proofs the STARK size overhead is significant. It might be possible to prune the proofs by replacing them with metaproofs, but then the receipients must obtain more information from senders.
The improvements were quite practical, as the proof generation time and size decreased. For certain amount of computation, it is cheaper to verify a STARK proof than the computation itself. Currently the threshold is about 100 (Pedersen) hashes. Therefore, even when the zero knowledge is not required (like scalability issues), STARKs can play a significant role. As I understand, removing zero knowledge does not bring much gain, but this can change.
The proof size for payment blockchains has decreased almost tenfold, from 500KB to 50KB. Bulletproofs proof (just the range proof) can do it in 1.5KB. The proof generation for Pedersen Merkle trees takes about 1 second and increases logarithmically with the number of layers.
It is important to note that the verifier runs part of the original computation, so the decrease in the computation (not necessarily the proof) will also reduce the verification time.
A new STARK-friendly hash function, Friday, has been presented, with quite small proof generation time but only 64-bit collision resistance. Our own hash function design (will talk about it later) seems to be more perspective.
Still, Zcash architects are hesitant to replace SNARKs with STARKs. This makes sense: for a big number of proofs the STARK size overhead is significant. It might be possible to prune the proofs by replacing them with metaproofs, but then the receipients must obtain more information from senders.
Real Crypto via @like
ASIACRYPT 2018 Part 9
52) "Simulatable Channels: Extended Security that is Universally Composable and Easier to Prove" https://eprint.iacr.org/2018/844.pdf
Cryptographic constructions often come with formal proofs, and there are several techniques to compose such proofs. One of them is simulation where the behaviour of a secret-possesing party is simulated by a machine without a secret. This paper shows how some secret-channel protocols can be proven secure in this paradigm.\
53) "On the Hardness of the Computational Ring-LWR Problem and its Applications" https://eprint.iacr.org/2018/536.pdf
Learning With Rounding (LWR) is an area potentially suitable for post-quantum cryptography as related problems have not been sped up with a quantum computer yet. The paper introduces some new security assumptions based on the hardness of LWR and puts certain post-quantum schemes into their context.
54) "Towards practical key exchange from ordinary isogeny graphs" https://eprint.iacr.org/2018/485.pdf
Isogeny-based protocols is another family of (potential) quantum-secure schemes, but so far all constructions were impractical. This paper makes significant performance improvements, but the parameter generation remains a complicated and open problem.
55) "SQL on Structurally-Encrypted Databases" https://eprint.iacr.org/2016/453.pdf
A rather old paper on how to encrypt a database so that some (but not all) relational algebra queries can be performed. The authors' approach leaks less data at the cost of supporting fewer queries compared to other approaches such as property-preserving encryption (PPE)
56) "Non-Interactive Secure Computation from One-Way Functions" https://eprint.iacr.org/2018/1020.pdf
Non-Interactive Secure Computation (NISC) is a family of MPC protocols where minimal interaction between parties is assumed. For example, to compute a function f(X,Y) the owner of X publishes some precomputation g(X), then the owner of Y interacts with it producing h(Y,g(X)), which allows the former to compute F(X,Y). This paper suggests a generic way to do that that uses only one-way functions and does not need oblivious transfer protocols.
57) "Arya: Nearly Linear-Time Zero-Knowledge Proofs for Correct Program Execution" https://eprint.iacr.org/2018/380.pdf
A new proof system where prover's overhead is minimal (linear of the program size, compared to superlinear in other systems) -- at the cost of quite high verification and communication costs, which attribute to the square root of program size.
52) "Simulatable Channels: Extended Security that is Universally Composable and Easier to Prove" https://eprint.iacr.org/2018/844.pdf
Cryptographic constructions often come with formal proofs, and there are several techniques to compose such proofs. One of them is simulation where the behaviour of a secret-possesing party is simulated by a machine without a secret. This paper shows how some secret-channel protocols can be proven secure in this paradigm.\
53) "On the Hardness of the Computational Ring-LWR Problem and its Applications" https://eprint.iacr.org/2018/536.pdf
Learning With Rounding (LWR) is an area potentially suitable for post-quantum cryptography as related problems have not been sped up with a quantum computer yet. The paper introduces some new security assumptions based on the hardness of LWR and puts certain post-quantum schemes into their context.
54) "Towards practical key exchange from ordinary isogeny graphs" https://eprint.iacr.org/2018/485.pdf
Isogeny-based protocols is another family of (potential) quantum-secure schemes, but so far all constructions were impractical. This paper makes significant performance improvements, but the parameter generation remains a complicated and open problem.
55) "SQL on Structurally-Encrypted Databases" https://eprint.iacr.org/2016/453.pdf
A rather old paper on how to encrypt a database so that some (but not all) relational algebra queries can be performed. The authors' approach leaks less data at the cost of supporting fewer queries compared to other approaches such as property-preserving encryption (PPE)
56) "Non-Interactive Secure Computation from One-Way Functions" https://eprint.iacr.org/2018/1020.pdf
Non-Interactive Secure Computation (NISC) is a family of MPC protocols where minimal interaction between parties is assumed. For example, to compute a function f(X,Y) the owner of X publishes some precomputation g(X), then the owner of Y interacts with it producing h(Y,g(X)), which allows the former to compute F(X,Y). This paper suggests a generic way to do that that uses only one-way functions and does not need oblivious transfer protocols.
57) "Arya: Nearly Linear-Time Zero-Knowledge Proofs for Correct Program Execution" https://eprint.iacr.org/2018/380.pdf
A new proof system where prover's overhead is minimal (linear of the program size, compared to superlinear in other systems) -- at the cost of quite high verification and communication costs, which attribute to the square root of program size.
Real Crypto via @like
ASIACRYPT 2018 Part 10
58) "Building Quantum-One-Way Functions from Block Ciphers: Davies-Meyer and Merkle-Damgard Constructions" https://eprint.iacr.org/2018/841.pdf
Recently several block ciphers were found broken if the adversary can query them on a quantum encryptor (i.e. get a quantum superposition of ciphertexts). As many hash functions are built from block ciphers, it is an open question if collision or preimage resistance suffers in this setting. The authors show that the well-known Merkle-Damgard scheme provides a quantum-secure one-way hash function in the ideal cipher model if the compression function is built from this ideal cipher via Davies-Meyer. Nice positive result in the post quantum security.
59) "A Universally Composable Framework for the Privacy of Email Ecosystems" https://eprint.iacr.org/2018/848.pdf
This paper suggests a formal approach for security evaluation of email systems w.r.t. anonymity. The authors show that some mixing network does provide necessary security guarantees if users are similarly active.
60) "Security of the Blockchain against Long Delay Attack" https://eprint.iacr.org/2018/800.pdf
Previous research showed that Proof of Work is a secure consensus method assuming certain percentage of honest mining power and limit on the message delay an adversary can cause. This paper shows that PoW is still secure if message delay is arbitrarily high but only a fraction of messages can be delayed.
61) "ZCZ β Achieving n-bit SPRP Security with a Minimal Number of Tweakable-block-cipher Calls" https://eprint.iacr.org/2018/819.pdf
Certain recent authenticated encryption modes use a tweakable block cipher (TBC), where public constants (tweaks) are mixed into the secret key. It has been unknown how many TBC calls per message block is necessary for security. The paper presents a new construction with ratio 1.5 while also claiming an attack on any design with ratio 1.5-eps.
62) "New MILP Modeling: Improved Conditional Cube Attacks on Keccak-based Constructions" https://eprint.iacr.org/2017/1030.pdf
Cube attack is a key recovery technique for bit-oriented symmetric primitives of low degree such as Keccak-based MACs, where a hypercube of plaintexts is encrypted. The authors present new results by attacking up to 9 rounds of KMAC256 (2^147 time) and some reduced versions of AE designs Keyak and Ketje. Improvements come from better use of integer linear programming to find such cubes.
63) "Tight Private Circuits: Achieving Probing Security with the Least Refreshing" https://eprint.iacr.org/2018/439.pdf
Masking is a technique to add and remove noise during the computation with a secret, which defeats some side-channel attacks. The paper presents a tool that analyzes and optimizes the mask layout assuming certain number of probing positions.
64) "More is Less: Perfectly Secure Oblivious Algorithms in the Multi-Server Setting?" https://eprint.iacr.org/2018/851.pdf
A counterpart to paper 35, which deals with 2-server oblivious RAM. Here 3 servers are considered, and the improvement over 1 server is logarithmic: log^2 N bandwidth blowup compared to log^3 N for single server, when N elements are stored. Note though that similar improvements have already been achieved with weaker security requirements.
65) "Leakage-Resilient Cryptography from Puncturable Primitives and Obfuscation" https://eprint.iacr.org/2018/781.pdf
Adds new notions and a framework to construct leakage-resilient schemes: those that remain secure despite leaked functions on intermediate variables. Many reductionist results.
58) "Building Quantum-One-Way Functions from Block Ciphers: Davies-Meyer and Merkle-Damgard Constructions" https://eprint.iacr.org/2018/841.pdf
Recently several block ciphers were found broken if the adversary can query them on a quantum encryptor (i.e. get a quantum superposition of ciphertexts). As many hash functions are built from block ciphers, it is an open question if collision or preimage resistance suffers in this setting. The authors show that the well-known Merkle-Damgard scheme provides a quantum-secure one-way hash function in the ideal cipher model if the compression function is built from this ideal cipher via Davies-Meyer. Nice positive result in the post quantum security.
59) "A Universally Composable Framework for the Privacy of Email Ecosystems" https://eprint.iacr.org/2018/848.pdf
This paper suggests a formal approach for security evaluation of email systems w.r.t. anonymity. The authors show that some mixing network does provide necessary security guarantees if users are similarly active.
60) "Security of the Blockchain against Long Delay Attack" https://eprint.iacr.org/2018/800.pdf
Previous research showed that Proof of Work is a secure consensus method assuming certain percentage of honest mining power and limit on the message delay an adversary can cause. This paper shows that PoW is still secure if message delay is arbitrarily high but only a fraction of messages can be delayed.
61) "ZCZ β Achieving n-bit SPRP Security with a Minimal Number of Tweakable-block-cipher Calls" https://eprint.iacr.org/2018/819.pdf
Certain recent authenticated encryption modes use a tweakable block cipher (TBC), where public constants (tweaks) are mixed into the secret key. It has been unknown how many TBC calls per message block is necessary for security. The paper presents a new construction with ratio 1.5 while also claiming an attack on any design with ratio 1.5-eps.
62) "New MILP Modeling: Improved Conditional Cube Attacks on Keccak-based Constructions" https://eprint.iacr.org/2017/1030.pdf
Cube attack is a key recovery technique for bit-oriented symmetric primitives of low degree such as Keccak-based MACs, where a hypercube of plaintexts is encrypted. The authors present new results by attacking up to 9 rounds of KMAC256 (2^147 time) and some reduced versions of AE designs Keyak and Ketje. Improvements come from better use of integer linear programming to find such cubes.
63) "Tight Private Circuits: Achieving Probing Security with the Least Refreshing" https://eprint.iacr.org/2018/439.pdf
Masking is a technique to add and remove noise during the computation with a secret, which defeats some side-channel attacks. The paper presents a tool that analyzes and optimizes the mask layout assuming certain number of probing positions.
64) "More is Less: Perfectly Secure Oblivious Algorithms in the Multi-Server Setting?" https://eprint.iacr.org/2018/851.pdf
A counterpart to paper 35, which deals with 2-server oblivious RAM. Here 3 servers are considered, and the improvement over 1 server is logarithmic: log^2 N bandwidth blowup compared to log^3 N for single server, when N elements are stored. Note though that similar improvements have already been achieved with weaker security requirements.
65) "Leakage-Resilient Cryptography from Puncturable Primitives and Obfuscation" https://eprint.iacr.org/2018/781.pdf
Adds new notions and a framework to construct leakage-resilient schemes: those that remain secure despite leaked functions on intermediate variables. Many reductionist results.
Some interesting recent preprints
1) "Parallel Chains: Improving Throughput and Latency of Blockchain Protocols via Parallel Composition" https://eprint.iacr.org/2018/1119.pdf
If you execute the same blockchain in multiple instances simultaneously without synchrony, but with dumping a combined output of all to some another ledger - what can you get? The authors suggest a generic analysis framework + some throughput and latency results for already existing schemes. This applies to sharding and duplication, to PoW and PoS. Should be helpful for blockchain designers.
2) "Proof-of-Stake Protocols for Privacy-Aware Blockchains" https://eprint.iacr.org/2018/1105.pdf
The paper addresses the following problem. In protocols like Proof-of-Stake the block generation is awarded to the winner in a kind of lottery, who has to commit (bid) some coins in order to participate. Even though the bid amount affects the winning probability, one might want to both the exact amount and the identity of a winner. The latter is defined as unlinkability between the set of bidder accounts and the identifier of the consensus participant (IP address, consensus-specific public key or something else).
We also assume that the win event does not depend on other's actions, only on the data supplied by the bidder. This simplifies a proof, but requires some control to prevent grinding attack, i.e. quickly searching for the data that would yield a win - before the actual bidding.
Depending on the payment protocol in the blockchain, this requirement can be satisfied differently. My intution says that in the privacy-preserving payment protocol, like Zcash, all bidders may first call a verifiable random function (VRF) to get a random value, then privately transact to a certain address with the VRF output in the attachment, and finally anonymously present a proof-of-bid. If the bid wins, they can accompany it with a proof-of-win, referring to the VRF output included in the bid transaction. The complexity of the latter depends on the winning function, but, in contrast to this paper, I think that SNARK/STARK friendly winning functions are easy to create.
When payments are public we need to additionally break the link between the bid and the winner. The straightforward, for me, solution, would be to effectively emulate the Zcash data structure by keeping all bids in a Merkle tree and by separating bidding accounts from consensus participants. The authors follow pretty much this way by not specifying the data structure for bids. They additionally design a new type of VRF that permit anonymous verification without SNARKs/STARKs. However, since the rest of the method requires such a technique to increase performance, I doubt it is essential.
1) "Parallel Chains: Improving Throughput and Latency of Blockchain Protocols via Parallel Composition" https://eprint.iacr.org/2018/1119.pdf
If you execute the same blockchain in multiple instances simultaneously without synchrony, but with dumping a combined output of all to some another ledger - what can you get? The authors suggest a generic analysis framework + some throughput and latency results for already existing schemes. This applies to sharding and duplication, to PoW and PoS. Should be helpful for blockchain designers.
2) "Proof-of-Stake Protocols for Privacy-Aware Blockchains" https://eprint.iacr.org/2018/1105.pdf
The paper addresses the following problem. In protocols like Proof-of-Stake the block generation is awarded to the winner in a kind of lottery, who has to commit (bid) some coins in order to participate. Even though the bid amount affects the winning probability, one might want to both the exact amount and the identity of a winner. The latter is defined as unlinkability between the set of bidder accounts and the identifier of the consensus participant (IP address, consensus-specific public key or something else).
We also assume that the win event does not depend on other's actions, only on the data supplied by the bidder. This simplifies a proof, but requires some control to prevent grinding attack, i.e. quickly searching for the data that would yield a win - before the actual bidding.
Depending on the payment protocol in the blockchain, this requirement can be satisfied differently. My intution says that in the privacy-preserving payment protocol, like Zcash, all bidders may first call a verifiable random function (VRF) to get a random value, then privately transact to a certain address with the VRF output in the attachment, and finally anonymously present a proof-of-bid. If the bid wins, they can accompany it with a proof-of-win, referring to the VRF output included in the bid transaction. The complexity of the latter depends on the winning function, but, in contrast to this paper, I think that SNARK/STARK friendly winning functions are easy to create.
When payments are public we need to additionally break the link between the bid and the winner. The straightforward, for me, solution, would be to effectively emulate the Zcash data structure by keeping all bids in a Merkle tree and by separating bidding accounts from consensus participants. The authors follow pretty much this way by not specifying the data structure for bids. They additionally design a new type of VRF that permit anonymous verification without SNARKs/STARKs. However, since the rest of the method requires such a technique to increase performance, I doubt it is essential.
Real Crypto via @like
Quisquis: A New Design for Anonymous Cryptocurrencies
https://eprint.iacr.org/2018/990.pdf
In this recent preprint the authors suggest a new anonymous cryptocurrency, which is most similar to Monero and Coinjoin-based Dash. Recall that in Monero a coin spender can hide in an anonymity set of arbitrary size, but the transaction size grows linearly with anonymity level. Anonymity in Monero is provided by ring signatures, but range proofs must be also provided in order to every coin to have not so large positive value. Recently the range proofs in Monero were upgraded to Bulletproofs, and the transaction for the anonymity set of 7 senders is about 2.5 KB.
This long introduction was needed to compare Quisquis to Monero, which (even though I am not superexcited with Monero either) does not yield an obvious winner. In Quisquis a sender not only hides in an anonymity set, but also is able to modify the keys from the anonymity set so that they are still spendable by legitimate owners. This allows to prune spent transactions thus reducing the memory and hard drive requirements for the nodes. Also Quisquis makes a wider use of Bulletproofs for the zero-knowledge proof of correct spending. These two improvements seem to constitute the main contribution of this cryptocurrency, though maybe the anonymity model also is somewhat novel.
From the performance perspective, the transactions are at least 13 KB long for the anonymity set of 16 (which looks bigger than in Monero with Bulletproofs), and generation/verification take about the same time. So my conclusion is that the improvement is incremental and largely consists of Bulletproofs for other ZK statements.
https://eprint.iacr.org/2018/990.pdf
In this recent preprint the authors suggest a new anonymous cryptocurrency, which is most similar to Monero and Coinjoin-based Dash. Recall that in Monero a coin spender can hide in an anonymity set of arbitrary size, but the transaction size grows linearly with anonymity level. Anonymity in Monero is provided by ring signatures, but range proofs must be also provided in order to every coin to have not so large positive value. Recently the range proofs in Monero were upgraded to Bulletproofs, and the transaction for the anonymity set of 7 senders is about 2.5 KB.
This long introduction was needed to compare Quisquis to Monero, which (even though I am not superexcited with Monero either) does not yield an obvious winner. In Quisquis a sender not only hides in an anonymity set, but also is able to modify the keys from the anonymity set so that they are still spendable by legitimate owners. This allows to prune spent transactions thus reducing the memory and hard drive requirements for the nodes. Also Quisquis makes a wider use of Bulletproofs for the zero-knowledge proof of correct spending. These two improvements seem to constitute the main contribution of this cryptocurrency, though maybe the anonymity model also is somewhat novel.
From the performance perspective, the transactions are at least 13 KB long for the anonymity set of 16 (which looks bigger than in Monero with Bulletproofs), and generation/verification take about the same time. So my conclusion is that the improvement is incremental and largely consists of Bulletproofs for other ZK statements.
Real Crypto via @like
Real World Crypto 2019, in Stanford
Part 1
1) https://youtu.be/9xePC0Tyeuc?t=975
New protocol suggested MLS (Message Layer Security). It should be a common framework for secure messaging systems, which could share code and, most importantly, its security properties. Desired functionality in contrast to TLS: work in groups (multiple users, multiple devices per user), long sessions. Security properties: forward secrecy (conversations before a compromise occurs) and post-compromise security (next sessions remain secure). Working group is established. Apparently the group scalability requirement is very difficult to achieve.
2) https://youtu.be/9xePC0Tyeuc?t=2918 How to deal with abusive messages in social networks if end-to-end encryption is used, so the transport provider does not know the content of message. The idea is to use a special kind of encryption that allows verification of abuse claims without security violation and false reporting. Existing system in Facebook uses symmetric crypto (HMAC) so this does not scale nice (but does other bad things alongside). The authors suggest a better scheme, also symmetric, very fast (one pass over data). My question: maybe add public verification? with STARKs?
3) https://youtu.be/9xePC0Tyeuc?t=4384 Now about snapchats, where snaps are quickly deleted. The problem is that current solutions are too bound to a device. The authors suggest exchanging session keys at the time of device/user change.
4) https://youtu.be/AyeuIfGjBg4?t=1211 Why (and how) cryptographers should work with politicians. The guys just share their experience.
5) https://youtu.be/AyeuIfGjBg4?t=2527 Matt Blaze talks about US elections, then on possible attacks on existing (or recent) voting tech: software, hardware, etc.. Cryptography does not help much. Need to do more audits, better design, etc.
6) https://youtu.be/AyeuIfGjBg4?t=4949 Levchin prize is awarded to Mihir Bellare (author of hundreds of design/analysis papers, HMAC, random oracle model, etc.) and Eric Rescorla (development and standardization of TLS 1.3)
Part 1
1) https://youtu.be/9xePC0Tyeuc?t=975
New protocol suggested MLS (Message Layer Security). It should be a common framework for secure messaging systems, which could share code and, most importantly, its security properties. Desired functionality in contrast to TLS: work in groups (multiple users, multiple devices per user), long sessions. Security properties: forward secrecy (conversations before a compromise occurs) and post-compromise security (next sessions remain secure). Working group is established. Apparently the group scalability requirement is very difficult to achieve.
2) https://youtu.be/9xePC0Tyeuc?t=2918 How to deal with abusive messages in social networks if end-to-end encryption is used, so the transport provider does not know the content of message. The idea is to use a special kind of encryption that allows verification of abuse claims without security violation and false reporting. Existing system in Facebook uses symmetric crypto (HMAC) so this does not scale nice (but does other bad things alongside). The authors suggest a better scheme, also symmetric, very fast (one pass over data). My question: maybe add public verification? with STARKs?
3) https://youtu.be/9xePC0Tyeuc?t=4384 Now about snapchats, where snaps are quickly deleted. The problem is that current solutions are too bound to a device. The authors suggest exchanging session keys at the time of device/user change.
4) https://youtu.be/AyeuIfGjBg4?t=1211 Why (and how) cryptographers should work with politicians. The guys just share their experience.
5) https://youtu.be/AyeuIfGjBg4?t=2527 Matt Blaze talks about US elections, then on possible attacks on existing (or recent) voting tech: software, hardware, etc.. Cryptography does not help much. Need to do more audits, better design, etc.
6) https://youtu.be/AyeuIfGjBg4?t=4949 Levchin prize is awarded to Mihir Bellare (author of hundreds of design/analysis papers, HMAC, random oracle model, etc.) and Eric Rescorla (development and standardization of TLS 1.3)
YouTube
Real World Crypto 2019 - Day 1 - Session 1 - Morning - part 1
Real World Crypto January 9, 2019 meeting at the San Jose Marriott. This is day 1 session 1 which goes from 9:00AM until 12:30PM
Real Crypto via @like
Real World Crypto 2019
Part 2 (Day 1 Afternoon)
7) https://youtu.be/xADRUcTf-9A?t=967 Noise protocols: framework for secure messaging. It is just a language, not a protocol. There is an automatic tool (NoiseExplorer) to check the security goals: authentication, confidentiality, identity hiding, all with different levels. Authors show a number of simple protocols and how the tool evaluates them. Looks very useful for protocol developers!
8) https://youtu.be/xADRUcTf-9A?t=2526 Google suggests Application Layer Transport Security (ALTS), which aims to secure RPC calls. Authentication is based on providing identities to all network entities and handling authorization policy accordingly.
9) https://youtu.be/xADRUcTf-9A?t=4066 The infamous password-based security suffers from many problems, including a server seeing passwords in cleartext. PAKE protocols allow password-based authentication without password sending, but they have not used salt so are vulnerable to precomputation attacks. The new protocol OPAQUE eliminates the precomputation attack. Integratable with TLS 1.3.
10) https://youtu.be/xADRUcTf-9A?t=5630 How to store on server a list of most popular passwords so that 1) dynamically track if a new popular password appears and prohibit it (2) prevent a malicious observer to learn passwords of specific users just by looking at the list at dynamics.
11) https://youtu.be/xADRUcTf-9A?t=8814 How US defence agency (DARPA) works with crypto. Topics include computation on encrypted data, privacy-aware systems (Brandeis), obfuscation, secure messaging. In Brandeis they try to operate on encrypted and/or private data without breaking privacy (too much). The talk is quite generic, but mentions a number of advanced techniques like differential privacy.
12) https://youtu.be/xADRUcTf-9A?t=9737 The talk is about joint journalist access to high-value data, which is threshold encrypted so that at least a certain number of users can access the data, and they must do it together. The devil lies in the organization of sharing the secrets needed for access: managing losses, timeouts, adversaries, etc. Sometimes a special ceremony is needed (like in Zcash) The authors suggest a framework for that called "Sunder".
13) https://youtu.be/xADRUcTf-9A?t=10612 How to make the software development more secure (from cryptographic points of view). THe authors studied the genesis of 800 vulnerabilities, classified them, suggested solutions (quite straightforward).
Part 2 (Day 1 Afternoon)
7) https://youtu.be/xADRUcTf-9A?t=967 Noise protocols: framework for secure messaging. It is just a language, not a protocol. There is an automatic tool (NoiseExplorer) to check the security goals: authentication, confidentiality, identity hiding, all with different levels. Authors show a number of simple protocols and how the tool evaluates them. Looks very useful for protocol developers!
8) https://youtu.be/xADRUcTf-9A?t=2526 Google suggests Application Layer Transport Security (ALTS), which aims to secure RPC calls. Authentication is based on providing identities to all network entities and handling authorization policy accordingly.
9) https://youtu.be/xADRUcTf-9A?t=4066 The infamous password-based security suffers from many problems, including a server seeing passwords in cleartext. PAKE protocols allow password-based authentication without password sending, but they have not used salt so are vulnerable to precomputation attacks. The new protocol OPAQUE eliminates the precomputation attack. Integratable with TLS 1.3.
10) https://youtu.be/xADRUcTf-9A?t=5630 How to store on server a list of most popular passwords so that 1) dynamically track if a new popular password appears and prohibit it (2) prevent a malicious observer to learn passwords of specific users just by looking at the list at dynamics.
11) https://youtu.be/xADRUcTf-9A?t=8814 How US defence agency (DARPA) works with crypto. Topics include computation on encrypted data, privacy-aware systems (Brandeis), obfuscation, secure messaging. In Brandeis they try to operate on encrypted and/or private data without breaking privacy (too much). The talk is quite generic, but mentions a number of advanced techniques like differential privacy.
12) https://youtu.be/xADRUcTf-9A?t=9737 The talk is about joint journalist access to high-value data, which is threshold encrypted so that at least a certain number of users can access the data, and they must do it together. The devil lies in the organization of sharing the secrets needed for access: managing losses, timeouts, adversaries, etc. Sometimes a special ceremony is needed (like in Zcash) The authors suggest a framework for that called "Sunder".
13) https://youtu.be/xADRUcTf-9A?t=10612 How to make the software development more secure (from cryptographic points of view). THe authors studied the genesis of 800 vulnerabilities, classified them, suggested solutions (quite straightforward).
YouTube
Real World Crypto 2019 - Day 1 - Session 2 - Afternoon
Real World Crypto January 9, 2019 meeting at the San Jose Marriott. This is day 1 session 2 which goes from 2:00PM until 5:30PM
Real Crypto via @like
Real World Crypto 2019
Part 3 (Day 2 Morning)
14) https://youtu.be/xwIEjVRvVXU?t=3 How Amazon handles encryption given its AWS keeps trillions of files? Their key service (KMS) interacts with HSMs and obtains mid-living keys for encryption and decryption. A lot of dirty details on how to avoid key collisions and how to use the encryption API in general.
15) https://youtu.be/xwIEjVRvVXU?t=1621 In VISA, when you buy from a merchant, a transaction travels across some payment network that includes a merchant bank and a customer bank. Whenever PIN or CVV check is involved, they go alongside with a transaction to a certain verifier. On its way there are a lot of HSMs, as the encryption is symmetric (3DES) and the keys must be shared. They need proxy reencryption to transfer messages across many hops and mitigate disconnects. All this a bit reminds the envelope encryption in TOR (where there are several layers of stream encryption). VISA handles on average 5000 transactions per second.
16) https://youtu.be/xwIEjVRvVXU?t=3410 If we have teams to manage and keys to handle, can we decentralize it? Example: managing Slack teams with many devices per user, can we avoid email registration? The authors suggest a system (KeyBase) that handles team keys that rotate with every team change. Every user builds a chain (or tree) of his messages about new devices. Revocation is apparently easy. Claim to scale up to 2K-teams
17) https://youtu.be/xwIEjVRvVXU?t=7348 A tutorial talk about side channel attacks (Riscure is a company that does this (defense against) commercially. Discusses tools, devices; presents examples. Apparently there are technical problems of automating analysis of an unknown device (where to probe, how to probe, how to align readings etc.). From the attack perspective, the old Correlation Power Analysis is still very powerful and often is hard to beat. Devices that pass all these attacks/tools are certified. Also, very interesting new approach: use machine learning in place of signal analysis (alignment->D/SPA->key ranking).
18) https://youtu.be/xwIEjVRvVXU?t=9210 Google suggests new API for cryptographic primitives, explicitly for non-crypto developers. Goals: security (hard to misuse) and usability (easy to use). Several examples, particularly in authenticated encryption. Currently available for Java, C++, Objective C.
I have not found anything particularly interesting in Lightning talks...
Part 3 (Day 2 Morning)
14) https://youtu.be/xwIEjVRvVXU?t=3 How Amazon handles encryption given its AWS keeps trillions of files? Their key service (KMS) interacts with HSMs and obtains mid-living keys for encryption and decryption. A lot of dirty details on how to avoid key collisions and how to use the encryption API in general.
15) https://youtu.be/xwIEjVRvVXU?t=1621 In VISA, when you buy from a merchant, a transaction travels across some payment network that includes a merchant bank and a customer bank. Whenever PIN or CVV check is involved, they go alongside with a transaction to a certain verifier. On its way there are a lot of HSMs, as the encryption is symmetric (3DES) and the keys must be shared. They need proxy reencryption to transfer messages across many hops and mitigate disconnects. All this a bit reminds the envelope encryption in TOR (where there are several layers of stream encryption). VISA handles on average 5000 transactions per second.
16) https://youtu.be/xwIEjVRvVXU?t=3410 If we have teams to manage and keys to handle, can we decentralize it? Example: managing Slack teams with many devices per user, can we avoid email registration? The authors suggest a system (KeyBase) that handles team keys that rotate with every team change. Every user builds a chain (or tree) of his messages about new devices. Revocation is apparently easy. Claim to scale up to 2K-teams
17) https://youtu.be/xwIEjVRvVXU?t=7348 A tutorial talk about side channel attacks (Riscure is a company that does this (defense against) commercially. Discusses tools, devices; presents examples. Apparently there are technical problems of automating analysis of an unknown device (where to probe, how to probe, how to align readings etc.). From the attack perspective, the old Correlation Power Analysis is still very powerful and often is hard to beat. Devices that pass all these attacks/tools are certified. Also, very interesting new approach: use machine learning in place of signal analysis (alignment->D/SPA->key ranking).
18) https://youtu.be/xwIEjVRvVXU?t=9210 Google suggests new API for cryptographic primitives, explicitly for non-crypto developers. Goals: security (hard to misuse) and usability (easy to use). Several examples, particularly in authenticated encryption. Currently available for Java, C++, Objective C.
I have not found anything particularly interesting in Lightning talks...
YouTube
Real World Crypto 2019 - Day 2 - Session 1 - Morning
Real World Crypto January 10, 2019 meeting at the San Jose Marriott. This is day 2 session 1 which goes from 9:00PM until 12:35PM
Real Crypto via @like
Real World Crypto 2019
Part 3 (Day 2 Afternoon-1)
19) https://youtu.be/JoaYGncArwU?t=1266 https://rwc.iacr.org/2019/slides/DAA.pdf Direct Anonymous Attestation (DAA) is a scheme that unites a number of TPM-enabled devices in a group signature scheme, so that their signatures are by default anonymous but can be linked quite flexibly. Devices can get (anonymous) credentials in a way similar to Anoncred frameworks Idemix (IBM) or U-Prove (Microsoft). The talk covers vulnerabilities in previous versions, issues in DAA applied to automobiles, and quantum-secure version with lattice signatures.
20) https://youtu.be/JoaYGncArwU?t=2178 https://rwc.iacr.org/2019/slides/how-hard-is-solving-lwe-anyway.pdf
There are several schemes submitted to NIST quantum-secure competition that are based on Learning with Errors (LWE). Apparently each scheme has its own security model, and there as many ways to compare schemes as many schemes you have. The talk goes deep to the existing attacks on LWE, and shows that their complexity can be evaluated differently, both in classical or quantum world.
21) https://rwc.iacr.org/2019/slides/RWC87slides.pdf The story how the cryptographic community managed to block the acceptance of NSA-designed ciphers SIMON and SPECK as ISO standards because of past NSA trapdoor-placing activity. Interestingly the community found no cryptographic vulnerabilities nor trapdoors in these ciphers (and they indeed look well designed). The authors convinced the working group to state that "both algorithm are not properly motivated and their security properties are not sufficiently understood."
I think this can be said about almost any cipher (except AES and DES maybe) with the same confidence.
Part 3 (Day 2 Afternoon-1)
19) https://youtu.be/JoaYGncArwU?t=1266 https://rwc.iacr.org/2019/slides/DAA.pdf Direct Anonymous Attestation (DAA) is a scheme that unites a number of TPM-enabled devices in a group signature scheme, so that their signatures are by default anonymous but can be linked quite flexibly. Devices can get (anonymous) credentials in a way similar to Anoncred frameworks Idemix (IBM) or U-Prove (Microsoft). The talk covers vulnerabilities in previous versions, issues in DAA applied to automobiles, and quantum-secure version with lattice signatures.
20) https://youtu.be/JoaYGncArwU?t=2178 https://rwc.iacr.org/2019/slides/how-hard-is-solving-lwe-anyway.pdf
There are several schemes submitted to NIST quantum-secure competition that are based on Learning with Errors (LWE). Apparently each scheme has its own security model, and there as many ways to compare schemes as many schemes you have. The talk goes deep to the existing attacks on LWE, and shows that their complexity can be evaluated differently, both in classical or quantum world.
21) https://rwc.iacr.org/2019/slides/RWC87slides.pdf The story how the cryptographic community managed to block the acceptance of NSA-designed ciphers SIMON and SPECK as ISO standards because of past NSA trapdoor-placing activity. Interestingly the community found no cryptographic vulnerabilities nor trapdoors in these ciphers (and they indeed look well designed). The authors convinced the working group to state that "both algorithm are not properly motivated and their security properties are not sufficiently understood."
I think this can be said about almost any cipher (except AES and DES maybe) with the same confidence.
YouTube
Real World Crypto 2019 - Day 2 - Session 2 - Afternoon - Part 1
Real World Crypto January 9, 2019 meeting at the San Jose Marriott. This is day 2 session 2 which goes from 2:00PM until 5:05PM