Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
perl-CryptX — Boîte à outils cryptographique Perl fournissant des chiffrements symétriques, des modes AEAD, des fonctions de hachage, des MAC, la cryptographie à clé publique, la dérivation de clés et la génération aléatoire sécurisée via la bibliothèque LibTomCrypt incluse. | Kitploit
Outils/GitHubGitHub/dcit/perl-cryptx
Cassage de Mots de PasseOutils de Chiffrement/DéchiffrementAnalyse de HachageCryptographieUtilitaires et FrameworksAuthentification
GitHubdcit/perl-cryptx

perl-CryptX

Boîte à outils cryptographique Perl fournissant des chiffrements symétriques, des modes AEAD, des fonctions de hachage, des MAC, la cryptographie à clé publique, la dérivation de clés et la génération aléatoire sécurisée via la bibliothèque LibTomCrypt incluse.

Voir le dépôt
412621il y a 28 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

NOM

CryptX - Boîte à outils cryptographique

SYNOPSIS

CryptX est le point d'entrée de la distribution. Dans le code normal, chargez l'un des modules concrets listés ci-dessous.

## one-shot hashing
use Crypt::Digest qw(digest_data_hex);
my $sha256 = digest_data_hex('SHA256', 'hello world');

## classic AES-CBC encryption with padding
use Crypt::Mode::CBC;
my $cbc = Crypt::Mode::CBC->new('AES');
my $iv = random_bytes(16); # 16-byte AES block-size IV
my $cbc_ciphertext = $cbc->encrypt('hello world', $key, $iv);

## authenticated encryption (AEAD) with AES
use Crypt::AuthEnc::GCM qw(gcm_encrypt_authenticate);
my $key = random_bytes(32);   # 32-byte AES-256 key
my $nonce = random_bytes(12); # 12-byte unique nonce
my ($ciphertext, $tag) = gcm_encrypt_authenticate('AES', $key, $nonce, 'header', 'hello world');

## message authentication
use Crypt::Mac::HMAC qw(hmac_hex);
my $mac = hmac_hex('SHA256', $key, 'hello world');

## secure random data + UUID helpers
use Crypt::PRNG qw(random_bytes random_string);
use Crypt::Misc qw(random_v4uuid random_v7uuid);
my $salt = random_bytes(16);
my $token = random_string(24);
my $uuid4 = random_v4uuid();
my $uuid7 = random_v7uuid();

## classic password-based key derivation
use Crypt::KeyDerivation qw(pbkdf2);
my $dk = pbkdf2('password', $salt, 100_000, 'SHA256', 32);

## bare stream cipher (authenticate separately)
use Crypt::Stream::ChaCha;
my $stream = Crypt::Stream::ChaCha->new($key, $nonce);
my $stream_ciphertext = $stream->crypt('hello world');

## modern signatures
use Crypt::PK::Ed25519;
my $signer = Crypt::PK::Ed25519->new->generate_key;
my $sig = $signer->sign_message('hello world');
my $ok = $signer->verify_message($sig, 'hello world');

## key agreement
use Crypt::PK::X25519;
my $alice = Crypt::PK::X25519->new->generate_key;
my $bob = Crypt::PK::X25519->new->generate_key;
my $shared_secret = $alice->shared_secret($bob);

DESCRIPTION

Modules cryptographiques Perl basés sur la bibliothèque LibTomCrypt incluse. La distribution inclut également Math::BigInt::LTM, un backend Math::BigInt basé sur la bibliothèque LibTomMath incluse, utilisée en interne par LibTomCrypt.

Ce module sert principalement de page principale de la distribution/de la documentation. Pour un usage réel, utilisez l'un des modules concrets listés ci-dessous.

Guide de sélection d'algorithmes

Chiffrement authentifié (AEAD)

