Έκδοση Botan Cryptographic Library 3.0.0

Η βιβλιοθήκη κρυπτογραφίας Botan 3.0.0 είναι τώρα διαθέσιμη για χρήση στο έργο NeoPG, ένα πιρούνι του GnuPG 2. Η βιβλιοθήκη παρέχει μια μεγάλη συλλογή από έτοιμες πρωτόγονες που χρησιμοποιούνται στο πρωτόκολλο TLS, πιστοποιητικά X.509, κρυπτογράφηση AEAD, ενότητες TPM , PKCS#11, κατακερματισμός κωδικού πρόσβασης και μετακβαντική κρυπτογραφία (υπογραφές βασισμένες σε κατακερματισμό και συμφωνία κλειδιού με βάση το McEliece). Η βιβλιοθήκη είναι γραμμένη σε C++ και διανέμεται με την άδεια BSD.

Μεταξύ των αλλαγών στη νέα έκδοση:

  • Η βάση κώδικα επιτρέπει τη χρήση του προτύπου C++20 (προηγουμένως χρησιμοποιήθηκε η C++11). Συνεπώς, οι απαιτήσεις για μεταγλωττιστές έχουν αυξηθεί - τουλάχιστον GCC 11, Clang 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. Ορισμένες κλάσεις (για παράδειγμα, 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, ανώνυμους κρυπτογράφησης και κατακερματισμούς 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.
  • Ο κώδικας για τον υπολογισμό bit ισοτιμίας, τη μετατροπή bcrypt/base64 και τον προσδιορισμό του τύπου συμβολοσειράς ASN.1 είναι απαλλαγμένος από αναζητήσεις πινάκων και είναι πλέον ανεξάρτητος από τα δεδομένα που υποβάλλονται σε επεξεργασία (εκτελείται σε σταθερό χρόνο)

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο