Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
codecrypt — Strumento di crittografia post-quantistica (QUESTO REPOSITORY È SOLO UNO SPECCHIO DI QUELLO PRINCIPALE, PER FAVORE NON SEGNALARE BUG QUI) | Kitploit
Strumenti/GitHubGitHub/exaexa/codecrypt
Strumenti di Crittografia/DecrittografiaCrittografiaPrivacyPaper e Ricerca
GitHubexaexa/codecrypt

codecrypt

Strumento di crittografia post-quantistica (QUESTO REPOSITORY È SOLO UNO SPECCHIO DI QUELLO PRINCIPALE, PER FAVORE NON SEGNALARE BUG QUI)

Vedi Repository
3254243 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Codecrypt

Lo strumento di crittografia post-quantistica.

Codecrypt attualmente non è più mantenuto, anche se lo uso ancora con successo. Se sei interessato a svilupparlo/mantenerlo, contattami.

Informazioni

Questo è un programma unix simile a GnuPG per cifratura e firma che usa solo algoritmi resistenti ai computer quantistici:

  • McEliece cryptosystem (variante compatta QC-MDPC) per la cifratura
  • Algoritmo ad albero di Merkle basato su hash (variante FMTSeq) per le firme digitali

Codecrypt è software libero. Il codice è concesso in licenza secondo i termini della LGPL3, nella buona speranza che ciò renda più facili le combinazioni con altri strumenti.

Perché questo?

Vai a leggere http://pqcrypto.org/

Link

  • infopage: http://e-x-a.org/codecrypt/
  • download dei pacchetti: http://e-x-a.org/codecrypt/files/

Pacchetti delle distribuzioni

  • Pacchetti Gentoo: https://packages.gentoo.org/packages/app-crypt/codecrypt con l'ebuild corrente di solito disponibile su http://e-x-a.org/codecrypt/files
  • Pacchetti Debian: apt-get install codecrypt
  • Arch linux: vedi https://aur.archlinux.org/packages/codecrypt/
  • La porta Windows è mantenuta separatamente qui: https://github.com/mike805/codecrypt-win32

Wrapper linguistici:

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

Documentazione

C'è una pagina di manuale completa, in stile UNIX, fornita con il pacchetto. Puoi consultarla online qui: http://e-x-a.org/codecrypt/ccr.1.html

Panoramica della crittografia usata

Per raggiungere l'obiettivo dichiarato, codecrypt usa molti primitive crittografiche (tradizionali, ma "sicure contro i quantistici"). Le scelte dei primitivi sono state basate su facile verificabilità del progetto, semplicità e sicurezza fornita.

Il repo git di codecrypt contiene doc/papers con un mucchio non ordinato di articoli accademici e slide su argomenti rilevanti.

Cifrari a flusso usati:

  • ChaCha20, la scelta raccomandata di djb
  • XSynd stream cipher come candidato interessante e non tradizionale, anch'esso basato su assunzioni della teoria dei codici; i NUMS utilizzati (ne richiede molti) sono spiegati nella directory doc/nums del repo.
  • Arcfour per la semplicità iniziale dell'implementazione. Dopo i recenti attacchi statistici non posso più raccomandare l'uso di alcuna variante di RC4, ma il padding fornito e l'uso "solo offline" di codecrypt mantengono l'uso per lo più sicuro.

CRHF usati:

  • Le varianti di Cubehash sono state selezionate per facilità di implementazione, design davvero pulito, velocità piuttosto buona e flessibilità nella scelta dei parametri. Questa è anche l'unica possibilità di hash quando la libreria Crypto++ non è collegata a codecrypt. Gli ID chiave sono hash CUBE256 delle corrispondenti chiavi pubbliche serializzate.
  • ripemd128 per hash piccoli
  • tiger192 è usato come alternativa a Cubehash per hash a 192 bit
  • C'è sempre una variante con SHA-256, SHA-384 o SHA-512.

Algoritmi di firma:

  • FMTSeq con molte possibilità e combinazioni dei suddetti CRHF
  • Il supporto a SPHINCS256 è previsto per la prossima release

Algoritmi di cifratura:

  • McEliece MDPC su matrici quasi-cicliche. L'implementazione usa alcuni trucchi per accelerare la moltiplicazione di matrici cicliche (piuttosto lenta) (in particolare libfftm3 in questa versione). Per il padding secondo lo schema Fujisaki-Okamoto, il cipher richiede un cifrario a flusso e un CRHF; i cifrari e i CRHF usati sono specificati nel nome dell'algoritmo -- ad es. MCEQCMDPC128FO-CUBE256-CHACHA20 significa che i parametri sono calibrati per garantire sicurezza a 128 bit, usa l'hash CUBE256 e il cifrario a flusso ChaCha20.
  • McEliece quasi-diadico era incluso in codecrypt come algoritmo originale, ma ora è compromesso e stampa un messaggio di avviso a ogni utilizzo.

Avvertenze:

La crittografia non è pensata per l'uso "online", perché alcuni algoritmi (specialmente la decodifica MDPC) sono (leggermente) vulnerabili ad attacchi a tempo.

Quick How-To

Tutto è pensato per funzionare più o meno come GnuPG, ma con un buon margine di semplicità. Giocherelliamo con dati casuali!

root@kitploit:~
ccr -g help
ccr -g sig --name "John Doe"    # la tua chiave di firma
ccr -g enc --name "John Doe"    # la tua chiave di cifratura

ccr -K  #guarda le chiavi generate
ccr -k

ccr -p -a -o my_pubkeys.asc -F Doe  # esporta le tue chiavi pubbliche per gli amici

#(ora dovresti scambiare le chiavi pubbliche con gli amici)

#guarda cosa ci hanno mandato, eventualmente verifica le impronte
ccr -inaf < friends_pubkeys.asc

#importa la chiave di Frank e rinominala
ccr -ia -R friends_pubkeys.asc --name "Friendly Frank"

#invia un bel messaggio a Frank (puoi anche specificarlo con @12345 keyid)
ccr -se -r Frank < Document.doc > Message_to_frank.ccr

#ricevi una risposta
ccr -dv -o Decrypted_verified_reply.doc <Reply_from_frank.ccr

#rinomina le chiavi degli altri
ccr -m Frank -N "Unfriendly Frank"

#ed elimina le chiavi pubbliche di chiunque sia Unfriendly
ccr -x Unfri

#crea un file di hash da un file grande
ccr -sS hashfile.ccr < big_data.iso

#verifica il file di hash
ccr -vS hashfile.ccr < the_same_big_data.iso

#crea una chiave simmetrica (armor ascii) e cifra un file grande
ccr -g sha256,chacha20 -aS symkey.asc
ccr -eaS symkey.asc -R big_data.iso -o big_data_encrypted.iso

#decifra un file grande
ccr -daS symkey.asc <big_data_encrypted.iso >big_data.iso

#proteggi con password tutte le tue chiavi private
ccr -L

#proteggi una chiave simmetrica usando un'altra chiave simmetrica
ccr -L -S symkey1 -w symkey2

#proteggi con password symkey2 con un cipher personalizzato
ccr -L -S symkey2 -w @xsynd,cube512

Riferimento delle opzioni

Per completezza aggiungo qui l'elenco di tutte le opzioni (disponibile anche da 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

Disclaimer

Codecrypt mangia dati. Usalo con cautela. Leggi il manuale F.

L'autore è un crittografo autodidatta.

Scarica lo strumento