Material
Below you find reading material that covers relevant topics for projects in the DEDIS lab.
Wikipedia
- Distributed hash tables: https://en.wikipedia.org/wiki/Distributed_hash_table
- Cryptographic hash functions: https://en.wikipedia.org/wiki/Cryptographic_hash_function
- Discrete logarithms: https://en.wikipedia.org/wiki/Discrete_logarithm
- Zero-knowledge proofs: https://en.wikipedia.org/wiki/Zero-knowledge_proof
- Byzantine fault tolerance: https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
- Sybil attacks: https://en.wikipedia.org/wiki/Sybil_attack
- Merkle trees: https://en.wikipedia.org/wiki/Merkle_tree
- Shamir secret sharing: https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing
- Schnorr signatures: https://en.wikipedia.org/wiki/Schnorr_signature
- Blind signatures: https://en.wikipedia.org/wiki/Blind_signature
- Elliptic curve cryptography: https://en.wikipedia.org/wiki/Elliptic_curve_cryptography
- Cryptocurrencies: https://en.wikipedia.org/wiki/Cryptocurrency
- Blockchains: https://en.wikipedia.org/wiki/Block_chain_(database)
Books
Papers
Important crypto primitives we use a lot (and/or might likely use soon):
- Camenisch/Stadler zero-knowledge proofs
- Neff shuffles
- Ring signatures
- Linkable ring signatures
- Constant-space pairing-based accumulators
- Camenisch accumulator scheme
Secret Sharing
- How to Share a Secret
- A Threshold Cryptosystem without a Trusted Third Party
- A Simple Publicly Verifiable Secret Sharing Scheme and its Application to Electronic Voting
Fault Tolerance
Signature Schemes
- Efficient signature generation by smart cards
- Provably Secure Distributed Schnorr Signatures and a (t, n) Threshold Scheme for Implicit Certificates
Elliptic Curve Crypto
Proof Systems
- How To Prove Yourself: Practical Solutions to Identification and Signature Problems
- Proof Systems for General Statements about Discrete Logarithms
Cryptocurrencies
- Bitcoin: A Peer-to-Peer Electronic Cash System
- Bitcoin-NG: A Scalable Blockchain Protocol
- Fawkescoin A cryptocurrency without public-key cryptography
- SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies
Public Randomness
- On Bitcoin as a public randomness source
- A random zoo: sloth, unicorn, and trx
- Random oracles in Constantinople
- RandHound/RandHerd
Anonymous Communication
- Tor: The Second-Generation Onion Router
- Dissent: Accountable Anonymous Group Messaging
- Dissent in Numbers: Making Strong Anonymity Scale
- Hang With Your Buddies to Resist Intersection Attacks
- Managing NymBoxes for Identity and Tracking Protection
Misc
- A digital signature based on a conventional encryption function
- A Sybil-proof one-hop DHT
- Diplomat: Using Delegations to Protect Community Repositories
- CONIKS: Bringing Key Transparency to End Users
Unstructured peer-to-peer systems
- FreeNet
- BubbleStorm
This is an important “hybrid” design providing the flexibility of unstructured search with some of the efficiency of structured DHTs.
Structured peer-to-peer systems:
- Chord
- Pastry
- Kademlia
- Whanau
This last one (Whanau) is particularly important as it represents the only moderately-secure “Sybil-proof” DHT design I’m aware of.
Distributed storage:
Scalable locality-preserving summarization and compact routing:
- Thorup/Zwick approximate distance oracles
- Thorup/Zwick compact routing schemes
- Compact routing on Internet-like graphs
- Crux draft
Sybil attacks, defenses:
Content recommendation systems:
Transparency designs: