Skip to content

Releases: li0ard/gost

v0.2.3

Choose a tag to compare

@li0ard li0ard released this 08 Aug 13:24
0cf7c0f
  • Boosted verify operation for GOST 34.10-2012
  • Added support for hedged signatures (deterministic + randomness)
  • Replace constants for Streebog and Kuznyechik with flat Uint8Array

Full Changelog: v0.2.2...v0.2.3

v0.2.1

Choose a tag to compare

@li0ard li0ard released this 28 Jul 10:30
bbe4a49
  • Added preinitializated curve objects

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@li0ard li0ard released this 21 Jul 16:18
fd7b0fb
  • Rewrited GOST R 34.10-2012 API
  • Added HMAC-DRBG over Streebog for signing
  • Rewrited permutation for Streebog
  • Added JSDoc for modules

Warning: This release breaks API for gost3410 submodule ( getPublicKey, sign, verify, VKO, conversion)
How to migrate:

  • Create a signer using gost3410(parameters) method
  • getPublicKey(parameters, privateKey) -> signer.getPublicKey(privateKey)
  • sign(parameters, privateKey, digest, rand?) -> signer.sign(privateKey, digest, rand?)
  • verify(parameters, publicKey, digest, signature) -> signer.verify(publicKey, digest, signature)
  • VKO kek_34102001(parameters, privateKeyA, publicKeyB, ukm) -> signer.getSharedSecret(gost341194, privateKeyA, publicKeyB, ukm)
  • VKO kek_34102012256(parameters, privateKeyA, publicKeyB, ukm) -> signer.getSharedSecret(streebog256, privateKeyA, publicKeyB, ukm)
  • VKO kek_34102012512(parameters, privateKeyA, publicKeyB, ukm) -> signer.getSharedSecret(streebog512, privateKeyA, publicKeyB, ukm)
  • Conversion uv2xy(parameters, point) -> signer.utils.uv2xy(point)
  • Conversion xy2uv(parameters, point) -> signer.utils.xy2uv(point)

Full Changelog: v0.1.9...v0.2.0

v0.1.9

Choose a tag to compare

@li0ard li0ard released this 11 Jul 13:21
d0d0d1f
  • Rewrited P-transformation (permutation) of GOST 34.11-94
  • Improved performace for ACPKM (precomputed D constant) and other modes (Using subarray instead of slice)
  • Added createHasher from @noble/hashes API for GOST 34.11-94 and DSTU GOST 34.311-95

Full Changelog: v0.1.8...v0.1.9

v0.1.8

Choose a tag to compare

@li0ard li0ard released this 26 Jun 13:01
e19201a
  • Rewrited GF multiplication function
  • Rewrited A-transformation for GOST R 34.11-94
  • Some code-style changes

Full Changelog: v0.1.7...v0.1.8

v0.1.7

Choose a tag to compare

@li0ard li0ard released this 15 Jun 16:52
12b986a
  • Switched to flat S-Box'es in Magma
  • Moved GF multiplication into standalone submodule
  • Added precomputed multiplication for GF(256) for Kuznyechik

Full Changelog: v0.1.6...v0.1.7

v0.1.6

Choose a tag to compare

@li0ard li0ard released this 07 Jun 14:06
2e4ef02
  • Improved transformations for Kuznyechik, Streebog, Magma and GOST R 34.11-94
  • Misc: Added S-Box generator for Kuznyechik and Streebog

Full Changelog: v0.1.5...v0.1.6

v0.1.5

Choose a tag to compare

@li0ard li0ard released this 30 May 08:06
916c6c0
  • Added swapPoint for signature/public key swapping (Unfortunately, GOST doesn't have unificated serialization)
  • Added ObjectIdentifier registry for curves and hashes (getCurveByOid and getHashByOid)
  • Added tests for X.509 certificates (including Russian Root CA certificate)

Full Changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@li0ard li0ard released this 21 May 14:26
fc663f8
  • Fixed export for Magma

Full Changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@li0ard li0ard released this 21 May 13:45
2768e46
  • Added forgotten README and license to package

Full Changelog: v0.1.2...v0.1.3