Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
perl-CryptX | Kitploit
أدوات/GitHubGitHub/dcit/perl-cryptx
كسر كلمات المرورأدوات التشفير/فك التشفيرتحليل التجزئةالتشفيرالأدوات والمكوناتالمصادقة
GitHubdcit/perl-cryptx

perl-CryptX

عرض المستودع
4126منذ 10 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

الاسم

CryptX - حزمة أدوات التشفير

الموجز

CryptX هي نقطة الدخول إلى التوزيعة. في الكود العادي، قم بتحميل أحد الوحدات المحددة المدرجة أدناه.

root@kitploit:~
## 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، وهي خلفية لـ Math::BigInt مبنية على مكتبة LibTomMath المضمّنة المستخدمة داخليًا بواسطة LibTomCrypt.

تخدم هذه الوحدة بشكل أساسي كصفحة التوزيعة/التوثيق عالية المستوى. للعمل الفعلي، استخدم أحد الوحدات المحددة المدرجة أدناه.

دليل اختيار الخوارزميات

التشفير المصادَق عليه (AEAD)

للتصاميم الجديدة، يُفضَّل التشفير المصادَق عليه (AEAD) على أوضاع التشفير المجردة:

  • ChaCha20-Poly1305 (Crypt::AuthEnc::ChaCha20Poly1305) - سريع، بزمن ثابت، ومنتشر على نطاق واسع (TLS 1.3 وWireGuard وSSH). استخدمه كخيار AEAD الافتراضي.
  • XChaCha20-Poly1305 (Crypt::AuthEnc::XChaCha20Poly1305) - نسخة موسّعة بقيمة nonce بحجم 24 بايت. يُفضَّل على ChaCha20-Poly1305 عندما تُولَّد قيم nonce عشوائيًا.
  • AES-GCM (Crypt::AuthEnc::GCM) - وضع AEAD القياسي لـ AES. مسرَّع بالأجهزة على المعالجات الحديثة. يتطلب قيم nonce فريدة؛ إعادة استخدام nonce تكسر الأمان تمامًا.
  • AES-SIV (Crypt::AuthEnc::SIV) - AEAD حتمي، مقاوم لإساءة استخدام nonce. أبطأ قليلاً لكنه أكثر أمانًا عندما لا يمكن ضمان تفرد nonce.
  • AES-GCM-SIV (Crypt::AuthEnc::GCMSIV) - AEAD مقاوم لإساءة استخدام nonce (RFC 8452). أسرع من AES-SIV؛ اختره عندما تحتاج أداءً مشابهًا لـ GCM مع أمان إعادة استخدام nonce.
  • AES-OCB (Crypt::AuthEnc::OCB) - AEAD سريع جدًا بمرور واحد. تحقق من حالة براءات الاختراع في ولايتك القضائية.
  • AES-EAX (Crypt::AuthEnc::EAX) - AEAD بمرورين مبني على CTR+OMAC. بدون براءات اختراع، وبدون قيود على طول 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 ("random_v4uuid" في Crypt::Misc, "random_v7uuid" في Crypt::Misc) - استخدم random_v4uuid للمعرّفات العشوائية المبهمة. واستخدم random_v7uuid عندما تريد معرّفات مرتبة زمنيًا تقريبًا تُفرز حسب وقت الإنشاء بدقة ملي ثانية. معرّفات UUID هي معرّفات وليست بديلاً عن البايتات العشوائية السرية.

شفرات التدفق

تقوم شفرات التدفق بتشفير البيانات بايتًا بايت دون حشو الكتل. لمعظم التطبيقات، يُفضَّل وضع AEAD (انظر أعلاه) الذي يجمع بين التشفير والمصادقة. استخدم شفرات التدفق المجردة فقط عندما تتعامل مع المصادقة بشكل منفصل.

  • ChaCha (Crypt::Stream::ChaCha) - خيار شفرة التدفق الافتراضي. نفس نواة ChaCha20-Poly1305 دون MAC المدمجة.
  • XChaCha (Crypt::Stream::XChaCha) - نسخة موسّعة بقيمة nonce بحجم 24 بايت من ChaCha. يُفضَّل عندما تُولَّد قيم 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 هو الافتراضي؛ فهو مسرَّع بالأجهزة على معظم المعالجات الحديثة.

