Botan 3.0.0 ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಲೈಬ್ರರಿಯು ಈಗ NeoPG ಯೋಜನೆಯಲ್ಲಿ ಬಳಕೆಗೆ ಲಭ್ಯವಿದೆ, GnuPG 2 ನ ಫೋರ್ಕ್. ಗ್ರಂಥಾಲಯವು TLS ಪ್ರೋಟೋಕಾಲ್, X.509 ಪ್ರಮಾಣಪತ್ರಗಳು, AEAD ಸೈಫರ್ಗಳು, TPM ಮಾಡ್ಯೂಲ್ಗಳಲ್ಲಿ ಬಳಸಲಾದ ಸಿದ್ಧ-ತಯಾರಿಕೆಯ ಮೂಲಗಳ ದೊಡ್ಡ ಸಂಗ್ರಹವನ್ನು ಒದಗಿಸುತ್ತದೆ. , PKCS#11, ಪಾಸ್ವರ್ಡ್ ಹ್ಯಾಶಿಂಗ್ ಮತ್ತು ಪೋಸ್ಟ್-ಕ್ವಾಂಟಮ್ ಕ್ರಿಪ್ಟೋಗ್ರಫಿ (ಹ್ಯಾಶ್-ಆಧಾರಿತ ಸಹಿಗಳು ಮತ್ತು McEliece-ಆಧಾರಿತ ಕೀ ಒಪ್ಪಂದ). ಲೈಬ್ರರಿಯನ್ನು C++ ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು BSD ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.
ಹೊಸ ಬಿಡುಗಡೆಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳಲ್ಲಿ:
- ಕೋಡ್ ಬೇಸ್ C++20 ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ (ಹಿಂದೆ C++11 ಅನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು); ಅದರ ಪ್ರಕಾರ, ಕಂಪೈಲರ್ಗಳ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೆಚ್ಚಿಸಲಾಗಿದೆ - ಕನಿಷ್ಠ GCC 11, ಕ್ಲಾಂಗ್ 14 ಅಥವಾ MSVC 2022 ಜೋಡಣೆಗೆ ಈಗ ಅಗತ್ಯವಿದೆ. ಬೆಂಬಲ HP ಮತ್ತು Pathscale ಕಂಪೈಲರ್ಗಳಿಗಾಗಿ 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 ಮತ್ತು ಕ್ಯಾಮೆಲಿಯಾ CBC ಸೈಫರ್ ಸೂಟ್ಗಳು, ಅನಾಮಧೇಯ ಸೈಫರ್ಗಳು ಮತ್ತು SHA-1 ಹ್ಯಾಶ್ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು TLS ಅನುಷ್ಠಾನದಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
- ಕ್ವಾಂಟಮ್ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಬ್ರೂಟ್ ಫೋರ್ಸ್ಗೆ ನಿರೋಧಕವಾಗಿರುವ ಕೈಬರ್ ಪೋಸ್ಟ್-ಕ್ವಾಂಟಮ್ ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಅಲ್ಗಾರಿದಮ್ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- ಡಿಜಿಟಲ್ ಸಿಗ್ನೇಚರ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಡಿಲಿಥಿಯಂ ಪೋಸ್ಟ್-ಕ್ವಾಂಟಮ್ ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಅಲ್ಗಾರಿದಮ್ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- SSWU (draft-irtf-cfrg-hash-to-curve) ತಂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಎಲಿಪ್ಟಿಕ್ ಕರ್ವ್ ಪಾಯಿಂಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಹ್ಯಾಶಿಂಗ್ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- BLAKE2b ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಕಾರ್ಯಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- ಹೊಸ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ T::new_object ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಅದು ಬೇರ್ "T*" ಪಾಯಿಂಟರ್ ಬದಲಿಗೆ ಅನನ್ಯ_ptr ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
- ಹೊಸ ಕಾರ್ಯಗಳು ಮತ್ತು API ಸೇರಿಸಲಾಗಿದೆ: X509_DN::DER_encode, Public_Key::get_int_field, ಆದರ್ಶ_ಗ್ರ್ಯಾನ್ಯುಲಾರಿಟಿ, ಅಗತ್ಯವಿರುವ_ಸಂಪೂರ್ಣ_ಸಂದೇಶ, Symmetric Algorithm::has_keying_material. C (C89) ಕೋಡ್ನಲ್ಲಿ ಬಳಸಲು ಹೊಸ ಕಾರ್ಯಗಳ ದೊಡ್ಡ ಗುಂಪನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- Argon2 ಅಲ್ಗಾರಿದಮ್ನ ಅನುಷ್ಠಾನವು AVX2 ಸೂಚನೆಗಳನ್ನು ಬಳಸುತ್ತದೆ.
- ಕ್ಯಾಮೆಲಿಯಾ, ARIA, SEED, DES ಮತ್ತು ವರ್ಲ್ಪೂಲ್ ಅಲ್ಗಾರಿದಮ್ಗಳ ಅಳವಡಿಕೆಗಳಲ್ಲಿನ ಕೋಷ್ಟಕಗಳ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲಾಗಿದೆ.
- DES/3DES ನ ಹೊಸ ಅನುಷ್ಠಾನವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಸಂಗ್ರಹದ ಸ್ಥಿತಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಹೆಚ್ಚಿನ ವರ್ಗಗಳ ಸೈಡ್-ಚಾನೆಲ್ ದಾಳಿಗಳಿಂದ ರಕ್ಷಿಸಲಾಗಿದೆ.
- SHACAL2 ಅನುಷ್ಠಾನವನ್ನು ARMv8 ಮತ್ತು POWER ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ.
- ಪ್ಯಾರಿಟಿ ಬಿಟ್ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು, bcrypt/base64 ಪರಿವರ್ತನೆ ಮತ್ತು ASN.1 ಸ್ಟ್ರಿಂಗ್ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸುವ ಕೋಡ್ ಅನ್ನು ಟೇಬಲ್ ಲುಕ್ಅಪ್ಗಳಿಂದ ಮುಕ್ತಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಈಗ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾದ ಡೇಟಾದಿಂದ ಸ್ವತಂತ್ರವಾಗಿದೆ (ನಿರಂತರ ಸಮಯದಲ್ಲಿ ರನ್ ಆಗುತ್ತದೆ)
ಮೂಲ: opennet.ru