sidh
TypeScript icon, indicating that this package has built-in type declarations

6.0.4 • Public • Published

sidh

Overview

The SIDH post-quantum asymmetric cypher compiled to WebAssembly using Emscripten. The specific implementation in use is from Microsoft Research. A simple JavaScript wrapper is provided to make SIDH easy to use in web applications.

The default parameter set is SIKEp751 (roughly 256-bit strength).

WARNING: You probably shouldn't use this.

Example Usage

import {sidh} from 'sidh';

const keyPair /*: {privateKey: Uint8Array; publicKey: Uint8Array} */ =
	await sidh.keyPair()
;

const {cyphertext, secret} /*: {cyphertext: Uint8Array; secret: Uint8Array} */ =
	await sidh.encrypt(keyPair.publicKey)
;

const decrypted /*: Uint8Array */ =
	await sidh.decrypt(cyphertext, keyPair.privateKey) // same as secret
;

console.log(keyPair);
console.log(secret);
console.log(cyphertext);
console.log(decrypted);

Changelog

Breaking changes in major versions:

6.0.0:

  • Upgraded to SIDH 3.5.1 with stronger parameters and a KEM API. For backwards compatibility with previous versions of this package, use sidh-legacy.

5.0.0:

  • Upgraded to SIDH 3.0 and built new API in line with mceliece and ntru.

4.0.0:

  • As part of upgrading from asm.js to WebAssembly (with asm.js included as a fallback), the API is fully asynchronous.

3.0.0:

  • Removed some undocumented functions as part of minor API cleanup.

2.0.0:

  • Upgraded to SIDH 2.0.

Dependencies (0)

    Dev Dependencies (5)

    Package Sidebar

    Install

    npm i sidh

    Weekly Downloads

    5

    Version

    6.0.4

    License

    MIT

    Unpacked Size

    160 kB

    Total Files

    11

    Last publish

    Collaborators

    • cyphinc