Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
x25519-key-pair
Advanced tools
An X25519 (Curve25519) DH key implementation to work with the crypto-ld LDKeyPair API
An X25519 (Curve25519) DH key implementation to work with the crypto-ld LDKeyPair API
TBD
This is a low-level level library to generate and serialize X25519 (Curve25519)
key pairs (uses nacl.box
under the hood).
To actually perform encryption with those keys, we recommend you use the https://github.com/digitalbazaar/minimal-cipher library.
See also (related specs):
Requires Node.js 8.3+
To install locally (for development):
git clone https://github.com/digitalbazaar/x25519-key-pair.git
cd x25519-key-pair
npm install
Importing:
const {X25519KeyPair} = require('x25519-key-pair');
// Or, if you're testing code in the interactive Node CLI, right in this repo:
const {X25519KeyPair} = require('./');
Generating:
const keyPair = await X25519KeyPair.generate({
controller: 'did:example:1234'
});
// Don't forget to set your key's id. For example, DID + fingerprint
keyPair.id = 'did:example:1234#' + keyPair.fingerprint();
Serializing just the public key:
keyPair.publicNode();
// ->
{
id: 'did:example:1234#z6LSbh9HiAU2zzBdFMdKZGHfg1UjvAYF8C8kYnkfGKuCxYEB',
type: 'X25519KeyAgreementKey2019',
controller: 'did:example:1234',
publicKeyBase58: '1y8BrfAuXTt9yFZ2cmiMRGG5218Raxbfp2ymsFgFATR'
}
Serializing both the private and public key:
// a different key pair than the previous example
await keyPair.export()
// ->
{
id: 'did:example:1234#z6LSjeJZaUHMvEKW7tEJXV4PrSm61NzxxHhDXF6zHnVtDu9g',
type: 'X25519KeyAgreementKey2019',
controller: 'did:example:1234',
publicKeyBase58: '8y8Q4AUVpmbm2VrXzqYSXrYcAETrFgX4eGPJoKrMWXNv',
privateKeyBase58: '95tmYuhqSuJqY77FEg78Zy3LFQ1cENxGv2wMvayk7Lqf'
}
Deserializing:
// Loading public key only
const keyPair = await X25519KeyPair.from({
id: 'did:example:1234#z6LSjeJZaUHMvEKW7tEJXV4PrSm61NzxxHhDXF6zHnVtDu9g',
type: 'X25519KeyAgreementKey2019',
controller: 'did:example:1234',
publicKeyBase58: '8y8Q4AUVpmbm2VrXzqYSXrYcAETrFgX4eGPJoKrMWXNv'
});
See the contribute file!
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.
Commercial support for this library is available upon request from Digital Bazaar: support@digitalbazaar.com
New BSD License (3-clause) © Digital Bazaar
2.0.0 - 2020-03-09
multicodec
value of 0xec
.FAQs
An X25519 (Curve25519) DH key implementation to work with the crypto-ld LDKeyPair API
The npm package x25519-key-pair receives a total of 0 weekly downloads. As such, x25519-key-pair popularity was classified as not popular.
We found that x25519-key-pair demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.