1.1.0 • Published 2 years ago

@andybry/crypto-testing v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Crypto Testing

Experimentation and research in cryptography.

Contains a number of experimental utilities for building cryptographic primitives and a few experimental implementations.

It is hoped that some of the items here will be useful for other people who are also studying cryptography in a JavaScript context.

In particular the implementations, computation algorithms and tests could be useful to help improve understanding.

Installation

npm install @andybry/crypto-testing

Utilities

  • shared/big-int: working with and converting to and from big ints
  • shared/bit: working with and converting to and from bits
  • shared/byte: working with and converting to and from bytes
  • shared/curve: elliptic curve implementation
  • shared/fp2: implementation of field of order p squared
  • shared/random: secure random generators
  • shared/secp256k1: parameters and associated elliptic curve implementation
  • shared/string: working with and converting to and from string representations of data
  • shared/zn: implementation of field of order p (or could be used for rings if n is not prime)

Scripts

  • npm run des: implementation of the Data Encryption Standard (for 1 64-bit block)
  • npm run des:node: the same thing using nodes crypto API for comparison
  • npm run ecdsa: demonstrates the implentation of ECDSA using secp256k1
  • npm run ecdsa:vs-ethereum: compares local signing and recovery with the Ethereum version (from web3.js)