Eine low-level Alternative zu HTTPS mit eingebauter Quantensicherheit, implementiert in C.
Dieses Projekt implementiert ein quantensicheres Kommunikationsprotokoll als Alternative zu HTTPS. Es verwendet Post-Quantum-Kryptografie-Algorithmen, die gegen Angriffe von Quantencomputern resistent sind.
- 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
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
make all # Vollständige Kompilierung
make debug # Debug-Version
make test # Tests ausführen
make benchmark # Performance-Benchmarks./build/qs_server --port 8443 --cert server.cert --key server.key./build/qs_client --host localhost --port 8443 --verify-cert- Sicherheitslevel: NIST Level 3 (192-bit klassisch)
- Schlüsselgrößen: Öffentlich ~1568 Bytes, Privat ~3168 Bytes
- Ciphertext: ~1568 Bytes
- Sicherheitslevel: NIST Level 3 (192-bit klassisch)
- Schlüsselgrößen: Öffentlich ~1952 Bytes, Privat ~4000 Bytes
- Signatur: ~3293 Bytes
- 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
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
make install # Systemweite Installation (erfordert sudo)- GCC mit C99-Unterstützung
- POSIX-kompatibles System (Linux, macOS, *BSD)
- pthread-Bibliothek für Multithreading
Dieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE-Datei für Details.
Beiträge sind willkommen! Bitte beachten Sie die Sicherheitsrichtlinien für kryptografische Software.