Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quantum-Secure HTTPS Alternative

Eine low-level Alternative zu HTTPS mit eingebauter Quantensicherheit, implementiert in C.

Überblick

Dieses Projekt implementiert ein quantensicheres Kommunikationsprotokoll als Alternative zu HTTPS. Es verwendet Post-Quantum-Kryptografie-Algorithmen, die gegen Angriffe von Quantencomputern resistent sind.

Hauptmerkmale

  • Post-Quantum Key Exchange: CRYSTALS-Kyber für quantensichere Schlüsselvereinbarung
  • Digitale Signaturen: CRYSTALS-Dilithium für quantensichere Authentifizierung
  • Quantensicheres TLS-Protokoll: Eigenes Protokoll basierend auf Post-Quantum-Algorithmen
  • Zertifikatsverwaltung: System für quantensichere Zertifikate und Vertrauensketten
  • Low-Level Implementation: Direkte Socket-Programmierung für maximale Kontrolle

Architektur

qs/
├── crypto/           # Post-Quantum Kryptografie-Implementierungen
│   ├── kyber.c      # CRYSTALS-Kyber KEM
│   ├── dilithium.c  # CRYSTALS-Dilithium Signaturen
│   └── hash.c       # Kryptografische Hash-Funktionen
├── protocol/         # Quantensicheres TLS-Protokoll
│   ├── handshake.c  # Protokoll-Handshake
│   ├── record.c     # Record Layer
│   └── cert.c       # Zertifikatsverwaltung
├── src/             # Kern-Netzwerk-Implementation
│   ├── socket.c     # Socket-Verwaltung
│   └── session.c    # Session-Management
├── examples/        # Beispiel-Server und -Client
└── tests/          # Kryptografische Tests

Kompilieren

make all           # Vollständige Kompilierung
make debug         # Debug-Version
make test          # Tests ausführen
make benchmark     # Performance-Benchmarks

Verwendung

Server starten

./build/qs_server --port 8443 --cert server.cert --key server.key

Client verbinden

./build/qs_client --host localhost --port 8443 --verify-cert

Algorithmus-Details

CRYSTALS-Kyber

  • Sicherheitslevel: NIST Level 3 (192-bit klassisch)
  • Schlüsselgrößen: Öffentlich ~1568 Bytes, Privat ~3168 Bytes
  • Ciphertext: ~1568 Bytes

CRYSTALS-Dilithium

  • Sicherheitslevel: NIST Level 3 (192-bit klassisch)
  • Schlüsselgrößen: Öffentlich ~1952 Bytes, Privat ~4000 Bytes
  • Signatur: ~3293 Bytes

Sicherheitsüberlegungen

  • Quantenresistenz: Alle Algorithmen sind gegen bekannte Quantencomputer-Angriffe resistent
  • Forward Secrecy: Jede Sitzung verwendet ephemerale Schlüssel
  • Authentifizierung: Starke digitale Signaturen mit Post-Quantum-Algorithmen
  • Integrität: Kryptografische Prüfsummen für alle Nachrichten

Performance

Die Post-Quantum-Algorithmen haben größere Schlüssel und langsamere Operationen als klassische Kryptografie:

  • Handshake-Zeit: ~2-5x langsamer als RSA/ECDSA
  • Schlüsselgrößen: ~10-20x größer als RSA-2048
  • Bandbreiten-Overhead: ~5-10% durch größere Nachrichten

Installation

make install      # Systemweite Installation (erfordert sudo)

Abhängigkeiten

  • GCC mit C99-Unterstützung
  • POSIX-kompatibles System (Linux, macOS, *BSD)
  • pthread-Bibliothek für Multithreading

Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE-Datei für Details.

Beitrag

Beiträge sind willkommen! Bitte beachten Sie die Sicherheitsrichtlinien für kryptografische Software.

Warnung

⚠️ Experimentelle Software: Diese Implementation ist für Forschung und Bildung gedacht. Für Produktionsumgebungen sollten etablierte und geprüfte Bibliotheken verwendet werden.

About

Ein kleiner POC, Eine möchtegern low-level Alternative zu HTTPS mit eingebauter Quantensicherheit, implementiert in C.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages