Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
perl-CryptX — Perl 加密工具包,通过内置的 LibTomCrypt 库提供对称密码、AEAD 模式、哈希函数、MAC、公钥密码学、密钥派生以及安全随机数生成功能。 | Kitploit
工具/GitHubGitHub/dcit/perl-cryptx
密码破解加密/解密工具哈希分析密码学实用工具与框架身份验证
GitHubdcit/perl-cryptx

perl-CryptX

Perl 加密工具包,通过内置的 LibTomCrypt 库提供对称密码、AEAD 模式、哈希函数、MAC、公钥密码学、密钥派生以及安全随机数生成功能。

查看仓库
4126331个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

名称

CryptX - 加密工具包

概要

CryptX 是发行版的入口点。在正常代码中,请加载下面列出的具体模块之一。

## 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);

描述

Perl 密码学模块,构建于随附的 LibTomCrypt 库之上。 该发行版还包含 Math::BigInt::LTM,一个基于随附的 LibTomMath 库构建的 Math::BigInt 后端, 该库由 LibTomCrypt 内部使用。

此模块主要作为顶层发行版/文档页面。实际使用时,请使用下面列出的具体模块之一。

算法选择指南

认证加密(AEAD)

对于新设计,建议优先使用认证加密(AEAD),而非裸加密模式:

  • ChaCha20-Poly1305 (Crypt::AuthEnc::ChaCha20Poly1305) - 快速、恒定时间,广泛部署(TLS 1.3、WireGuard、SSH)。将其作为默认的 AEAD 选择。
  • XChaCha20-Poly1305 (Crypt::AuthEnc::XChaCha20Poly1305) - 24 字节 nonce 的扩展变体。当 nonce 随机生成时,优先选择它而不是 ChaCha20-Poly1305。
  • AES-GCM (Crypt::AuthEnc::GCM) - AES 的标准 AEAD 模式。在现代 CPU 上具有硬件加速。需要唯一 nonce;nonce 重用会彻底破坏安全性。
  • AES-SIV (Crypt::AuthEnc::SIV) - 确定性 AEAD,抗 nonce 误用。速度稍慢,但在无法保证 nonce 唯一性时更安全。
  • AES-GCM-SIV (Crypt::AuthEnc::GCMSIV) - 抗 nonce 误用的 AEAD(RFC 8452)。比 AES-SIV 更快;当你需要类似 GCM 的性能并兼具 nonce 重用安全性时,选择它。
  • AES-OCB (Crypt::AuthEnc::OCB) - 非常快速的单遍 AEAD。请检查您所在司法辖区的专利状态。
  • AES-EAX (Crypt::AuthEnc::EAX) - 基于 CTR+OMAC 的两遍 AEAD。无专利,无 nonce 长度限制。
  • AES-CCM (Crypt::AuthEnc::CCM) - 用于 WiFi(WPA2)和蓝牙。需要预先知道明文长度。

密码学安全随机数与 UUID

  • 随机字节 / 字符串 (Crypt::PRNG) - 用于盐、密钥、nonce、令牌以及任何其他秘密随机值。函数式辅助方法 random_bytes、random_bytes_hex、random_bytes_b64、random_bytes_b64u、random_string 和 random_string_from 覆盖了大多数用例。OO API 和特定算法的包装器(Crypt::PRNG::ChaCha20、Crypt::PRNG::Fortuna 等)主要用于确定性流或与特定 PRNG 的互操作。
  • UUID(Crypt::Misc 中的 "random_v4uuid"、Crypt::Misc 中的 "random_v7uuid")- 使用 random_v4uuid 生成不透明的随机标识符。当您需要大致按创建时间排序(毫秒粒度)的标识符时,使用 random_v7uuid。UUID 是标识符,不能替代秘密随机字节。

流密码

流密码逐字节加密数据,无需块填充。对于大多数应用程序,请优先选择 AEAD 模式(见上文),它将加密与认证捆绑在一起。仅当您单独处理认证时才使用裸流密码。

  • ChaCha (Crypt::Stream::ChaCha) - 默认的流密码选择。与 ChaCha20-Poly1305 相同的核心,但没有内置 MAC。
  • XChaCha (Crypt::Stream::XChaCha) - ChaCha 的 24 字节 nonce 扩展变体。当 nonce 随机生成时优先选择。
  • Salsa20 / XSalsa20(Crypt::Stream::Salsa20、Crypt::Stream::XSalsa20)- ChaCha 的前身。新设计优先使用 ChaCha;Salsa20 仅用于互操作(例如 NaCl/libsodium)。
  • RC4(Crypt::Stream::RC4)- 已破解;请勿用于新设计。 仅为遗留互操作而提供。
  • Rabbit、Sober128、Sosemanuk(Crypt::Stream::Rabbit、Crypt::Stream::Sober128、Crypt::Stream::Sosemanuk)- eSTREAM 作品集中的小众密码。除非特定协议要求其中之一,否则使用 ChaCha。

分组密码模式(无认证)

仅当认证单独处理或不需要认证时才使用这些模式:

  • CTR(Crypt::Mode::CTR)- 将分组密码转换为流密码。可并行化。
  • CBC(Crypt::Mode::CBC)- 经典模式,需要填充。优先使用 CTR 或 AEAD 模式。
  • ECB(Crypt::Mode::ECB)- 对大多数用途不安全。 每个块独立加密。

单独的 Crypt::Cipher::AES、Crypt::Cipher::Twofish 等模块实现原始的单个块加密,很少直接使用。在几乎所有情况下,您都应该通过 AEAD 模式(Crypt::AuthEnc::GCM、Crypt::AuthEnc::CCM)或分组密码模式(Crypt::Mode::CBC、Crypt::Mode::CTR)来使用它们。选择密码时,AES 是默认选择;它在大多数现代 CPU 上都有硬件加速。

哈希函数

  • SHA-256 / SHA-384 / SHA-512(Crypt::Digest::SHA256 等)- 通用哈希的默认选择。得到广泛支持且分析充分。
  • SHA3-256 / SHA3-512(Crypt::Digest::SHA3_256 等)- SHA-2 的替代方案,采用完全不同的构造(Keccak 海绵结构)。
  • BLAKE2b / BLAKE2s(Crypt::Digest::BLAKE2b_256 等)- 非常快,尤其是在软件实现中。BLAKE2b 用于 64 位平台,BLAKE2s 用于 32 位。
  • SHAKE / TurboSHAKE / KangarooTwelve - 可扩展输出函数(XOF)。当您需要可变长度输出时使用。

校验和

仅将 Crypt::Checksum::CRC32 和 Crypt::Checksum::Adler32 用于非对抗性完整性检查,例如意外损坏检测。它们不是密码学完整性或真实性机制。对于密码学用途,请优先使用 Crypt::Digest、Crypt::Mac,或来自 Crypt::AuthEnc 的 AEAD 模式。

消息认证码

  • HMAC(Crypt::Mac::HMAC)- 标准 MAC 构造。可与任何哈希配合使用。默认使用 HMAC-SHA256。
  • Poly1305(Crypt::Mac::Poly1305)- 一次性 MAC,非常快。用作 ChaCha20-Poly1305 的一部分。每条消息需要唯一密钥。
  • BLAKE2b-MAC(Crypt::Mac::BLAKE2b)- 带密钥的 BLAKE2。软件实现中比 HMAC-SHA256 更快。
  • CMAC/OMAC(Crypt::Mac::OMAC)- 基于分组密码的 MAC。当您已有 AES 但没有哈希函数时使用。

公钥密码学

下载工具