Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
codecrypt — Post-Quanten-Kryptografie-Tool (DIESES REPOSITORY IST NUR EIN SPIEGEL DES HAUPTREPOSITORY, BITTE MELDEN SIE HIER KEINE FEHLER) | Kitploit
Tools/GitHubGitHub/exaexa/codecrypt
Verschlüsselungs-/EntschlüsselungstoolsKryptographiePrivatsphärePapers & Forschung
GitHubexaexa/codecrypt

codecrypt

Post-Quanten-Kryptografie-Tool (DIESES REPOSITORY IST NUR EIN SPIEGEL DES HAUPTREPOSITORY, BITTE MELDEN SIE HIER KEINE FEHLER)

Repository anzeigen
32542vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Codecrypt

Das Post-Quanten-Kryptografie-Werkzeug.

Codecrypt wird derzeit nicht mehr gewartet, obwohl ich es weiterhin erfolgreich nutze. Wenn du Interesse an der Weiterentwicklung/Wartung hast, melde dich bei mir.

Überblick

Dies ist ein GnuPG-ähnliches Unix-Programm zur Verschlüsselung und Signatur, das ausschließlich quantencomputer-resistente Algorithmen verwendet:

  • McEliece-Kryptosystem (kompakte QC-MDPC-Variante) zur Verschlüsselung
  • Hash-basierter Merkle-Baum-Algorithmus (FMTSeq-Variante) für digitale Signaturen

Codecrypt ist Freie Software. Der Code ist unter den Bedingungen der LGPL3 lizenziert, in der Hoffnung, dass dadurch Kombinationen mit anderen Werkzeugen einfacher werden.

Warum das?

Lies http://pqcrypto.org/

Links

  • Infoseite: http://e-x-a.org/codecrypt/
  • Paket-Downloads: http://e-x-a.org/codecrypt/files/

Distro-Pakete

  • Gentoo-Pakete: https://packages.gentoo.org/packages/app-crypt/codecrypt mit aktuellem Ebuild, normalerweise verfügbar unter http://e-x-a.org/codecrypt/files
  • Debian-Pakete: apt-get install codecrypt
  • Arch Linux: siehe https://aur.archlinux.org/packages/codecrypt/
  • Windows-Port wird separat hier gepflegt: https://github.com/mike805/codecrypt-win32

Sprach-Wrapper:

  • Python-Bindings: https://github.com/mike805/codecrypt-python/

Dokumentation

Das Paket enthält eine vollständige, UNIX-typische Manpage. Du kannst sie online hier ansehen: http://e-x-a.org/codecrypt/ccr.1.html

Übersicht der verwendeten Kryptografie

Um das genannte Ziel zu erreichen, verwendet Codecrypt viele (traditionelle, aber „quantensichere“) kryptografische Primitive. Die Wahl der Primitive basierte auf guter Auditierbarkeit des Designs, Einfachheit und gebotener Sicherheit.

Das Git-Repository von Codecrypt enthält doc/papers mit einem unsortierten Haufen akademischer Paper und Folien zu relevanten Themen.

Verwendete Stream-Chiffren:

  • ChaCha20, die empfohlene Wahl von djb
  • XSynd-Stromchiffre als interessanter und nicht traditioneller Kandidat, der ebenfalls auf Annahmen der Kodierungstheorie basiert; die verwendeten NUMS (es erfordert viele NUMS) werden im Verzeichnis doc/nums im Repository erklärt.
  • Arcfour wegen der anfänglichen Einfachheit der Implementierung. Nach den jüngsten statistischen Angriffen kann ich die Verwendung einer RC4-Variante nicht mehr empfehlen, aber das bereitgestellte Padding und die „Nur-Offline“-Nutzung von Codecrypt halten die Verwendung weitgehend sicher.

Verwendete CRHFs:

  • Cubehash-Varianten wurden wegen der einfachen Implementierung, des wirklich sauberen Designs, der recht guten Geschwindigkeit und der Flexibilität bei der Parameterwahl ausgewählt. Dies ist auch die einzige Hash-Möglichkeit, wenn die Crypto++-Bibliothek nicht mit Codecrypt verlinkt ist. KeyIDs sind CUBE256-Hashes der entsprechenden serialisierten öffentlichen Schlüssel.
  • ripemd128 für kleine Hashes
  • tiger192 wird als Alternative zu Cubehash für 192-Bit-Hashes verwendet
  • Es gibt immer eine Variante mit SHA-256, SHA-384 oder SHA-512.

Signaturalgorithmen:

  • FMTSeq mit vielen Möglichkeiten und Kombinationen der zuvor genannten CRHFs
  • SPHINCS256-Unterstützung ist für die nächste Version geplant

