Lançamento da biblioteca criptográfica Botan 3.0.0

Está disponível a versão da biblioteca de criptografia Botan 3.0.0, usada no projeto NeoPG, um fork do GnuPG 2. A biblioteca oferece uma grande coleção de primitivas prontas, utilizadas no protocolo TLS, certificados X.509, cifras AEAD, módulos TPM, PKCS#11, hash de senhas e criptografia pós-quântica (assinaturas baseadas em hash e acordo de chaves com base em McEliece). A biblioteca é escrita em C++ e é fornecida sob a licença BSD.

Entre as mudanças na nova versão:

  • Na base de código, é permitida a utilização do padrão C++20 (anteriormente usava-se C++11); assim, os requisitos para compiladores foram elevados — agora, são necessários pelo menos GCC 11, Clang 14 ou MSVC 2022 para a compilação. O suporte para compiladores HP e Pathscale, assim como para os projetos Google NaCL e IncludeOS, foi interrompido.
  • Uma grande quantidade de alterações que quebram a compatibilidade retroativa foi introduzida. Muitos arquivos de cabeçalho obsoletos foram removidos, como aqueles específicos para certos algoritmos (aes.h, etc.). Implementações de funções e algoritmos anteriormente declarados obsoletos foram removidas (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). O uso de /proc e /dev/random para formar a entropia do gerador de números pseudo-aleatórios foi interrompido. Algumas classes (como Data_Store), estruturas e enumerações foram removidas da API. O retorno e o uso de ponteiros brutos foram, sempre que possível, terminados.
  • O suporte para o protocolo TLS 1.3 foi adicionado. O suporte para TLS 1.0, TLS 1.1 e DTLS 1.0 foi encerrado. A implementação do TLS removeu o suporte para os conjuntos de cifras DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK e Camellia CBC, cifras anônimas e hashes SHA-1.
  • O suporte para o algoritmo de criptografia pós-quântica Kyber foi adicionado, que é resistente a ataques de computadores quânticos.
  • O suporte para o algoritmo de criptografia pós-quântica Dilithium para trabalhar com assinaturas digitais foi adicionado.
  • Foi adicionada a funcionalidade de hashing em formato de ponto em uma curva elíptica, utilizando a técnica SSWU (draft-irtf-cfrg-hash-to-curve).
  • Foi adicionada o suporte para a função de hash criptográfico BLAKE2b.
  • Uma nova interface de programação T::new_object foi proposta, retornando unique_ptr em vez de um ponteiro bruto "T*".
  • Novas funções e APIs foram adicionadas: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Um grande conjunto de novas funções para uso em código C (C89) foi adicionado.
  • Instruções AVX2 foram integradas na implementação do algoritmo Argon2.
  • Reduzido o tamanho das tabelas nas implementações dos algoritmos Camellia, ARIA, SEED, DES e Whirlpool.
  • Uma nova implementação do DES/3DES foi proposta, protegida contra a maioria das classes de ataques por canais laterais que avaliam o estado do cache.
  • A implementação do SHACAL2 foi otimizada para sistemas baseados nas arquiteturas ARMv8 e POWER.
  • O código para calcular bits de paridade, conversões bcrypt/base64 e para determinar o tipo de string ASN.1 foi desvinculado da busca em tabelas e agora não depende dos dados processados (executado em tempo constante).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster