Ecliptic curves cryptography standard DSTU 4145 in JS
Clone or download
Latest commit efda122 May 20, 2018


GF2m ellipcit curves library in javascript.

  • Supports short Weierstrass curves used in Ukrainian standard DSTU 4145;
  • Provides key deriviation for DSTU block ciphers (see;
  • Encypted containers can be parsed and decrypted if respective cipher implementation is passed. See gost89, node-gost90 and dstucrypt/agent for reference;
  • Encrypted and signed messages in wicked PKCS#7 format used by tax office ( are supported for both read and write (see jk.Box, jk.util.transport);
  • When running on node, "speedup" module node-gf2m can be used for 2x performance boost (see dstucrypt/agent and node-gf2m packages).


  • Jkurwa does not guarranty constant-time calculcation;
  • Jkurwa only verifies signature against public key and does not actually check X.509 certificate validity (use openssl for this).


Build Status npm module dependencies


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

Sister libraries:

Demo site:

Demo apps:



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