دوال التجزئة

  • 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 - دوال مخرجات قابلة للتمديد (XOFs). استخدمها عندما تحتاج مخرجات متغيرة الطول.

المجاميع الاختبارية

استخدم Crypt::Checksum::CRC32 وCrypt::Checksum::Adler32 فقط لفحوصات السلامة غير العدائية مثل اكتشاف التلف العرضي. فهي ليست آليات نزاهة أو مصادقة تشفيرية. للاستخدام التشفيري، يُفضَّل Crypt::Digest أو Crypt::Mac أو وضع AEAD من Crypt::AuthEnc.

رموز مصادقة الرسائل

  • 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 دون دالة تجزئة.

تشفير المفاتيح العامة

  • Ed25519 (Crypt::PK::Ed25519) - توقيعات رقمية حديثة. سريعة، بزمن ثابت، ومفاتيح/توقيعات صغيرة. الخيار الافتراضي لمخططات التوقيع الجديدة.
  • Ed448 (Crypt::PK::Ed448) - هامش أمان أعلى من Ed25519 (حوالي 224-بت مقابل 128-بت).
  • X25519 (Crypt::PK::X25519) - اتفاق مفاتيح Diffie-Hellman بالمنحنيات الإهليلجية. الخيار الافتراضي لتبادل المفاتيح.
  • X448 (Crypt::PK::X448) - هامش أمان أعلى من X25519.
  • ECDSA (Crypt::PK::ECC) - مستخدم على نطاق واسع (TLS وBitcoin). يُفضَّل Ed25519 للتصاميم الجديدة ما لم يكن ECDSA مطلوبًا للتوافق البيني.
  • RSA (Crypt::PK::RSA) - قديم لكنه مستخدم على نطاق واسع جدًا. استخدم مفاتيح 2048-بت كحد أدنى، و4096-بت مُفضَّل. يُفضَّل OAEP للتشفير وPSS للتوقيعات.
  • DSA (Crypt::PK::DSA) - قديم. يُفضَّل Ed25519 أو ECDSA.
  • DH (Crypt::PK::DH) - Diffie-Hellman الكلاسيكي. يُفضَّل X25519 للتصاميم الجديدة.

اشتقاق المفاتيح / تجزئة كلمات المرور

  • HKDF ("hkdf" في Crypt::KeyDerivation) - KDF باستخراج ثم توسيع. استخدمه لاشتقاق مفاتيح من الأسرار المشتركة (مثل بعد ECDH).
  • Argon2 ("argon2_pbkdf" في Crypt::KeyDerivation) - تجزئة كلمات مرور كثيفة الذاكرة. الخيار الموصى به لتخزين كلمات المرور.
  • Bcrypt ("bcrypt_pbkdf" في Crypt::KeyDerivation) - استخدمه بشكل أساسي للتوافق مع الصيغ والبروتوكولات التي تتطلب تحديدًا اشتقاق مفاتيح قائمًا على bcrypt (على سبيل المثال بعض سير أعمال OpenSSH). يُفضَّل Argon2 لتصاميم تخزين كلمات المرور الجديدة.
  • Scrypt ("scrypt_pbkdf" في Crypt::KeyDerivation) - KDF كثيف الذاكرة. استخدم Argon2 إذا كان متاحًا.
  • PBKDF2 ("pbkdf2" في Crypt::KeyDerivation) - مدعوم على نطاق واسع لكن بصلابة تعتمد على المعالج فقط. استخدم Argon2 أو Scrypt عندما يكون ذلك ممكنًا.
  • PBKDF1 ("pbkdf1" في Crypt::KeyDerivation, "pbkdf1_openssl" في Crypt::KeyDerivation) - اشتقاق قديم فقط. احتفظ به للتوافق مع الصيغ الأقدم؛ لا تستخدمه للتصاميم الجديدة.

معالجة الأخطاء

