Zero-Knowledge Authentication System - No Email, No Password, Just Your Secret
Project description
Zero-Knowledge Authentication System
The Future of Authentication is Here. No Email. No Password. Just Your Secret.
The time is now ripe for it
๐ What is CryptoLogin?
CryptoLogin is a revolutionary zero-knowledge authentication system that eliminates the need for emails, passwords, or social logins.
The Problem
- ๐ Passwords are stolen daily
- ๐ง Email verification is slow and annoying
- ๐ต๏ธโโ๏ธ Social logins track your users
- ๐ฐ Authentication services are expensive
The Solution
- ๐ One Master Secret - All you need to remember
- ๐ก๏ธ Military-Grade Encryption - AES-256-GCM + Argon2id
- ๐ซ Zero-Knowledge - Your secret never leaves your device
- โก Lightning Fast - Register in seconds
โจ Key Features
| Feature | Description | Security |
|---|---|---|
| Zero-Knowledge | Server never knows your secret | ๐ Military |
| No Email Required | Register without email | ๐ Privacy |
| No Password Required | Single master secret | ๐ Simple |
| AES-256-GCM | NIST standard encryption | ๐ FIPS |
| Argon2id | Memory-hard KDF | ๐ OWASP |
| SecureBuffer | Automatic memory wiping | ๐ Military |
| Data Vault | Encrypted user data | ๐ Zero-Trust |
| REST API | FastAPI + OpenAPI | ๐ Modern |
| Rate Limiting | Brute-force protection | ๐ Production |
๐ฆ Installation
# Install from PyPI
pip install cryptologin
# Or install from source
git clone https://github.com/erabytse/CryptoLogin.git
cd cryptologin
pip install -e .
๐ Quick Start
from cryptologin import CryptoLogin
# Initialize the system
auth = CryptoLogin()
# Register a user
user_id = auth.register(
master_secret="my-super-secret-64-characters-minimum",
user_data={"name": "John Doe", "email": "john@example.com"}
)
# Login
challenge = auth.login_init(master_secret)
session = auth.login_verify(master_secret, challenge)
# Access user data
data = auth.get_user_data(user_id, master_secret)
print(data) # {"name": "John Doe", "email": "john@example.com"}
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CRYPTOLOGIN โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ [USER] โ [API] โ [UserManager] โ [Data Vault] โ [Storage] โ
โ โ
โ ๐ AES-256-GCM + Argon2id + SecureBuffer |
โ ๐ซ Zero-Knowledge Architecture |
โ โก FastAPI + SQLite/PostgreSQL |
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Security Model
How It Works
1. User creates a Master Secret
2. Secret is NEVER sent to the server
3. Server only stores:
- User ID (derived from secret)
- Challenge (encrypted with secret)
- Vault Data (encrypted with secret)
4. Authentication via Challenge-Response
5. All data encrypted with AES-256-GCM
Security Certifications
| Standard | Compliance |
|---|---|
| NIST FIPS 197 | โ AES-256 |
| OWASP ASVS | โ Argon2id |
| GDPR | โ Zero-Knowledge |
| SOC2 | โ Audit Logs |
๐ Comparison
| Feature | CryptoLogin | Auth0 | Firebase | Clerk |
|---|---|---|---|---|
| Zero-Knowledge | โ | โ | โ | โ |
| No Email Required | โ | โ | โ | โ |
| No Password Required | โ | โ | โ | โ |
| Open Source | โ | โ | โ | โ |
| Self-Hosted | โ | โ | โ | โ |
| Military Encryption | โ | โ ๏ธ | โ ๏ธ | โ ๏ธ |
| Price | ๐ฐFree | ๐ฐ๐ฐ๐ฐ | ๐ฐ๐ฐ | ๐ฐ๐ฐ๐ฐ |
๐ฏ Use Cases
-
๐ Web Applications - Authentication without email/password
-
๐ฑ Mobile Apps - Simple, secure login
-
๐ Enterprise Apps - Zero-trust authentication
-
๐ฅ Healthcare - GDPR compliant authentication
-
๐ณ Fintech - High-security authentication
๐ Documentation
-
API Reference
-
Getting Started Guide
-
Security Whitepaper
-
Architecture Overview
๐ค Contributing
We welcome contributions! Please see our Contributing Guide.
Development Setup
# Clone the repository
git clone https://github.com/erabytse/CryptoLogin.git
cd cryptologin
# Install dev dependencies
pip install -e .[dev]
# Run tests
pytest tests/ -v
# Run the API
python run.py
๐ License
-
Open Source: Apache 2.0
-
Commercial: Available for enterprise use
๐ Support the Project
-
โญ Star the repository
-
๐ Report issues
-
๐ Improve documentation
-
๐ฐ Sponsor the project
-
๐ฃ๏ธ Spread the word
๐ Contact
-
๐ง Email: contact@fbfconsulting.org
-
๐ฆ Twitter: @cryptologin (coming soon)
-
๐ฌ Discord: Join our community (coming soon)
Reinventing Authentication. One Secret at a Time.
A quiet rebellion against digital waste.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptologin-1.1.1.tar.gz.
File metadata
- Download URL: cryptologin-1.1.1.tar.gz
- Upload date:
- Size: 33.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
550f5c4bef5f44f3b353d16b6b4d3af9313fa637eaeb00764f41db2463c291d5
|
|
| MD5 |
735fd691914c66e083599d80c2e6a1f3
|
|
| BLAKE2b-256 |
caf8cd741d87dca8b5684897c62f16ffe76556cc8239524f1033107782d23389
|
File details
Details for the file cryptologin-1.1.1-py3-none-any.whl.
File metadata
- Download URL: cryptologin-1.1.1-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57b9156ea9183212ff9a0a24aca76dc94942c472c796d118d593022936e19dae
|
|
| MD5 |
489cb9d783a1d3450d7a2c707c61ab11
|
|
| BLAKE2b-256 |
92987835b71c66036855bd224200fcdb3b9b4f0c836ef8d477c14935a04356bf
|