Verschlüsselungsalgorithmen:

  • MDPC-McEliece auf quasi-zyklischen Matrizen. Die Implementierung verwendet einige Tricks, um die (ziemlich langsame) zyklische Matrixmultiplikation zu beschleunigen (besonders libfftm3 in dieser Version). Für das Padding mit dem Fujisaki-Okamoto-Schema benötigt die Chiffre eine Stromchiffre und einen CRHF; verwendete Chiffren und CRHFs werden im Algorithmusnamen angegeben -- z. B. bedeutet MCEQCMDPC128FO-CUBE256-CHACHA20, dass die Parameter auf 128-Bit-Sicherheit abgestimmt sind, CUBE256-Hash und ChaCha20-Stromchiffre verwendet werden.
  • Quasi-dyadisches McEliece wurde als ursprünglicher Algorithmus in Codecrypt aufgenommen, ist aber inzwischen gebrochen und gibt bei jeder Verwendung eine Warnmeldung aus.

Warnhinweise:

Kryptografie ist nicht für den „Online“-Einsatz gedacht, da einige Algorithmen (insbesondere die MDPC-Decodierung) (leicht) anfällig für Timing-Angriffe sind.

Kurzanleitung

Alles soll weitgehend wie GnuPG funktionieren, allerdings mit etwas mehr Einfachheit. Lass uns mit Zufallsdaten spielen!

root@kitploit:~
ccr -g help
ccr -g sig --name "John Doe"    # your signature key
ccr -g enc --name "John Doe"    # your encryption key

ccr -K  #watch the generated keys
ccr -k

ccr -p -a -o my_pubkeys.asc -F Doe  # export your pubkeys for friends

#(now you should exchange the pubkeys with friends)

#see what people sent us, possibly check the fingerprints
ccr -inaf < friends_pubkeys.asc

#import Frank's key and rename it
ccr -ia -R friends_pubkeys.asc --name "Friendly Frank"

#send a nice message to Frank (you can also specify him by @12345 keyid)
ccr -se -r Frank < Document.doc > Message_to_frank.ccr

#receive a reply
ccr -dv -o Decrypted_verified_reply.doc <Reply_from_frank.ccr

#rename other's keys
ccr -m Frank -N "Unfriendly Frank"

#and delete pukeys of everyone who's Unfriendly
ccr -x Unfri

#create hashfile from a large file
ccr -sS hashfile.ccr < big_data.iso

#verify the hashfile
ccr -vS hashfile.ccr < the_same_big_data.iso

#create (ascii-armored) symmetric key and encrypt a large file
ccr -g sha256,chacha20 -aS symkey.asc
ccr -eaS symkey.asc -R big_data.iso -o big_data_encrypted.iso

#decrypt a large file
ccr -daS symkey.asc <big_data_encrypted.iso >big_data.iso

#password-protect all your private keys
ccr -L

#protect a symmetric key using another symmetric key
ccr -L -S symkey1 -w symkey2

#password-protect symkey2 with a custom cipher
ccr -L -S symkey2 -w @xsynd,cube512

Optionsreferenz

Der Vollständigkeit halber füge ich hier eine Auflistung aller Optionen hinzu (auch erhältlich über ccr --help)

root@kitploit:~
Usage: ./ccr [options]

Common options:
 -h, --help     display this help
 -V, --version  display version information
 -T, --test     perform (probably nonexistent) testing/debugging stuff

Global options:
 -R, --in      set input file, default is stdin
 -o, --out     set output file, default is stdout
 -E, --err     the same for stderr
 -a, --armor   use ascii-armored I/O
 -y, --yes     assume that answer is `yes' everytime

Actions:
 -s, --sign     sign a message
 -v, --verify   verify a signed message
 -e, --encrypt  encrypt a message
 -d, --decrypt  decrypt an encrypted message

Action options:
 -r, --recipient    encrypt for given user
 -u, --user         use specified secret key
 -C, --clearsign    work with cleartext signatures
 -b, --detach-sign  specify file with detached signature
 -S, --symmetric    enable symmetric mode of operation where encryption
		    is done using symmetric cipher and signatures are
		    hashes, and specify a filename of symmetric key or hashes

Key management:
 -g, --gen-key        generate keys for specified algorithm
 -g help              list available cryptographic algorithms
 -k, --list           list the contents of keyring
 -K, --list-secret
 -i, --import         import keys
 -I, --import-secret
 -p, --export         export keys
 -P, --export-secret
 -x, --delete         delete matching keys
 -X, --delete-secret
 -m, --rename         rename matching keys
 -M, --rename-secret
 -L, --lock           lock secrets
 -U, --unlock         unlock secrets

Key management options:
 -F, --filter       only work with keys with matching names
 -f, --fingerprint  format full key IDs nicely for human eyes
 -N, --name         specify a new name for renaming or importing
 -n, --no-action    on import, only show what would be imported
 -w, --with-lock    specify the symmetric key for (un)locking the secrets
 -w @SPEC           ask for password and expand it to a symmetric key
                    of type SPEC for (un)locking the secret

Haftungsausschluss

Codecrypt frisst Daten. Verwende es mit Vorsicht. Lies das verdammte Handbuch.

Der Autor ist ein autodidaktischer Kryptograf.

Tool herunterladen