بوٹن کرپٹوگرافک لائبریری ریلیز 3.0.0

Botan 3.0.0 کرپٹوگرافی لائبریری اب NeoPG پروجیکٹ میں استعمال کے لیے دستیاب ہے، GnuPG 2 کا ایک کانٹا۔ لائبریری TLS پروٹوکول، X.509 سرٹیفکیٹس، AEAD سائفرز، TPM ماڈیولز میں استعمال ہونے والے ریڈی میڈ پرائمیٹوز کا ایک بڑا مجموعہ فراہم کرتی ہے۔ , PKCS#11، پاس ورڈ ہیشنگ اور پوسٹ کوانٹم کرپٹوگرافی (ہیش پر مبنی دستخط اور میک ایلیس پر مبنی کلیدی معاہدہ)۔ لائبریری C++ میں لکھی گئی ہے اور اسے BSD لائسنس کے تحت تقسیم کیا گیا ہے۔

نئی ریلیز میں تبدیلیوں میں سے:

  • کوڈ بیس C++20 معیار کے استعمال کی اجازت دیتا ہے (پہلے C++ 11 استعمال کیا جاتا تھا)؛ اس کے مطابق، مرتب کرنے والوں کی ضروریات میں اضافہ کیا گیا ہے - کم از کم GCC 11، کلینگ 14 یا MSVC 2022 اب اسمبلی کے لیے درکار ہیں۔ HP اور Pathscale compilers کے ساتھ ساتھ Google NaCL اور IncludeOS پروجیکٹس کے لیے بند کر دیا گیا ہے۔
  • تبدیلیوں کا ایک بڑا حصہ پسماندہ مطابقت کی خلاف ورزی کرتا ہے۔ بہت سی پرانی ہیڈر فائلوں کو ہٹا دیا گیا ہے، مثال کے طور پر، وہ مخصوص الگورتھم (aes.h، وغیرہ) کے لیے مخصوص ہیں۔ پہلے متروک قرار دیے گئے فنکشنز اور الگورتھم کے نفاذ کو ہٹا دیا گیا ہے (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1)۔ سیوڈورنڈم نمبر جنریٹر کے لیے اینٹروپی پیدا کرتے وقت، ہم نے /proc اور /dev/random کا استعمال بند کر دیا۔ کچھ کلاسز (مثال کے طور پر، ڈیٹا_اسٹور)، ڈھانچے اور شماریات API سے ہٹا دی گئی ہیں۔ جہاں ممکن ہو واپسی اور ننگی علامات کا استعمال بند کر دیا گیا ہے۔
  • TLS 1.3 پروٹوکول کے لیے تعاون شامل کیا گیا۔ TLS 1.0، TLS 1.1 اور DTLS 1.0 کے لیے سپورٹ بند کر دی گئی ہے۔ DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK اور Camellia CBC سائفر سویٹس، گمنام سائفرز، اور SHA-1 ہیش کے لیے سپورٹ کو TLS کے نفاذ سے ہٹا دیا گیا ہے۔
  • Kyber پوسٹ کوانٹم کرپٹوگرافی الگورتھم کے لیے شامل کیا گیا تعاون، جو کہ کوانٹم کمپیوٹر پر بروٹ فورس کے خلاف مزاحم ہے۔
  • ڈیجیٹل دستخطوں کے ساتھ کام کرنے کے لیے Dilithium پوسٹ کوانٹم کرپٹوگرافی الگورتھم کے لیے معاونت شامل کی گئی۔
  • SSWU (draft-irtf-cfrg-hash-to-curve) تکنیک کا استعمال کرتے ہوئے بیضوی وکر پوائنٹ فارمیٹ ہیشنگ کے لیے معاونت شامل کی گئی۔
  • BLAKE2b کرپٹوگرافک ہیش فنکشن کے لیے شامل کیا گیا۔
  • ایک نیا پروگرامنگ انٹرفیس T::new_object تجویز کیا گیا ہے جو ایک منفرد_ptr لوٹاتا ہے۔ ایک ننگے "T*" پوائنٹر کے بجائے۔
  • نئے فنکشنز اور API شامل کیے گئے: X509_DN::DER_encode، Public_Key::get_int_field، ideal_granularity، requires_entire_message، SymmetricAlgorithm::has_keying_material۔ C (C89) کوڈ میں استعمال کے لیے نئے فنکشنز کا ایک بڑا سیٹ شامل کیا گیا۔
  • Argon2 الگورتھم کا نفاذ AVX2 ہدایات کا استعمال کرتا ہے۔
  • Camellia، ARIA، SEED، DES اور Whirlpool الگورتھم کے نفاذ میں میزوں کا سائز کم کر دیا گیا ہے۔
  • DES/3DES کا ایک نیا نفاذ تجویز کیا گیا ہے، جو کہ کیشے کی حالت کا جائزہ لینے والے سائڈ چینل حملوں کی زیادہ تر کلاسوں سے محفوظ ہے۔
  • SHACAL2 کا نفاذ ARMv8 اور POWER آرکیٹیکچرز پر مبنی سسٹمز کے لیے بہتر بنایا گیا ہے۔
  • برابری بٹس کا حساب لگانے، bcrypt/base64 کی تبدیلی اور ASN.1 سٹرنگ کی قسم کا تعین کرنے کا کوڈ ٹیبل تلاش سے آزاد ہے اور اب اس ڈیٹا سے آزاد ہے جس پر کارروائی ہو رہی ہے (مستقل وقت میں چلتا ہے)

ماخذ: opennet.ru

نیا تبصرہ شامل کریں