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
perl-CryptX — Perl-Kryptographie-Toolkit, das symmetrische Chiffren, AEAD-Modi, Hash-Funktionen, MACs, Public-Key-Kryptographie, Schlüsselableitung und sichere Zufallsgenerierung über die gebündelte LibTomCrypt-Bibliothek bereitstellt. | Kitploit
Tools/GitHubGitHub/dcit/perl-cryptx
Passwort-CrackingVerschlüsselungs-/EntschlüsselungstoolsHash-AnalyseKryptographieDienstprogramme & FrameworksAuthentifizierung
GitHubdcit/perl-cryptx

perl-CryptX

Perl-Kryptographie-Toolkit, das symmetrische Chiffren, AEAD-Modi, Hash-Funktionen, MACs, Public-Key-Kryptographie, Schlüsselableitung und sichere Zufallsgenerierung über die gebündelte LibTomCrypt-Bibliothek bereitstellt.

Repository anzeigen
4126vor 10 TagenVon 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

BEZEICHNUNG

CryptX - Kryptografische Werkzeugsammlung

ÜBERBLICK

CryptX ist der Einstiegspunkt der Distribution. Im normalen Code lädt man eines der unten aufgeführten konkreten Module.

root@kitploit:~
## Einmal-Hashing
use Crypt::Digest qw(digest_data_hex);
my $sha256 = digest_data_hex('SHA256', 'hello world');

## Klassische AES-CBC-Verschlüsselung mit Padding
use Crypt::Mode::CBC;
my $cbc = Crypt::Mode::CBC->new('AES');
my $iv = random_bytes(16); # 16-Byte AES-Blockgröße IV
my $cbc_ciphertext = $cbc->encrypt('hello world', $key, $iv);

## Authentifizierte Verschlüsselung (AEAD) mit AES
use Crypt::AuthEnc::GCM qw(gcm_encrypt_authenticate);
my $key = random_bytes(32);   # 32-Byte AES-256-Schlüssel
my $nonce = random_bytes(12); # 12-Byte einmalige Nonce
my ($ciphertext, $tag) = gcm_encrypt_authenticate('AES', $key, $nonce, 'header', 'hello world');

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

## Sichere Zufallsdaten + UUID-Hilfsfunktionen
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();

## Klassische passwortbasierte Schlüsselableitung
use Crypt::KeyDerivation qw(pbkdf2);
my $dk = pbkdf2('password', $salt, 100_000, 'SHA256', 32);

## Reine Stromchiffre (Authentifizierung separat)
use Crypt::Stream::ChaCha;
my $stream = Crypt::Stream::ChaCha->new($key, $nonce);
my $stream_ciphertext = $stream->crypt('hello world');

## Moderne Signaturen
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');

## Schlüsselaustausch
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);

BESCHREIBUNG

Perl-Kryptografiemodule, die auf der gebündelten LibTomCrypt-Bibliothek basieren. Die Distribution enthält außerdem Math::BigInt::LTM, ein Backend für Math::BigInt, das auf der gebündelten LibTomMath-Bibliothek aufbaut, die intern von LibTomCrypt verwendet wird.

Dieses Modul dient hauptsächlich als zentrale Seite für Distribution/Dokumentation. Für die eigentliche Arbeit verwenden Sie eines der unten aufgeführten konkreten Module.

Algorithmus-Auswahlhilfe

Authentifizierte Verschlüsselung (AEAD)

Bevorzugen Sie bei neuen Entwürfen authentifizierte Verschlüsselung (AEAD) gegenüber reinen Verschlüsselungsmodi:

  • ChaCha20-Poly1305 (Crypt::AuthEnc::ChaCha20Poly1305) – Schnell, konstante Laufzeit, weit verbreitet (TLS 1.3, WireGuard, SSH). Dies als Standard-AEAD-Wahl verwenden.
  • XChaCha20-Poly1305 (Crypt::AuthEnc::XChaCha20Poly1305) – Erweiterte Variante mit 24-Byte-Nonce. ChaCha20-Poly1305 vorziehen, wenn Nonces zufällig generiert werden.
  • AES-GCM (Crypt::AuthEnc::GCM) – Der Standard-AEAD-Modus für AES. Hardwarebeschleunigt auf modernen CPUs. Erfordert einmalige Nonces; Wiederverwendung einer Nonce zerstört die Sicherheit vollständig.
  • AES-SIV (Crypt::AuthEnc::SIV) – Deterministisches AEAD, resistent gegen Nonce-Fehlgebrauch. Etwas langsamer, aber sicherer, wenn die Einmaligkeit der Nonce nicht garantiert werden kann.
  • AES-GCM-SIV (Crypt::AuthEnc::GCMSIV) – Nonce-fehlgebrauchsresistentes AEAD (RFC 8452). Schneller als AES-SIV; dies wählen, wenn GCM-ähnliche Leistung mit Nonce-Wiederverwendungssicherheit benötigt wird.
  • AES-OCB (Crypt::AuthEnc::OCB) – Sehr schnelles Single-Pass-AEAD. Prüfen Sie den Patentstatus für Ihr Land.
  • AES-EAX (Crypt::AuthEnc::EAX) – Zwei-Pass-AEAD basierend auf CTR+OMAC. Keine Patente, keine Nonce-Längenbeschränkungen.
  • AES-CCM (Crypt::AuthEnc::CCM) – Verwendet in WLAN (WPA2) und Bluetooth. Erfordert Kenntnis der Klartextlänge im Voraus.

