Zero Knowledge
af D D

1. Study Material
1.1. Easy
1.1.1. Papers
1.2. Intermediate
1.3. Harcore
2. Mathematics
2.1. Fundamental Theorem of Algebra
2.1.1. A degree d polynomial can have at most d solutions
2.1.2. Polynomials and Roots
2.1.2.1. "To know a polynomial is to know its roots"
2.1.2.2. Factorization
2.2. Data Models
2.2.1. Bilinear Maps
3. Cryptographic Primitives "Obscuring"
3.1. Modular Arithmetic
3.2. Homomorphic Encryption
3.2.1. In essence, in the realm of exponentiation, how far can we preserve mathematical operations in plain calculation?
3.2.2. Operational Transformation
3.2.2.1. Encryption
3.2.2.2. Addition → Multiplication
3.2.2.3. Multiplication → Exponentiation
3.3. Strong Homomorphic Encryption
3.3.1. = Homomorphic Encryption + Modular Arithmetic
3.4. Knoweldge-of-Exponent Assumption (KEA)
4. Computer Science
5. Protocol
5.1. Prover
5.1.1. Prove that he "knows" the polynomial
5.2. Verifier
5.2.1. Verify that the Prover "knows" the polynomial
5.3. Polynomial Identity Check Protocol
5.3.1. Target Polynomial
5.3.1.1. t(x)
5.3.2. Arbitrary Polynomial
5.3.2.1. h(x)
5.3.3. p(x) = t(x) * h(x)