Skip to main content

Zero-Knowledge Authentication System - No Email, No Password, Just Your Secret

Project description

Zero-Knowledge Authentication System

Zero-Knowledge Authentication System

The Future of Authentication is Here. No Email. No Password. Just Your Secret.

Python License PyPI Tests Security Stars

The time is now ripe for it

CryptoLogin

๐Ÿš€ 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)

ยฉerabytse

Built with โค๏ธ by erabytse

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

cryptologin-1.1.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptologin-1.1.0-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file cryptologin-1.1.0.tar.gz.

File metadata

  • Download URL: cryptologin-1.1.0.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

Hashes for cryptologin-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9a2f6892a79ddb07b1d5e0355cf5069103911604f4a022e696bed9a90015885b
MD5 bbbe9eaf9b6b3cb0d1d7f2eada5500e0
BLAKE2b-256 f1b09a18b816d75fd258be14bd527d5fd2e6373088ade555999e5d2ccb1df47f

See more details on using hashes here.

File details

Details for the file cryptologin-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: cryptologin-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for cryptologin-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 affbce8744df2950234836f51720a115ee18400ad278c774102a04d65370b13b
MD5 3a6b0bf19f5775500d89560f6edbf863
BLAKE2b-256 925e3c95db6a983eb39057de41c7d29fd13ce4005f761ef6241b143365217908

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page