Kryptografisch sichere Zufallszahlen und UUIDs

  • Zufallsbytes / -zeichenfolgen (Crypt::PRNG) – Hiermit für Salts, Schlüssel, Nonces, Tokens und andere geheime Zufallswerte. Die funktionalen Helfer random_bytes, random_bytes_hex, random_bytes_b64, random_bytes_b64u, random_string und random_string_from decken die meisten Anwendungsfälle ab. Die OO-API und die algorithmusspezifischen Wrapper (Crypt::PRNG::ChaCha20, Crypt::PRNG::Fortuna usw.) dienen hauptsächlich deterministischen Strömen oder der Interoperabilität mit einem bestimmten PRNG.
  • UUIDs ("random_v4uuid" in Crypt::Misc, "random_v7uuid" in Crypt::Misc) – random_v4uuid verwenden für undurchsichtige Zufallsidentifikatoren. random_v7uuid verwenden, wenn ungefähr zeitlich geordnete Identifikatoren gewünscht werden, die nach Erstellungszeit auf Millisekundenebene sortieren. UUIDs sind Identifikatoren, kein Ersatz für geheime Zufallsbytes.

Stromchiffren

Stromchiffren verschlüsseln Daten Byte für Byte ohne Block-Padding. Für die meisten Anwendungen einen AEAD-Modus bevorzugen (siehe oben), der Verschlüsselung mit Authentifizierung bündelt. Reine Stromchiffren nur verwenden, wenn die Authentifizierung separat erfolgt.

  • ChaCha (Crypt::Stream::ChaCha) – Die Standard-Stromchiffre. Gleicher Kern wie ChaCha20-Poly1305 ohne eingebauten MAC.
  • XChaCha (Crypt::Stream::XChaCha) – Erweiterte Variante mit 24-Byte-Nonce von ChaCha. Bevorzugen, wenn Nonces zufällig generiert werden.
  • Salsa20 / XSalsa20 (Crypt::Stream::Salsa20, Crypt::Stream::XSalsa20) – Vorgänger von ChaCha. Für neue Entwürfe ChaCha bevorzugen; Salsa20 nur für Interoperabilität (z.B. NaCl/libsodium).
  • RC4 (Crypt::Stream::RC4) – Gebrochen; nicht für neue Entwürfe verwenden. Nur für Legacy-Interoperabilität bereitgestellt.
  • Rabbit, Sober128, Sosemanuk (Crypt::Stream::Rabbit, Crypt::Stream::Sober128, Crypt::Stream::Sosemanuk) – Nischen-Chiffren aus dem eSTREAM-Portfolio. ChaCha verwenden, es sei denn, ein bestimmtes Protokoll erfordert eine davon.

Blockchiffren-Modi (ohne Authentifizierung)

Diese nur verwenden, wenn die Authentifizierung separat erfolgt oder nicht benötigt wird:

  • CTR (Crypt::Mode::CTR) – Macht aus einer Blockchiffre eine Stromchiffre. Parallelisierbar.
  • CBC (Crypt::Mode::CBC) – Klassischer Modus, benötigt Padding. CTR oder einen AEAD-Modus vorziehen.
  • ECB (Crypt::Mode::ECB) – Für die meisten Anwendungen unsicher. Jeder Block unabhängig verschlüsselt.

Die einzelnen Module Crypt::Cipher::AES, Crypt::Cipher::Twofish usw. implementieren rohe Einzelblockverschlüsselung und werden selten direkt verwendet. In fast allen Fällen sollten Sie sie über einen AEAD-Modus (Crypt::AuthEnc::GCM, Crypt::AuthEnc::CCM) oder einen Block Chiffren-Modus (Crypt::Mode::CBC, Crypt::Mode::CTR) verwenden. Bei der Wahl einer Chiffre ist AES die Standardwahl; auf den meisten modernen CPUs hardwarebeschleunigt.

