Skip to content

Library for converting Ed25519 signing key pair into X25519/Curve25519 key pair suitable for Diffie-Hellman key exchange

Notifications You must be signed in to change notification settings

nazar-pc/ed25519-to-x25519.wasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ed25519-to-x25519.wasm Travis CI

Library for converting Ed25519 signing key pair into X25519/Curve25519 key pair suitable for Diffie-Hellman key exchange.

Based on libsodium, compiles subset of libsodium to WebAssembly and provides 2 wrapper functions for public/private keys conversion.

How to install

npm install ed25519-to-x25519.wasm

How to use

Node.js:

var ed25519_to_x25519 = require('ed25519-to-x25519.wasm')

ed25519_to_x25519.ready(function () {
    // Do stuff
});

Browser:

requirejs(['ed25519-to-x25519.wasm'], function (ed25519_to_x25519) {
    ed25519_to_x25519.ready(function () {
        // Do stuff
    });
})

API

ed25519_to_x25519.ready(callback)

  • callback - Callback function that is called when WebAssembly is loaded and library is ready for use

ed25519_to_x25519.convert_public_key(ed25519_public_key : Uint8Array) : Uint8Array

Converts Ed25519 public key into X25519/Curve25519 public key. Returns null if conversion fails.

ed25519_to_x25519.convert_private_key(ed25519_private_key : Uint8Array) : Uint8Array

Converts Ed25519 private key into X25519/Curve25519 private key.

Take a look at src/index.ls for JsDoc sections with arguments and return types as well as methods description, look at tests/index.ls for usage examples.

Contribution

Feel free to create issues and send pull requests (for big changes create an issue first and link it from the PR), they are highly appreciated!

When reading LiveScript code make sure to configure 1 tab to be 4 spaces (GitHub uses 8 by default), otherwise code might be hard to read.

License

Free Public License 1.0.0 / Zero Clause BSD License

https://opensource.org/licenses/FPL-1.0.0

https://tldrlegal.com/license/bsd-0-clause-license

About

Library for converting Ed25519 signing key pair into X25519/Curve25519 key pair suitable for Diffie-Hellman key exchange

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published