## cryptographic primitives
### bls signatures
* used in the beacon chain to verify large numbers of signtures. * invented by dan boneh, ben lynn, and hovav shacham. * in optimistic rollups such as arbitrum and optimism, each tx must be accompanied by its own signature. these signatures are stored on l1 calldata, a read-only format that's commited as a part of a transaction rather than to (expensive) contract storage. * storing txs and signatures as calldata is the cheapst method available for rollups to keep data on l1. * the key property of bls signatures is that multiple signatures can be combined into one - so only one aggregate signature needs to be verified and stored on-chain (meaning less gas fees).
---- ### shamir's secret sharing
* secret sharing algorithm to distribute private information among a group, and the secret cannot be revealed unless a quorum of the groups acts together to pool their knowledge. * the secret is matematically divided into parts. if an attacker steals some shares, it's impossible for the attacker to reconstrcut the secret unless they have stolen a quorum number of shares. * uses cases: password managers, encrypted emails, and crypto wallets.
--- ### cool resources
#### cool courses * **[number theory course by stanford (2023)](https://crypto.stanford.edu/pbc/notes/numbertheory/)** * **[galois fields, part one (2020)](https://www.youtube.com/watch?v=yBVqk4YM2VY)**
#### cool papers * **[bls multi-signatures with pub-key aggregation (2018)](https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html)** * **[ring confidential transactions (2015)](https://eprint.iacr.org/2015/1098.pdf)** * **[intro to differential power analysis (2011)](https://link.springer.com/content/pdf/10.1007/s13389-011-0006-y.pdf)** * **[pairing-friendly elliptic curves of prime order (2005)](https://eprint.iacr.org/2005/133.pdf)**
#### cool talks * **[an introduction to cryptography, new and old, by atheartengineer et al. (2024)](https://www.youtube.com/watch?v=E6u3uQGP9J4)** * **[programmable cryptography devcon panel, by barry and gang (2024)](https://www.youtube.com/watch?v=S6ixhGBnvKc)**
#### poseidon * **[poseidon: a new hash function for zkp systems, by grassi et al. (2019)](https://eprint.iacr.org/2019/458.pdf)** * **[poseidon2: a faster version of the poseidon, by grassi et al. (2023)](https://eprint.iacr.org/2023/323.pdf)** * **[survey of attacks on poseidon and poseidon2, by grassi et al. (2024)](https://drive.google.com/file/d/1bqmIk5I8s-4S9TQJO0xk26fnSSU0q_Hx/view)**