Hash-Funktionen

  • SHA-256 / SHA-384 / SHA-512 (Crypt::Digest::SHA256 usw.) – Die Standardwahl für allgemeines Hashing. Weit unterstützt und gut analysiert.
  • SHA3-256 / SHA3-512 (Crypt::Digest::SHA3_256 usw.) – Alternative zu SHA-2 mit einer völlig anderen Konstruktion (Keccak-Schwamm).
  • BLAKE2b / BLAKE2s (Crypt::Digest::BLAKE2b_256 usw.) – Sehr schnell, besonders in Software. BLAKE2b für 64-Bit-Plattformen, BLAKE2s für 32-Bit.
  • SHAKE / TurboSHAKE / KangarooTwelve – Funktionen mit erweiterbarer Ausgabe (XOFs). Verwenden, wenn eine variable Ausgabelänge benötigt wird.

Prüfsummen

Crypt::Checksum::CRC32 und Crypt::Checksum::Adler32 nur für nicht-gegnerische Integritätsprüfungen wie die Erkennung versehentlicher Korruption verwenden. Sie sind keine kryptografischen Integritäts- oder Authentizitätsmechanismen. Für kryptografische Zwecke Crypt::Digest, Crypt::Mac oder einen AEAD-Modus aus Crypt::AuthEnc bevorzugen.

Nachrichtenauthentifizierungscodes

  • HMAC (Crypt::Mac::HMAC) – Der Standard-MAC-Aufbau. Funktioniert mit jedem Hash. HMAC-SHA256 als Standard verwenden.
  • Poly1305 (Crypt::Mac::Poly1305) – Einmal-MAC, sehr schnell. Wird als Teil von ChaCha20-Poly1305 verwendet. Erfordert einen einmaligen Schlüssel pro Nachricht.
  • BLAKE2b-MAC (Crypt::Mac::BLAKE2b) – Schlüsselgebundener BLAKE2. In Software schneller als HMAC-SHA256.
  • CMAC/OMAC (Crypt::Mac::OMAC) – Blockchiffren-basierter MAC. Verwenden, wenn bereits AES, aber keine Hash-Funktion vorhanden ist.

Public-Key-Kryptografie

  • Ed25519 (Crypt::PK::Ed25519) – Moderne digitale Signaturen. Schnell, konstante Laufzeit, kleine Schlüssel/Signaturen. Die Standardwahl für neue Signaturschemata.
  • Ed448 (Crypt::PK::Ed448) – Höhere Sicherheitsmarge als Ed25519 (~224-Bit vs. ~128-Bit).
  • X25519 (Crypt::PK::X25519) – Elliptische-Kurven-Diffie-Hellman-Schlüsselaustausch. Die Standardwahl für Schlüsselaustausch.
  • X448 (Crypt::PK::X448) – Höhere Sicherheitsmarge als X25519.
  • ECDSA (Crypt::PK::ECC) – Weit verbreitet (TLS, Bitcoin). Für neue Entwürfe Ed25519 vorziehen, es sei denn, ECDSA wird für die Interoperabilität benötigt.
  • RSA (Crypt::PK::RSA) – Legacy, aber sehr weit verbreitet. Mindestens 2048-Bit-Schlüssel verwenden, 4096-Bit bevorzugt. OAEP für Verschlüsselung und PSS für Signaturen bevorzugen.
  • DSA (Crypt::PK::DSA) – Legacy. Ed25519 oder ECDSA bevorzugen.
  • DH (Crypt::PK::DH) – Klassischer Diffie-Hellman. Für neue Entwürfe X25519 bevorzugen.

Schlüsselableitung / Passwort-Hashing

  • HKDF ("hkdf" in Crypt::KeyDerivation) – Extract-then-Expand-KDF. Zum Ableiten von Schlüsseln aus gemeinsamen Geheimnissen (z.B. nach ECDH) verwenden.
  • Argon2 ("argon2_pbkdf" in Crypt::KeyDerivation) – Speicherhärtendes Passwort-Hashing. Die empfohlene Wahl für die Passwortspeicherung.
  • Bcrypt ("bcrypt_pbkdf" in Crypt::KeyDerivation) – Hauptsächlich für Kompatibilität mit Formaten und Protokollen verwenden, die speziell auf bcrypt basierte Schlüsselableitung erfordern (z.B. einige OpenSSH-Workflows). Für neue Passwortspeicher-Entwürfe Argon2 bevorzugen.
  • Scrypt ("scrypt_pbkdf" in Crypt::KeyDerivation) – Speicherhärtende KDF. Argon2 verwenden, falls verfügbar.
  • PBKDF2 ("pbkdf2" in Crypt::KeyDerivation) – Weitgehend unterstützt, aber nur CPU-Härte. Argon2 oder Scrypt verwenden, wenn möglich.
  • PBKDF1 ("pbkdf1" in Crypt::KeyDerivation, "pbkdf1_openssl" in Crypt::KeyDerivation) – Legacy- Ableitung nur. Für Interoperabilität mit älteren Formaten aufbewahren; nicht für neue Entwürfe verwenden.

