Content pfp
Content
@
0 reply
0 recast
0 reaction

Zk pfp
Zk
@risotto
ZK Scholars Assembly Revision 1 - Group Theory Group is a set of elements that satisfied interesting properties that are useful in cryptography such as - Closure - Associativity - Identity Element - Inverse Element Closure means for any elements a, b ∈ G (group), the result of the operation between them will be result in an element that is of the same group, example a • b = c ∈ G. Associativity means sequence of running operation doesn’t matter for any elements a, b, c ∈ G, for example the result of (a • b) • c will be equal to a • (b • c). Identity Element means there exists an element e ∈ G such that for any element a ∈ G, the operation with e will always result in itself, example e • a = a • e = a. One can imagine e as 0 in simple additive group or 1 in simple multiplicative group as 3 + 0 = 3 and 3 * 1 = 3.
1 reply
0 recast
0 reaction

Zk pfp
Zk
@risotto
Inverse Element means for every element a ∈ G, there exists an inverse element a^-1 such that a • a^-1 = a^-1 • a = e, where e is the identity element. Example 3 + (-3) = 0 and 3 * 1/3 = 1. An Abelian Group is also called Field has two binary operations which are + and *. It has all the properties from Group + 1 extra property which is called commutativity. Commutativity means the position of elements in operation doesn’t matter, example for any elements a, b ∈ G, a • b = b • a. For the case of multiplicative group, it has another property called Distributive Law, meaning for a, b, c ∈ G, a • (b + c) is also = (a • b) + (a • c).
1 reply
0 recast
0 reaction

Zk pfp
Zk
@risotto
Combining modular arithmetic with all these properties, we now have cyclic group that enables us to do encryptions using Discrete Logarithm Problem (DLP). Example in Diffie-Hellman key exchange, given a group G, a generator g, and an element h = g^a. Finding a is computationally difficult. Two parties can generate public keys g^a, g^b with their secret keys a, b, share publicly to each other and compute a shared secret key g^ab by raising power of public key to their respective private key (g^a*b / g^b*a), then use the shared secret key to encrypt message that is only decryptable by them. The adversary, with only g^a, g^b is very difficult to compute g^ab and unable decrypt their secret message. Next post we going to explore how these group properties are being used in Finite Field and Elliptic Curve Cryptography and application such as Schnorr Signature.
0 reply
0 recast
0 reaction