Pour les nouvelles conceptions, privilégiez le chiffrement authentifié (AEAD) aux modes de chiffrement seuls :

  • ChaCha20-Poly1305 (Crypt::AuthEnc::ChaCha20Poly1305) - Rapide, à temps constant, largement déployé (TLS 1.3, WireGuard, SSH). Utilisez-le comme choix AEAD par défaut.
  • XChaCha20-Poly1305 (Crypt::AuthEnc::XChaCha20Poly1305) - Variante à nonce étendu de 24 octets. À préférer à ChaCha20-Poly1305 lorsque les nonces sont générés aléatoirement.
  • AES-GCM (Crypt::AuthEnc::GCM) - Le mode AEAD standard pour AES. Accéléré par le matériel sur les processeurs modernes. Exige des nonces uniques ; la réutilisation d'un nonce compromet entièrement la sécurité.
  • AES-SIV (Crypt::AuthEnc::SIV) - AEAD déterministe, résistant à une mauvaise utilisation du nonce. Légèrement plus lent mais plus sûr lorsque l'unicité du nonce ne peut pas être garantie.
  • AES-GCM-SIV (Crypt::AuthEnc::GCMSIV) - AEAD résistant à une mauvaise utilisation du nonce (RFC 8452). Plus rapide qu'AES-SIV ; choisissez-le lorsque vous avez besoin de performances de type GCM avec la sécurité contre la réutilisation du nonce.
  • AES-OCB (Crypt::AuthEnc::OCB) - AEAD à passage unique très rapide. Vérifiez le statut des brevets pour votre juridiction.
  • AES-EAX (Crypt::AuthEnc::EAX) - AEAD à deux passages basé sur CTR+OMAC. Sans brevets, sans restrictions sur la longueur du nonce.
  • AES-CCM (Crypt::AuthEnc::CCM) - Utilisé dans le WiFi (WPA2) et le Bluetooth. Nécessite de connaître à l'avance la longueur du texte clair.

Aléa cryptographiquement sûr et UUID

  • Octets / chaînes aléatoires (Crypt::PRNG) - Utilisez-les pour les sels, clés, nonces, jetons et toute autre valeur aléatoire secrète. Les fonctions d'aide random_bytes, random_bytes_hex, random_bytes_b64, random_bytes_b64u, random_string et random_string_from couvrent la plupart des cas d'utilisation. L'API OO et les enveloppes spécifiques à un algorithme (Crypt::PRNG::ChaCha20, Crypt::PRNG::Fortuna, etc.) servent principalement aux flux déterministes ou à l'interopérabilité avec un PRNG spécifique.
  • UUID ("random_v4uuid" dans Crypt::Misc, "random_v7uuid" dans Crypt::Misc) - Utilisez random_v4uuid pour des identifiants aléatoires opaques. Utilisez random_v7uuid lorsque vous souhaitez des identifiants approximativement ordonnés dans le temps, triés par heure de création à une granularité de milliseconde. Les UUID sont des identifiants, pas des remplacements pour des octets aléatoires secrets.

Chiffrements de flux

Les chiffrements de flux chiffrent les données octet par octet, sans bourrage de bloc. Pour la plupart des applications, préférez un mode AEAD (voir ci-dessus) qui regroupe chiffrement et authentification. N'utilisez des chiffrements de flux seuls que lorsque vous gérez l'authentification séparément.

  • ChaCha (Crypt::Stream::ChaCha) - Le choix de chiffrement de flux par défaut. Même cœur que ChaCha20-Poly1305 sans le MAC intégré.
  • XChaCha (Crypt::Stream::XChaCha) - Variante de ChaCha à nonce étendu de 24 octets. À préférer lorsque les nonces sont générés aléatoirement.
  • Salsa20 / XSalsa20 (Crypt::Stream::Salsa20, Crypt::Stream::XSalsa20) - Prédécesseur de ChaCha. Préférez ChaCha pour les nouvelles conceptions ; Salsa20 uniquement pour l'interopérabilité (p. ex. NaCl/libsodium).
  • RC4 (Crypt::Stream::RC4) - Cassé ; ne l'utilisez pas pour les nouvelles conceptions. Fourni uniquement pour l'interopérabilité avec l'existant.
  • Rabbit, Sober128, Sosemanuk (Crypt::Stream::Rabbit, Crypt::Stream::Sober128, Crypt::Stream::Sosemanuk) - Chiffrements de niche issus du portfolio eSTREAM. Utilisez ChaCha sauf si un protocole spécifique exige l'un d'eux.

Modes de chiffrement par blocs (sans authentification)

N'utilisez ces modes que lorsque l'authentification est gérée séparément ou n'est pas nécessaire :

Télécharger l’outil