Botan Cryptographic Library ဖြန့်ချိမှု 3.0.0

Botan 3.0.0 cryptography စာကြည့်တိုက်ကို GnuPG 2 ၏လမ်းဆုံဖြစ်သည့် NeoPG ပရောဂျက်တွင် အသုံးပြုရန်အတွက် ယခုရရှိနိုင်ပါပြီ။ စာကြည့်တိုက်သည် TLS ပရိုတိုကောတွင် အသုံးပြုထားသော အဆင်သင့်ဖြစ်ထားသော primitives အများအပြားကို ထောက်ပံ့ပေးသည်၊ X.509 လက်မှတ်များ၊ AEAD လျှို့ဝှက်စာဝှက်များ၊ TPM မော်ဂျူးများ ၊ PKCS#11၊ စကားဝှက် ဟက်ခြင်း နှင့် ကွမ်တမ်လွန် ကွမ်တမ် ဝှက်စာပုံ (hash-based လက်မှတ်များနှင့် McEliece-အခြေခံသော့ သဘောတူညီချက်)။ စာကြည့်တိုက်ကို C++ ဖြင့်ရေးသားထားပြီး BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

အသစ်ထွက်ရှိထားသော အပြောင်းအလဲများထဲတွင်-

  • ကုဒ်အခြေခံသည် C++20 စံနှုန်းကို အသုံးပြုခွင့်ပြုသည် (ယခင်က C++11 ကိုအသုံးပြုခဲ့သည်)၊ ထို့ကြောင့်၊ စုစည်းမှုများအတွက် လိုအပ်ချက်များ တိုးလာသည် - အနည်းဆုံး GCC 11၊ Clang 14 သို့မဟုတ် MSVC 2022 တို့ကို တပ်ဆင်ရန်အတွက် ယခု လိုအပ်ပါသည်။ ပံ့ပိုးမှု HP နှင့် Pathscale compilers များအပြင် Google NaCL နှင့် IncludeOS ပရောဂျက်များကို ရပ်ဆိုင်းလိုက်ပြီဖြစ်သည်။
  • ခေတ်နောက်ပြန် လိုက်ဖက်ညီမှုကို ချိုးဖောက်သည့် အပြောင်းအလဲ အများအပြားကို ပြုလုပ်ထားသည်။ ဥပမာအားဖြင့်၊ အချို့သော algorithms (aes.h, etc.) နှင့် သက်ဆိုင်သော ခေတ်နောက်ကျသော ခေါင်းစီးဖိုင်များစွာကို ဖယ်ရှားခဲ့သည်။ ယခင်က အသုံးမပြုတော့ဟု ကြေညာထားသော လုပ်ဆောင်ချက်များနှင့် အယ်လဂိုရီသမ်များကို အကောင်အထည်ဖော်မှုများ (CAST-256၊ MISTY1၊ Kasumi၊ DESX၊ XTEA၊ PBKDF1၊ MCEIES၊ CBC-MAC၊ Tiger၊ NEWHOPE၊ CECPQ1)။ pseudorandom နံပါတ် ဂျင်နရေတာအတွက် အင်ထရိုပီကို ဖန်တီးသောအခါ၊ ကျွန်ုပ်တို့သည် /proc နှင့် /dev/random ကိုအသုံးပြုခြင်းကို ရပ်လိုက်ပါသည်။ အချို့သောအတန်းများ (ဥပမာ၊ Data_Store)၊ ဖွဲ့စည်းပုံနှင့် စာရင်းကောက်ယူမှုများကို API မှ ဖယ်ရှားလိုက်ပါပြီ။ ဆိုင်းဘုတ်အလွတ်များ အသုံးပြုခြင်းနှင့် ပြန်လည်လွှဲပြောင်းခြင်းတို့ကို ဖြစ်နိုင်ပါက ရပ်ဆိုင်းထားသည်။
  • TLS 1.3 ပရိုတိုကောအတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။ TLS 1.0၊ TLS 1.1 နှင့် DTLS 1.0 အတွက် ပံ့ပိုးမှုကို ရပ်ဆိုင်းလိုက်ပါပြီ။ DSA၊ SRP၊ SEED၊ AES-128 OCB၊ CECPQ1၊ DHE_PSK နှင့် Camellia CBC cipher suites၊ အမည်မသိ ciphers နှင့် SHA-1 hash များကို TLS အကောင်အထည်ဖော်မှုမှ ဖယ်ရှားလိုက်ပါပြီ။
  • ကွမ်တမ်ကွန်ပျူတာပေါ်တွင် brute force ကိုခံနိုင်ရည်ရှိသော Kyber post-quantum cryptography algorithm အတွက် ထပ်လောင်းပံ့ပိုးမှု။
  • ဒစ်ဂျစ်တယ် လက်မှတ်များဖြင့် လုပ်ဆောင်ရန်အတွက် Dilithium post-quantum cryptography algorithm အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားပါသည်။
  • SSWU (draft-irtf-cfrg-hash-to-curve) နည်းပညာကို အသုံးပြု၍ elliptic curve point format hashing အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားပါသည်။
  • BLAKE2b ကုဒ်ဝှက်ထားသော hash လုပ်ဆောင်ချက်အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • ပရိုဂရမ်းမင်း အင်တာဖေ့စ်အသစ် T::new_object သည် unique_ptr ကို ပြန်ပေးမည့် အဆိုပြုထားသည်။ အလွတ် "T*" ညွှန်ပြချက်အစား။
  • လုပ်ဆောင်ချက်အသစ်များနှင့် API ကို ထပ်ထည့်သည်- X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, require_entire_message, SymmetricAlgorithm::has_keying_material။ C (C89) ကုဒ်တွင် အသုံးပြုရန်အတွက် လုပ်ဆောင်ချက်အသစ်အမြောက်အများကို ပေါင်းထည့်ထားသည်။
  • Argon2 algorithm ၏အကောင်အထည်ဖော်မှုသည် AVX2 ညွှန်ကြားချက်များကိုအသုံးပြုသည်။
  • Camellia၊ ARIA၊ SEED၊ DES နှင့် Whirlpool algorithms တို့ကို အကောင်အထည်ဖော်ရာတွင် ဇယားများ၏ အရွယ်အစားကို လျှော့ချထားသည်။
  • DES/3DES ၏ အကောင်အထည်ဖော်မှုအသစ်ကို အဆိုပြုထားပြီး၊ ကက်ရှ်၏အခြေအနေကို အကဲဖြတ်သည့် ဘေးထွက်ချန်နယ်တိုက်ခိုက်မှုများ၏ အတန်းအစားအများစုကို ကာကွယ်ထားသည်။
  • SHACAL2 အကောင်အထည်ဖော်မှုသည် ARMv8 နှင့် POWER ဗိသုကာများကို အခြေခံသည့် စနစ်များအတွက် အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည်။
  • ညီမျှခြင်းဘစ်များကို တွက်ချက်ခြင်း၊ bcrypt/base64 ပြောင်းလဲခြင်းနှင့် ASN.1 string အမျိုးအစားကို သတ်မှတ်ခြင်းအတွက် ကုဒ်သည် ဇယားရှာဖွေမှုများမှ လွတ်မြောက်ပြီး ယခုအခါ စီမံဆောင်ရွက်နေသည့် ဒေတာနှင့် သီးခြားဖြစ်သည် (အဆက်မပြတ်အချိန်အတွင်း လုပ်ဆောင်နေသည်)

source: opennet.ru

မှတ်ချက် Add