This gem follows Semantic Versioning 2.0.0. All classes and public methods are part of the public API.
Released on 2023-06-20
- Add support for OpenSSL 3.0.
- Remove
Crypt.private_key_from_hex
method.- Users can still utilize
OpenSSL::PKey::EC.new
to construct a PKey.
- Users can still utilize
Crypt.public_key_from_hex
now raisesArgumentError
on an invalid key, rather than anOpenSSL::PKey::EC::Point::Error
.- Explicitly require 'stringio' (thanks thekuwayama!).
Released on 2018-04-22
- Prevent benign malleability, as suggested in sec1-v2 page 97.
- The ECIES process is modified to prevent benign malleability by including the ephemeral public key as an input to the KDF.
- All encrypted output generated with previous versions cannot be decrypted with this version, and older versions cannot decrypt output generated with this version.
- The choice was made to simply break compatibility early in this library's life, rather than add an extra configuration parameter that should almost always be unused.
- Add
Crypt.public_key_from_hex
method. - Add
Crypt.private_key_from_hex
method. - Remove support for hex-encoded keys in
Crypt#encrypt
andCrypt#decrypt
methods. The above*_from_hex
helper methods can be used instead. - Remove
ec_group
option fromCrypt
constructor. - Add
Crypt#to_s
method.
Released on 2018-04-19
- Add support for hex-encoded keys in
Crypt#encrypt
andCrypt#decrypt
methods. - Add new option
ec_group
inCrypt
constructor.
Released on 2018-04-18
All core functionality is implemented:
ECIES::Crypt
class:encrypt
methoddecrypt
methodkdf
methodDIGESTS
constantCIPHERS
constantIV
constant