Fehlerbehandlung

Die meisten CryptX-Module melden Fehler durch Aufruf von croak (aus Carp). Ungültige Parameter, nicht unterstützte Algorithmen, falsche Schlüsselgrößen, fehlerhafte Eingaben und interne Bibliotheksfehler führen meist zu einem croak mit einer beschreibenden Nachricht. Ausnahmen mit eval oder Try::Tiny abfangen.

Einige Validierungs-Helfer verwenden einen Rückgabewert anstelle von croak. Die wichtigsten Beispiele sind die *_decrypt_verify-Funktionen in den authentifizierten Verschlüsselungsmodulen Crypt::AuthEnc::*. Diese geben undef zurück, wenn die Authentifizierung fehlschlägt, was auf manipulierte Chiffretexte oder falsche Schlüssel/Nonces hinweist. Einige Parser-/Decodier-Helfer in anderen Modulen geben ebenfalls undef oder false für fehlerhafte Eingaben zurück, also die konkrete Modul-POD prüfen, wenn genaue Fehlersemantik benötigt wird.

Modulübersicht

  • Top-Level-Familienmodule

    Crypt::Cipher, Crypt::Mode, Crypt::AuthEnc, Crypt::Digest, Crypt::Mac, Crypt::Checksum, Crypt::PRNG, Crypt::PK, Crypt::KeyDerivation, Crypt::Misc, Crypt::ASN1

  • Symmetrische Chiffren

    Crypt::Cipher::AES, Crypt::Cipher::Anubis, Crypt::Cipher::ARIA, Crypt::Cipher::Blowfish, Crypt::Cipher::Camellia, Crypt::Cipher::CAST5, Crypt::Cipher::DES, Crypt::Cipher::DES_EDE, Crypt::Cipher::IDEA, Crypt::Cipher::KASUMI, Crypt::Cipher::Khazad, Crypt::Cipher::MULTI2, Crypt::Cipher::Noekeon, Crypt::Cipher::RC2, , , , , , , , , , , , ,

Diagnosefunktionen

Diese Low-Level-Funktionen legen Details des gebündelten LibTomCrypt-Builds offen. Sie sind für Fehlerbehebung und Fehlerberichte gedacht, nicht für den regulären Gebrauch.

ltc_build_settings

root@kitploit:~
my $str = CryptX::ltc_build_settings();

Gibt einen mehrzeiligen String zurück, der jede Compile-Zeit-Option beschreibt, die aktiviert war, als die gebündelte LibTomCrypt-Bibliothek erstellt wurde (Chiffren, Hashes, MACs, PK-Algorithmen, Compiler-Flags usw.).

ltc_mp_name

root@kitploit:~
my $name = CryptX::ltc_mp_name();
# z.B. "LTM" (LibTomMath)

Gibt den Namen des verwendeten Mathematik-Provider-Backends zurück.

ltc_mp_bits_per_digit

root@kitploit:~
my $bits = CryptX::ltc_mp_bits_per_digit();
# z.B. 60

Gibt die Anzahl der Bits pro Ziffer zurück, die vom Mathematik-Provider verwendet werden.

Math::BigInt backend

Ein Teil von CryptX ist Math::BigInt::LTM, ein Math::BigInt-Backend, das auf der gebündelten LibTomMath-Bibliothek basiert. Es ist getrennt von den oben genannten kryptografischen APIs, wird aber in derselben Distribution ausgeliefert und verwendet dieselbe Big-Integer-Engine, auf die LibTomCrypt angewiesen ist.

LIZENZ

Dieses Programm ist freie Software; Sie können es unter denselben Bedingungen wie Perl selbst weiterverbreiten und/oder modifizieren.

URHEBERRECHT

Copyright (c) 2013-2026 DCIT, a.s. https://www.dcit.cz / Karel Miko

