Skip to content

Releases: q9f/secp256k1.cr

lib secp256k1.cr v0.2.0

06 Jan 14:21
@q9f q9f
v0.2.0
Compare
Choose a tag to compare

this release refactors the entire library and entangles some of the submodules exposed by the library.

this library now exposes the following modules (in logical order):

  • Secp256k1: necessary constants and data structures
  • Secp256k1::Core: the entire core mathematics behind the elliptic curve cryptography
  • Secp256k1::Util: all tools for the handling of private-public key-pairs
  • Secp256k1::Hash: implementation of various hashing algorithms for convenience
  • Secp256k1::Signature: allows for signing messages and verifying signatures
  • Secp256k1::Bitcoin: for the generation of bitcoin addresses
  • Secp256k1::Ethereum: for the generation of ethereum addresses

docs are now published on github pages: q9f.github.io/secp256k1.cr

changes:

  • add docs to readme (#26)
  • add crystal docs (#25)
  • rename utils to util (#24)
  • refactor code with meaningful submodule namespaces (#23)

lib secp256k1.cr v0.1.6

05 Jan 12:55
@q9f q9f
v0.1.6
Compare
Choose a tag to compare

this is a feature release that allows for basic ecdsa signature generation and verification.

changes:

  • allow to sign and verify messages #20

lib secp256k1.cr v0.1.5

01 Jan 14:55
@q9f q9f
v0.1.5
Compare
Choose a tag to compare

this is a feature release that allows for retrieving bitcoin addresses from wallet import format by honoring the compressed byte.

changes:

  • allow for wif to address #19

lib secp256k1.cr v0.1.4

25 Dec 22:32
@q9f q9f
v0.1.4
Compare
Choose a tag to compare

this is a feature release that allows for generation of mini private keys and proper handling of bitcoin's wallet import format.

changes:

  • try: add an example program #14
  • add support for mini private keys #16
  • add support for wallet import format #18

lib secp256k1.cr v0.1.3

24 Dec 16:47
@q9f q9f
v0.1.3
Compare
Choose a tag to compare

this is a feature release that allows for generation of bitcoin and ethereum addresses.

changes:

  • add cryptographic hashing functions #9
  • add bitcoin and ethereum address modules #9
  • allow for export of unprefixed uncompressed keys for ethereum #9
  • add tests for hashes on bytes #9
  • implement eip-55 test cases #9
  • bind mpz_powm_sec from libgmp #11

lib secp256k1.cr v0.1.2

24 Dec 16:42
@q9f q9f
v0.1.2
Compare
Choose a tag to compare

this is a feature release adding the ability to encode and decode the different public key formats

changes:

  • allow for converting between different public key formats #7
  • add a known private key to tests #7
  • raise if it tries to decode compressed keys as mod_exp overflows #7

lib secp256k1.cr v0.1.1

24 Dec 16:40
@q9f q9f
v0.1.1
Compare
Choose a tag to compare

this is a bugfix release that improves performance and stability.

changes:

  • use proper integer division #6
  • ensure private keys are within the ec field size #6
  • disallow ec multiplication with invalid private keys #6

lib secp256k1.cr v0.1.0

24 Dec 16:37
@q9f q9f
v0.1.0
Compare
Choose a tag to compare

initial release for the secp256k1 crystal library

containing:

  • the constants describing the elliptic curve #1
  • the four Secp256k1:: key functions for ec_mul, ec_add, ec_double, and ec_mod_inv #1
  • utilities to generate private and public keys #1
  • tests for the secp256k1 module #1
  • a struct for EC_Point #1
  • github actions checking format and spec #2
  • a meaningful readme #3