تبلغ معظم وحدات CryptX عن الأخطاء باستدعاء croak (من Carp). المعاملات غير الصالحة، والخوارزميات غير المدعومة، وأحجام المفاتيح الخاطئة، والمدخلات التالفة، وفشل المكتبات الداخلية عادةً ما تستدعي croak برسالة وصفية. التقط الاستثناءات باستخدام eval أو Try::Tiny.

تستخدم بعض الدوال المساعدة بنمط التحقق قيمة إرجاع بدلاً من استدعاء croak. أهم الأمثلة هي دوال *_decrypt_verify في وحدات التشفير المصادَق عليه Crypt::AuthEnc::*. تُرجع هذه undef عندما تفشل المصادقة، مما يشير إلى أن النص المشفر قد تم العبث به أو أنه تم استخدام مفتاح/قيمة nonce خاطئة. بعض دوال التحليل/فك الترميز في وحدات أخرى تُرجع أيضًا undef أو false للمدخلات التالفة، لذا تحقق من توثيق POD للوحدة المحددة عندما تحتاج دلالات فشل دقيقة.

خريطة الوحدات

  • وحدات العائلات عالية المستوى

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

  • الشفرات المتناظرة

    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, , , , , , , , , , , , ,

-Crypt::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::Checksum::Adler32, Crypt::Checksum::CRC32

  • رموز مصادقة الرسائل

    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

  • تشفير المفتاح العام

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

  • مولّدات الأرقام العشوائية الآمنة تشفيريًا

    Crypt::PRNG::Fortuna, Crypt::PRNG::Yarrow, Crypt::PRNG::RC4, ,

دوال التشخيص

تكشف هذه الدوال منخفضة المستوى عن تفاصيل بناء LibTomCrypt المرفق. وهي مخصصة لاستكشاف الأخطاء والإبلاغ عن الأخطاء، وليس للاستخدام المنتظم.

ltc_build_settings

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

يُرجع سلسلة متعددة الأسطر تصف كل خيار من خيارات وقت الترجمة الذي تم تمكينه عند بناء مكتبة LibTomCrypt المرفقة (الشفرات، التجزئات، رموز MAC، خوارزميات المفتاح العام، أعلام المترجم، إلخ).

ltc_mp_name

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

يُرجع اسم الواجهة الخلفية لمزوّد الرياضيات المستخدم.

ltc_mp_bits_per_digit

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

يُرجع عدد البتات لكل خانة رقمية يستخدمها مزوّد الرياضيات.

الواجهة الخلفية لـ Math::BigInt

جزء من CryptX هو Math::BigInt::LTM، وهي واجهة خلفية لـ Math::BigInt مبنية على مكتبة LibTomMath المرفقة. وهي منفصلة عن واجهات برمجة التطبيقات التشفيرية أعلاه، ولكنها تأتي في نفس التوزيعة وتستخدم نفس محرك الأعداد الكبيرة الذي يعتمد عليه LibTomCrypt.

الترخيص

هذا البرنامج برنامج حر؛ يمكنك إعادة توزيعه و/أو تعديله بموجب نفس شروط Perl نفسها.

حقوق النشر

حقوق النشر (c) 2013-2026 DCIT, a.s. https://www.dcit.cz / Karel Miko

تنزيل الأداة
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
  • أوضاع شفرات الكتل

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

  • شفرات التدفق

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

  • أوضاع التشفير المصادَق عليه

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

  • دوال التجزئة

  • 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
    Crypt::PRNG::Sober128
    Crypt::PRNG::ChaCha20
  • دوال اشتقاق المفاتيح

    Crypt::KeyDerivation

  • محلل ASN.1

    Crypt::ASN1

    استخدم Crypt::ASN1 فقط عندما تحتاج إلى تحليل أو ترميز ASN.1 / DER مخصص. معظم صيغ المفاتيح والشهادات الشائعة تتم معالجتها بالفعل بواسطة وحدات PK.

  • أدوات مساعدة متنوعة

    Crypt::Misc (برمجيات ترميز base64/base32/base58، أدوات مساعدة لـ PEM، مقارنة زمنية ثابتة، توليد UUID، أدوات مساعدة لزيادة الأوكتيت، ودوال مساعدة ذات صلة)