jkurwa

Ukrainian national EC cryptography (DSTU-4145) implementaion

Usage no npm install needed!

<script type="module">
  import jkurwa from 'https://cdn.skypack.dev/jkurwa';
</script>

README

jkurwa

GF2m ellipcit curves library in javascript.

  • Supports short Weierstrass curves used in Ukrainian standard DSTU 4145;
  • Provides key deriviation for DSTU block ciphers (see https://github.com/muromec/em-gost);
  • Encypted containers can be parsed and decrypted if respective cipher implementation is passed. See gost89 and dstucrypt/agent for reference;
  • Encrypted and signed messages in wicked PKCS#7 format used by tax office (sta.gov.ua) are supported for both read and write (see jk.Box, jk.util.transport);
  • Includes parsers for signed and encrypted messages, X509.v3 certificates, JKS and Key-6.dat key containers, TSP, CMP, OCSP requests and responses.

Warning

  • Jkurwa does not guarranty constant-time calculcation;
  • Jkurwa only verifies signature against public key and does not actually check X.509 certificate validity unless CA list is loaded. See dstucrypt/agent repo readme for details.

cej repo je strefa wolna wid Kaczyńskiego

Build Status codecov npm module dependencies

Usage

See ./test/ and ./examples/ directories. See dstucrypt/agent repo for example app.

Sister libraries:

Demo site: https://dstucrypt.github.io/signerbox2/

Demo apps:

To cross-verifiy signatures use https://czo.gov.ua/verify .

References

Bonus

First known use of the word Kurwa was recorded in 1415. Happy 600 birthday Kurwa!