You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+39-12Lines changed: 39 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
<divalign="center">
2
-
<imgsrc="assets/Banner.jpg">
2
+
<imgsrc="assets/zk-Call Preview [Python].png">
3
3
</div>
4
4
<h1align="center">zk-Call & Labs</h1>
5
5
@@ -19,15 +19,15 @@
19
19
20
20
21
21
22
-
##Table of Contents
22
+
# Table of Contents
23
23
-[Credits](#credits)
24
24
-[Purpose](#purpose)
25
25
-[How it Works](#how-it-works)
26
26
-[API](#api)
27
27
-[Example Usage](#example-usage)
28
28
29
29
30
-
##Credits
30
+
# Credits
31
31
This repository hosts a refined implementation of **Schnorr's protocol**, innovatively incorporating a state seed for enhanced security measures. While the underlying proofs may appear intricate, I aim to elucidate their functionality to the best of my ability. However, for a deeper understanding, I encourage referencing the seminal research papers underpinning this implementation, as they offer comprehensive insights.
32
32
33
33
For further exploration:
@@ -39,34 +39,61 @@ Additionally, this repository delves into the concepts of **"Zero-Knowledge" Pro
39
39
On the other hand, **HMACs** are a type of cryptographic hash function used for message authentication. They involve a cryptographic hash function **(such as SHA-256)** and a secret cryptographic key. **HMACs** provide a way to verify both the data integrity and the authenticity of a message, ensuring that it has not been altered or tampered with during transmission and that it indeed originates from the purported sender.
40
40
41
41
42
-
##Purpose
43
-
In today's rapidly evolving IT and application development landscape, **"Zero-Knowledge" Proofs (ZKPs)** emerge as a pivotal paradigm for authentication security. Their capacity to affirm the validity of a claim—such as proving possession of a secret password—without revealing any sensitive information about the claim itself, such as passwords or hashes, revolutionizes the assurance of secure AAA operations (authentication, authorization, and accounting). **zk-Call & Labs** represents an implementation of a [**Non-Interactive "Zero-Knowledge" Proof**](https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof) **(NIZKP)** protocol tailored specifically for validating text-based secrets. This framework proves invaluable for safeguarding passwords and other authentication mechanisms, ensuring robust security measures without compromising privacy. Additionally, the integration of **HMAC (Hash-Based Message Authentication Code)** further fortifies the authentication process, enhancing data integrity and thwarting potential security breaches.
42
+
# Purpose
43
+
In today's rapidly evolving IT and application development landscape, **"Zero-Knowledge" Proofs (ZKPs)** emerge as a pivotal paradigm for authentication security. Their capacity to affirm the validity of a claim—such as proving possession of a secret password—without revealing any sensitive information about the claim itself, such as passwords or hashes, revolutionizes the assurance of secure AAA operations (authentication, authorization, and accounting).
44
44
45
-
## How It Works
45
+
**zk-Call & Labs** represents an implementation of a [**Non-Interactive "Zero-Knowledge" Proof**](https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof)**(NIZKP)** protocol tailored specifically for validating text-based secrets. This framework proves invaluable for safeguarding passwords and other authentication mechanisms, ensuring robust security measures without compromising privacy. Additionally, the integration of **HMAC (Hash-Based Message Authentication Code)** further fortifies the authentication process, enhancing data integrity and thwarting potential security breaches.
46
+
47
+
# How It Works
46
48
47
49
**The authentication protocol employed in this system operates based on two fundamental concepts:**
48
50
**"Zero-Knowledge" Proofs (ZKPs)** and **Hash-Based Message Authentication Code (HMAC)**. Let's delve into each of these components and understand how they synergize to ensure secure authentication in messaging applications.
51
+
<br>
52
+
53
+
"Zero-Knowledge" Proofs (ZKPs):
54
+
---
55
+
56
+

57
+

58
+

59
+

60
+
61
+
---
49
62
50
63
**"Zero-Knowledge" Proofs (ZKPs)** form the bedrock of privacy-preserving authentication mechanisms. These proofs allow one party **(the prover)** to demonstrate the validity of a claim to another party **(the verifier)** without revealing any additional information beyond the claim's validity. In essence, **ZKPs** enable authentication without the need for the prover to disclose sensitive data, such as passwords or cryptographic keys.
51
64
52
65
**Application in Authentication:**
53
66
In the context of messaging applications, **ZKPs** play a pivotal role in verifying a user's identity without the need to transmit explicit credentials over the network. Instead, users can generate cryptographic proofs attesting to their identity or possession of certain credentials without exposing those credentials themselves. This ensures that sensitive information remains confidential during the authentication process, bolstering security and privacy.
54
67
68
+
---
69
+
70
+
71
+
Hash-Based Message Authentication Code (HMAC):
72
+
---
73
+
74
+

**HMAC** provides a robust mechanism for verifying the integrity and authenticity of messages exchanged between parties. It involves the use of a cryptographic hash function in conjunction with a secret key to generate a unique code **(the HMAC)** for each message. This code serves as a digital signature, allowing the recipient to verify that the message has not been tampered with or altered during transmission.
57
80
58
81
**Application in Authentication:**
59
82
In messaging applications, **HMAC** can be employed to authenticate message senders and ensure the integrity of communication channels. By appending an **HMAC** to each message using a shared secret key, both the sender and recipient can validate the message's authenticity upon receipt. Any unauthorized modifications to the message would result in a mismatch between the **computed HMAC** and the **received HMAC**, thereby alerting the recipient to potential tampering.
60
83
84
+
---
85
+
61
86
**Synergistic Operation:**
62
87
When combined, **"Zero-Knowledge" Proofs** and **HMAC** create a formidable framework for secure authentication in messaging applications. **ZKPs** facilitate identity verification without divulging sensitive information, while **HMAC** ensures the integrity and authenticity of messages exchanged between parties. Together, these mechanisms uphold the confidentiality, integrity, and authenticity of communication channels, safeguarding users' privacy and security in the digital realm.
63
88
89
+
---
64
90
65
-
<h1>API</h1>
91
+
# API
66
92
67
93
The **`"Zero-Knowledge"`** Python API is meant to be simple and intuitive:<br>
68
94
69
-
### Core Components
95
+
96
+
## Core Components
70
97
The **`Core Components`** are key for establishing a secure and efficient framework for cryptographic protocols; streamlining the creation and validation of **"Zero-Knowledge" Proofs (ZKPs)**. They enhance anonymous, data-safe proof validations.
71
98
72
99

@@ -120,7 +147,7 @@ Wrapper that contains a proof and the necessary data to validate the proof again
120
147
121
148
---
122
149
123
-
###ZeroKnowledge
150
+
## ZeroKnowledge
124
151
The **`ZeroKnowledge`** class is the central component of **`ZeroKnowledge`** and its state (defined by **`ZeroKnowledgeParams`**) should be inherently known to both the Client (Prover) and Server (Verifier).
125
152
126
153

@@ -160,7 +187,7 @@ The **`ZeroKnowledge`** class is the central component of **`ZeroKnowledge`** an
160
187
# Example Usage
161
188
TODO: Include **`Example Usage`**
162
189
163
-
###Example 1
190
+
## Example 1
164
191
165
192
"""
166
193
Extremely simple example of hmac
@@ -266,7 +293,7 @@ TODO: Include **`Example Usage`**
266
293
267
294
---
268
295
269
-
###Example 2
296
+
## Example 2
270
297
271
298
"""
272
299
Extremely simple example of ZeroKnowledge
@@ -402,7 +429,7 @@ TODO: Include **`Example Usage`**
402
429
403
430
---
404
431
405
-
###Example 3
432
+
## Example 3
406
433
407
434
"""
408
435
Extremely simple example of ZeroKnowledge and hmac together
0 commit comments