Tool herunterladen
Crypt::Cipher::RC5
Crypt::Cipher::RC6
Crypt::Cipher::SAFERP
Crypt::Cipher::SAFER_K128
Crypt::Cipher::SAFER_K64
Crypt::Cipher::SAFER_SK128
Crypt::Cipher::SAFER_SK64
Crypt::Cipher::SEED
Crypt::Cipher::SM4
Crypt::Cipher::Serpent
Crypt::Cipher::Skipjack
Crypt::Cipher::Twofish
Crypt::Cipher::XTEA
  • Blockchiffren-Modi

    Crypt::Mode::CBC, Crypt::Mode::CFB, Crypt::Mode::CTR, Crypt::Mode::ECB, Crypt::Mode::OFB

  • Stromchiffren

    Crypt::Stream::RC4, Crypt::Stream::ChaCha, Crypt::Stream::XChaCha, Crypt::Stream::Salsa20, Crypt::Stream::XSalsa20, Crypt::Stream::Sober128, Crypt::Stream::Sosemanuk, Crypt::Stream::Rabbit

  • Authentifizierte Verschlüsselungsmodi

    Crypt::AuthEnc::CCM, Crypt::AuthEnc::EAX, Crypt::AuthEnc::GCM, Crypt::AuthEnc::GCMSIV, Crypt::AuthEnc::OCB, Crypt::AuthEnc::ChaCha20Poly1305, Crypt::AuthEnc::XChaCha20Poly1305, Crypt::AuthEnc::SIV

  • Hash-FunktionenCrypt::Digest::BLAKE2b_160, Crypt::Digest::BLAKE2b_256, Crypt::Digest::BLAKE2b_384, Crypt::Digest::BLAKE2b_512, Crypt::Digest::BLAKE2s_128, Crypt::Digest::BLAKE2s_160, Crypt::Digest::BLAKE2s_224, Crypt::Digest::BLAKE2s_256, Crypt::Digest::CHAES, Crypt::Digest::MD2, Crypt::Digest::MD4, Crypt::Digest::MD5, Crypt::Digest::RIPEMD128, Crypt::Digest::RIPEMD160, Crypt::Digest::RIPEMD256, Crypt::Digest::RIPEMD320, Crypt::Digest::SHA1, Crypt::Digest::SHA224, Crypt::Digest::SHA256, Crypt::Digest::SHA384, Crypt::Digest::SHA512, Crypt::Digest::SHA512_224, Crypt::Digest::SHA512_256, Crypt::Digest::Tiger192, Crypt::Digest::Whirlpool, Crypt::Digest::Keccak224, Crypt::Digest::Keccak256, Crypt::Digest::Keccak384, Crypt::Digest::Keccak512, Crypt::Digest::SHA3_224, Crypt::Digest::SHA3_256, Crypt::Digest::SHA3_384, Crypt::Digest::SHA3_512, Crypt::Digest::SHAKE, Crypt::Digest::TurboSHAKE, Crypt::Digest::KangarooTwelve, Crypt::Digest::SM3

  • Prüfsummen

    Crypt::Checksum::Adler32, Crypt::Checksum::CRC32

  • Nachrichtenauthentifizierungscodes

    Crypt::Mac::BLAKE2b, Crypt::Mac::BLAKE2s, Crypt::Mac::F9, Crypt::Mac::HMAC, Crypt::Mac::KMAC, Crypt::Mac::OMAC, Crypt::Mac::Pelican, Crypt::Mac::PMAC, Crypt::Mac::XCBC, Crypt::Mac::Poly1305

  • Public-Key-Kryptografie

    Crypt::PK::RSA, Crypt::PK::DSA, Crypt::PK::ECC, Crypt::PK::DH, Crypt::PK::Ed25519, Crypt::PK::X25519, Crypt::PK::Ed448, Crypt::PK::X448

  • Kryptografisch sichere Zufallszahlengeneratoren

    Crypt::PRNG::Fortuna, Crypt::PRNG::Yarrow, Crypt::PRNG::RC4, Crypt::PRNG::Sober128, Crypt::PRNG::ChaCha20

  • Schlüsselableitungsfunktionen

    Crypt::KeyDerivation

  • ASN.1-Parser

    Crypt::ASN1

    Verwenden Sie Crypt::ASN1 nur, wenn Sie benutzerdefiniertes ASN.1-/DER-Parsing oder -Encoding benötigen. Die meisten gängigen Schlüssel- und Zertifikatsformate werden bereits von den PK-Modulen verarbeitet.

  • Verschiedene Hilfsfunktionen

    Crypt::Misc (Base64/Base32/Base58-Codecs, PEM-Hilfsfunktionen, zeitkonstanten Vergleich, UUID-Erzeugung, Oktettinkrement-Helfer und verwandte Hilfsfunktionen)