All Projects → PeculiarVentures → webcrypto

PeculiarVentures / webcrypto

Licence: MIT license
A WebCrypto Polyfill for NodeJS

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to webcrypto

crypto
🔐 Fastest crypto library for Deno written in pure Typescript. AES, Blowfish, CAST5, DES, 3DES, HMAC, HKDF, PBKDF2
Stars: ✭ 40 (-63.96%)
Mutual labels:  aes, pbkdf2, hmac, des
SpinalCrypto
SpinalHDL - Cryptography libraries
Stars: ✭ 36 (-67.57%)
Mutual labels:  aes, sha, hmac, des
Forge
A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps
Stars: ✭ 4,204 (+3687.39%)
Mutual labels:  crypto, aes, pbkdf2, hmac
dart crypto
[Flutter] 本项目基于flutter_macos_v0.5.8-dev版本采用Dart语言开发。`DYFCryptoProvider`集成了Base64, 32/16 Bits MD5, AES, RSA等算法。(This Flutter project is developed in Dart language based on flutter_macos_v0.5.8-dev. `DYFCryptoProvider` integrates Base64, 32/16 Bits MD5, AES and RSA algorithms.)
Stars: ✭ 30 (-72.97%)
Mutual labels:  aes, rsa, des
oseid
Microchip AVR based smartcard/token with ECC and RSA cryptography
Stars: ✭ 17 (-84.68%)
Mutual labels:  aes, rsa, des
EasyEncryption
No description or website provided.
Stars: ✭ 16 (-85.59%)
Mutual labels:  aes, sha, des
jscrypto
Crypto library for Node/ES6/Typescript/Browser.
Stars: ✭ 20 (-81.98%)
Mutual labels:  crypto, aes, des
browserify-cipher
No description or website provided.
Stars: ✭ 15 (-86.49%)
Mutual labels:  crypto, aes, des
Cryptography-Guidelines
Guidance on implementing cryptography as a developer.
Stars: ✭ 15 (-86.49%)
Mutual labels:  crypto, rsa, hmac
encryptlab
🔑 Comprehensive (and free) list of encryption and decryption in Node.js.
Stars: ✭ 80 (-27.93%)
Mutual labels:  crypto, aes, rsa
openssl
A functions wrapping of OpenSSL library for symmetric and asymmetric encryption and decryption.
Stars: ✭ 199 (+79.28%)
Mutual labels:  aes, rsa, des
dtls
Datagram Transport Layer Security (DTLS) client.
Stars: ✭ 72 (-35.14%)
Mutual labels:  crypto, aes, rsa
Encryptlab
A Free and Comprehensive Encrypt and Decrypt Tools Website with example code in Node.js, Website is looking for a new server.
Stars: ✭ 69 (-37.84%)
Mutual labels:  crypto, aes, rsa
Cry
Cross platform PoC ransomware written in Go
Stars: ✭ 179 (+61.26%)
Mutual labels:  crypto, aes, rsa
pbkdf2-hmac-sha256
sha256, hmac with sha256 and pbkdf2 with hmac-sha256 in one header file
Stars: ✭ 19 (-82.88%)
Mutual labels:  pbkdf2, hmac
optiga-trust-m
OPTIGA™ Trust M Software Framework
Stars: ✭ 86 (-22.52%)
Mutual labels:  aes, rsa
signature
HMAC and RSA signature for Laravel and Lumen
Stars: ✭ 26 (-76.58%)
Mutual labels:  rsa, hmac
enigma
A fast, native, cryptographic engine for the web
Stars: ✭ 101 (-9.01%)
Mutual labels:  aes, rsa
CppSecurity
C++ Security Library
Stars: ✭ 24 (-78.38%)
Mutual labels:  aes, pbkdf2
Qt-Secret
Simple encryption library supporting RSA and AES algorithms.
Stars: ✭ 196 (+76.58%)
Mutual labels:  aes, rsa

@peculiar/webcrypto

License test Coverage Status npm version

We wanted to be able to write Javascript that used crypto on both the client and the server but we did not want to rely on Javascript implementations of crypto. The only native cryptography available in browser is Web Crypto, this resulted in us creating a @peculiar/webcrypto.

Table Of Contents

WARNING

At this time this solution should be considered suitable for research and experimentation, further code and security review is needed before utilization in a production application.

Module is based on NodeJS v10 Crypto API. It would work only with Node v10 and higher.

Installing

npm install @peculiar/webcrypto

Supported algorithms

Algorithm name generateKey digest export/import sign/verify encrypt/decrypt wrapKey/unwrapKey derive
SHA-1 X
SHA-256 X
SHA-384 X
SHA-512 X
HMAC X X X
RSASSA-PKCS1-v1_5 X X X
RSAES-PKCS1-v1_52 X X X X
RSA-PSS X X X
RSA-OAEP X X X X
AES-CMAC X X X
AES-CBC X X X X
AES-CTR X X X X
AES-ECB X X X X
AES-GCM X X X X
AES-KW X X X
ECDSA1 X X X
ECDH1 X X X
EdDSA2,3 X X X
ECDH-ES2,4 X X X
HKDF X X
PBKDF2 X X
DES-CBC2 X X X X
DES-EDE3-CBC2 X X X X
shake1282 X
shake2562 X

1 Mechanism supports extended list of named curves P-256, P-384, P-521, K-256, brainpoolP160r1, brainpoolP160t1, brainpoolP192r1, brainpoolP192t1, brainpoolP224r1, brainpoolP224t1, brainpoolP256r1, brainpoolP256t1, brainpoolP320r1, brainpoolP320t1, brainpoolP384r1, brainpoolP384t1, brainpoolP512r1, and brainpoolP512t1

2 Mechanism is not defined by the WebCrypto specifications. Use of mechanism in a safe way is hard, it was added for the purpose of enabling interoperability with an existing system. We recommend against its use unless needed for interoperability.

3 Mechanism supports extended list of named curves Ed25519, and Ed448

4 Mechanism supports extended list of named curves X25519, and X448

Using

const { Crypto } = require("@peculiar/webcrypto");

const crypto = new Crypto();

Examples

See WebCrypto Docs for examples

Bug Reporting

Please report bugs either as pull requests or as issues in the issue tracker. @peculiar/webcrypto has a full disclosure vulnerability policy. Please do NOT attempt to report any security vulnerability in this code privately to anybody.

Related

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].