Releases: leif-ibsen/SwiftECC
Release 2.2.0
New in SwiftECC release 2.2.0:
-
Diffie-Hellman key agreement - ECDH.
The implementation is compatible with Apple's CryptoKit framework. That is, two parties,
one using SwiftECC and the other using CryptoKit can agree on a common encryption key.
Please, see the README.md. -
The ECPublicKey constructor ECPublicKey(domain:w:) now throws an exception if w is the point at inifinity.
-
The Base64.encode function has become a 'linesize' parameter that determines the number of characters per line
in the output. It has a default value of 76, which is the value that was used before. -
The two functions that create new domains based on explicit parameters
throw an exception if the proposed generator point is not on the curve.
Release 2.1.0
-
Changed the point multiplication algorithm to a Montgomery Ladder algorithm.
It runs in constant time to protect against side-channel attacks. -
Added a 'Domain' member variable to the ECSignature class to provide better error checking in signature verification.
Release 2.0.0
Removed five deprecated Domain functions: double, add, subtract, negate, and multiply
The ASN1 dependence is now on ASN1 release 2.0.0
Release 1.1.0
-
Added 4 new unit tests: BrainpoolTest, FuzzTest, SHA2Test and VerifyTest
-
Added extra validation steps in the signature verify method
-
Added new methods in the Domain class: doublePoint, addPoints, subtractPoints, negatePoint and multiplyPoint
that verify that their inputs are curve points. The old methods: double, add, subtract, negate and multiply are deprecated
1.0.2
1.0.1
Minor cleanup
Initial release 1.0.0
SwiftECC is a Swift implementation of ECIES and ECDSA elliptic curve cryptography algorithms.