├── Bls Signatures.md ├── CIrcom.md ├── PublicKeyCryptography.md ├── README.md ├── ShamirSecretSharing.md ├── ZeroKnowledgeProof.md └── resources.md /Bls Signatures.md: -------------------------------------------------------------------------------- 1 | - [BLS Signatures](https://github.com/paulmillr/noble-bls12-381.git) 2 | - [BLS Signature Aggregation: Under the Hood](https://mirror.xyz/0x6afeB3d9E380787e7D0a17Fc3CA764Bb885014FA/D3g-4UPRLkAnug-p6AZYfjgXWo-psaTulyu3SaL35vg) 3 | -------------------------------------------------------------------------------- /CIrcom.md: -------------------------------------------------------------------------------- 1 | [CircomDOCS](https://docs.circom.io/background/background/#_1) 2 | 3 | [Circom Library](https://github.com/iden3/circomlib/blob/master/circuits/comparators.circom) 4 | -------------------------------------------------------------------------------- /PublicKeyCryptography.md: -------------------------------------------------------------------------------- 1 | [Public Key Cryptography](https://mirror.xyz/0x6afeB3d9E380787e7D0a17Fc3CA764Bb885014FA/SJwdsUSOBEDOYDdBwIsw46Ma8FfBEy9KTeU3Cskt68g) 2 | 3 | [Schnorr Signatures](https://tlu.tarilabs.com/cryptography/introduction-schnorr-signatures) 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🔒 🔑 CRYPTOGRAPHY 2 | 3 | This repository is a collection of cryptography algorithms, covering various aspects of modern cryptography. It includes both symmetric key cryptography and public key cryptography, as well as other related topics such as interactive and non-interactive proofs, zero knowledge proofs, Shamir secret sharing schemes, and multi-party computation. 4 | 5 | #### Resources 6 | In this repository, you will find implementations/articles of popular cryptography algorithms, along with documentation and examples to help you understand how they work. The repository is open to contributions, so feel free to add additional resources or improvements through pull requests. 7 | 8 | 9 | The current list of topics covered in this repository includes: 10 | 11 | - Symmetric Key Cryptography: Basic concepts, properties, and examples of symmetric key algorithms such as Caesar cipher, Data Encryption Standard (DES), and Advanced Encryption Standard (AES). 12 | * Public Key Cryptography: Introduction to asymmetric cryptography, including key pairs generation, encryption, and decryption using public and private keys. Examples of common public key algorithms like Rivest-Shamir-Adleman (RSA), Digital Signature Algorithm (DSA), and Elliptic Curve Cryptography (ECC). 13 | * Interactive and Non-Interactive Proofs: Understanding of interactive and non-interactive zero knowledge proofs, their properties, and use cases. 14 | * Zero Knowledge Proofs: Introduction to zero knowledge proofs, their applications in authentication, privacy, and secure communication. 15 | * Shamir Secret Sharing Schemes: Explanation of Shamir's threshold secret sharing schemes, how they work, and their practical applications for secure secret sharing. 16 | * Multi-Party Computation: Overview of multi-party computation (MPC), which allows multiple parties to compute a function on their private inputs without revealing them, including secure multi-party computation protocols like Secure Multi-Party Computation (SMPC) and Homomorphic Encryption (HE). 17 | 18 | This repository will be regularly updated with new resources, and you are welcome to contribute by adding additional algorithms, examples, or improvements through pull requests. 19 | 20 | #### Contribution 21 | 22 | Contributions to this repository are highly encouraged. If you have any additional resources or improvements to share, please feel free to create a pull request. Together, we can make this repository a comprehensive and reliable source of cryptography knowledge. Thank you for your contributions in advance! 23 | -------------------------------------------------------------------------------- /ShamirSecretSharing.md: -------------------------------------------------------------------------------- 1 | [Threshold Shamir Secret Sharing](https://sci-hub.se/https://link.springer.com/chapter/10.1007/978-3-540-85886-7_31) 2 | 3 | [Feldmans VSS](https://asecuritysite.com/kryptology/sss_fel) 4 | 5 | [VSS](https://medium.com/nethermind-eth/a-tour-of-verifiable-secret-sharing-schemes-and-distributed-key-generation-protocols-3c814e0d47e1) 6 | 7 | [Robust SSS](https://www.hindawi.com/journals/scn/2022/7926057/) 8 | 9 | [Dynamic SSS with DKG](https://eprint.iacr.org/2019/985.pdf) 10 | 11 | [MPC SSS](https://medium.com/wanchain-foundation/secure-multiparty-computation-and-shamirs-secret-sharing-on-wanchain-e502012b80ef) 12 | -------------------------------------------------------------------------------- /ZeroKnowledgeProof.md: -------------------------------------------------------------------------------- 1 | [Zero Knowledge Proofs explained to different age groups (Beginner)](https://www.youtube.com/watch?v=fOGdb1CTu5c) 2 | 3 | [Zk snark & Zk stark(Beginner)](https://academy.binance.com/en/articles/zk-snarks-and-zk-starks-explained) 4 | 5 | [homomorphic hiding](http://www.zeroknowledgeblog.com/index.php/the-pinocchio-protocol/homomorphic-hiding) 6 | 7 | [powers of tau ceremony for trusted setup](https://trapdoortech.medium.com/zkp-deep-dive-into-powersoftau-670bd2089a08) 8 | 9 | [zk snarks](https://blog.decentriq.com/zk-snarks-primer-part-one/) 10 | 11 | [snarkjs](https://github.com/iden3/snarkjs) 12 | 13 | [Plonk2](https://github.com/mir-protocol/plonky2) 14 | 15 | [Stark Paper](https://eprint.iacr.org/2018/046.pdf) 16 | 17 | [History Of ZKP](https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf) 18 | 19 | [Math Behind groth16](https://www.zeroknowledgeblog.com/index.php/groth16) 20 | 21 | [ZK Snark Construction Flow](https://blog.decentriq.com/zk-snarks-primer-part-one/) 22 | 23 | [Why and How zk-SNARK Works](https://arxiv.org/pdf/1906.07221.pdf) 24 | 25 | [First Paper to introduce ZK Snark](https://eprint.iacr.org/2011/443) 26 | 27 | [ZK Snark applicable to general computing](https://eprint.iacr.org/2013/279) 28 | 29 | [What made ZK Snark efficient?](https://eprint.iacr.org/2016/260.pdf) 30 | 31 | [Intro to BLS12-381 curve](https://hackmd.io/@benjaminion/bls12-381#BLS12-381-For-The-Rest-Of-Us) 32 | 33 | [zk-SNARKs Setup Phase(Intermediate)](https://medium.com/qed-it/diving-into-the-snarks-setup-phase-b7660242a0d7) 34 | 35 | [KZG polynomial commitments](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html) 36 | 37 | [circuits in circom](https://github.com/iden3/circomlib/tree/master/circuits) 38 | 39 | 40 | -------------------------------------------------------------------------------- /resources.md: -------------------------------------------------------------------------------- 1 | [cryptography repo](https://github.com/sobolevn/awesome-cryptography) 2 | [cryptography book](https://cryptobook.nakov.com/) 3 | --------------------------------------------------------------------------------