Crypto++ (nota anche come CryptoPP, libcrypto++ e libcryptopp) è una libreria C++ che offre algoritmi crittografici e protocolli, originariamente sviluppata da Wei Dai. Crypto++ ha trovato largo uso nel mondo accademico, ma anche in progetti open source e commerciali. La prima versione della libreria risale al 1995: supporta completamente sia architetture a 32 bit sia a 64 bit ed è compatibile con la maggior parte dei sistemi operativi e delle piattaforme, come Android, Apple, BSD, Cygwin, Linux, MinGW, Solaris, Windows, Windows Phone e Windows RT. Il progetto può essere compilato con le librerie degli standard C++03, C++11 e C++17.
Caratteristiche Crypto++ fornisce implementazioni complete degli algoritmi crittografici più comuni, ma anche di schemi meno usati come il cifrario a blocchi Camellia e l'algoritmo di hashing Whirlpool. In alcuni casi la libreria Crypto++ mette a disposizione della comunità implementazioni degli algoritmi proposti non ancora standardizzati.
Tra gli algoritmi crittografici supportati vi sono:
CifrariBlowfish, Twofish, Camellia, CAST, DES, Triple DES, Serpent RC2, RC4, RC5, RC6, IDEA, AES
Funzioni hash crittograficheMD5, MD2, SHA, MDC-2, Whirlpool
Crittografia a chiave pubblicaRSA, DSA, Scambio di chiavi Diffie-Hellman, ElGamal
Funzioni di Autenticazione dei messaggiVMAC, HMAC, MD2, MD4, MD5, MDC2, RIPEMD, SHA,
Cronologia dei rilasci principali La versione 1.0 di Crypto++ è stata rilasciata nel giugno del 1995. Da allora sono state rilasciate diverse versioni: in particolare, la versione 5.0 del marzo 2009 ha portato a una revisione architetturale.
Crypto 5.6.0, rilasciata il 15 marzo 2009 Crypto 5.6.1, rilasciata il 9 agosto 2010 Crypto 5.6.2, rilasciata il 20 febbraio 2013 Crypto 5.6.3, rilasciata il 20 novembre 2015 Crypto 5.6.4, rilasciata il 11 settembre 2016 Crypto 5.6.5, rilasciata il 11 ottobre 2016 Crypto 6.0.0, rilasciata il 22 gennaio 2018 Crypto 6.1.0, rilasciata il 22 febbraio 2018 Crypto 7.0.0, rilasciata l'8 aprile 2018 Crypto 8.0.0, rilasciata il 28 dicembre 2018
Note
Collegamenti esterni