keypair - Generate a RSA PEM key pair from pure JS

  •        551

Performance greatly depends on the bit size of the generated private key. With 1024 bits you get a key in 0.5s-2s, with 2048 bits it takes 8s-20s, on the same machine. As this will block the event loop while generating the key, make sure that's ok or to spawn a child process or run it inside a webworker.Get an RSA PEM key pair.



Related Projects

Shallot - Shallot allows you to create customized

  •    C

If you place the RSA private key (including its header and footer) in a file called private_key in the HiddenServiceDir you specified in your torrc, (If you don’t know what that means, read the Tor man page. If you still don’t understand, Shallot probably isn’t for you.) then when you restart your Tor, a hostname file will be created in HiddenServiceDir that contains your shiny new .onion address. It is sometimes claimed that private keys generated by Shallot are less secure than those generated by Tor. This is false. Although Shallot generates a keypair with an unusually large public exponent e, it performs all of the sanity checks specified by PKCS #1 v2.1 (directly in sane_key), and then performs all of the sanity checks that Tor does when it generates an RSA keypair (by calling the OpenSSL function RSA_check_key).

SSH.NET - SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism.

  •    CSharp

SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.This project was inspired by Sharp.SSH library which was ported from java and it seems like was not supported for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism to achieve the best performance possible.

SwiftyRSA - RSA public/private key encryption in Swift

  •    Swift

Public key RSA encryption in Swift. SwiftyRSA is used in the Scoop iOS app to encrypt driver license numbers before submitting them to Checkr through our API.

age - A simple, modern and secure encryption tool

  •    Go

age is a simple, modern and secure file encryption tool, format, and Go library. It features small explicit keys, no config options, and UNIX-style composability. It has support for public/private key pairs and passwords, with multiple recipients. An extremely simple CLI that composes well with UNIX pipes, and that works well as a backend for other programs. A good seekable streaming encryption scheme based on modern chunked AEADs, reusable as a general encryption format.

YubiKey-Guide - Guide to using YubiKey as a SmartCard for GPG and SSH


This is a guide to using YubiKey as a SmartCard for storing GPG encryption and signing keys. An authentication key can also be created for SSH and used with gpg-agent.

ssh-badkeys - A collection of static SSH keys (public and private) that have made their way into software and hardware products


This is a collection of static SSH keys (host and authentication) that have made their way into software and hardware products. This was inspired by the Little Black Box project, but focused primarily on SSH (as opposed to TLS) keys. Keys are split into two categories; authorized keys and host keys. The authorized keys can be used to gain access to a device with this public key. The host keys can be used to conduct a MITM attack against the device, but do not provide direct access.

redoctober - Go server for two-man rule style file encryption and decryption.

  •    Go

Red October is a software-based two-man rule style encryption and decryption server. Red October is a TLS server. It requires a local file to hold the key vault, an internet address, and a certificate keypair.

jsencrypt - A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.

  •    Javascript

When browsing the internet looking for a good solution to RSA Javascript encryption, there is a whole slew of libraries that basically take the fantastic work done by Tom Wu @ and then modify that code to do what they want. What I couldn't find, however, was a simple wrapper around this library that basically uses the library practically untouched, but adds a wrapper to provide parsing of actual Private and Public key-pairs generated with OpenSSL.

git-secret - :busts_in_silhouette: A bash-tool to store your private data inside a git repository.

  •    Shell

git-secret is a bash tool which stores private data inside a git repo. git-secret encrypts tracked files with public keys for users whom you trust using gpg, allowing permitted users to access encrypted data using their secret keys. With git-secret, changes to access rights are made easy and private-public key issues are handled for you. Passwords do not need to be changed with git-secret when someone's permission is revoked - just remove their key from the keychain using git secret killperson, and re-encrypt the files, and they won't be able to decrypt secrets anymore. It also supports apt and yum. You can also use make if you want to. See the installation section for the details.

Kryptor - A simple, modern, and secure encryption tool

  •    CSharp

Kryptor is a simple, modern, and secure encryption tool. It is a portable, cross-platform command line tool that makes use of modern and secure cryptographic algorithms. It aims to be a mixture of age and Minisign in terms of functionality to provide a simple, user friendly alternative to GPG.

SwCrypt - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and OS X

  •    Swift

SwCrypt uses dlopen and dlsym to load the CommonCrypto's functions, because not all of them are available in public header files. You have to check the availability before using them. Just copy SwCrypt.swift to your project or use the Carthage dependency manager.

Activatar - Product Key Activation System

  •    DotNet

Product Key Activation system similar to Microsoft products. Generate Product Keys and provide Software Activation based on RSA asymmetric encryption.

RsaCtfTool - RSA tool for ctf - retreive private key from weak public key and/or uncipher data (feel free to ask questions : @G4N4P4T1)

  •    Python

RSA tool for ctf - retreive private key from weak public key and/or uncipher data (feel free to ask questions : @G4N4P4T1)

roca - ROCA: Infineon RSA key vulnerability

  •    Python

This tool is related to ACM CCS 2017 conference paper #124 Return of the Coppersmith’s Attack: Practical Factorization of Widely Used RSA Moduli. It enables you to test public RSA keys for a presence of the described vulnerability.

rsatool - rsatool can be used to calculate RSA and RSA-CRT parameters

  •    Python

rsatool calculates RSA (p, q, n, d, e) and RSA-CRT (dP, dQ, qInv) parameters given either two primes (p, q) or modulus and private exponent (n, d). Resulting parameters are displayed and can optionally be written as an OpenSSL compatible DER or PEM encoded RSA private key.

jsrsasign - The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN

  •    HTML

The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES JSON Web Signature/Token/Key in pure JavaScript.Public page is .

QRL - Quantum Resistant Ledger

  •    Python

Python-based blockchain ledger utilizing hash-based one-time merkle tree signature scheme (XMSS) instead of ECDSA. Proof-of-work block selection via the cryptonight algorithm. Future transition to POS with signed iterative hash chain reveal scheme which is both probabilistic and random ( Hash-based signatures means larger transactions (3kb per tx, binary), longer keypair generation times and the need to record 'state' of transactions as each keypair can only be used once safely. Merkle tree usage enables a single address to be used for signing numerous transactions (up to 2^13 computationally easily enough). Currently XMSS/W-OTS+ are natively supported with extensible support for further cryptographic schemes inbuilt.

skm - A simple and powerful SSH keys manager

  •    Go

Download it from releases and extact it to /usr/bin or your PATH directory. So, where are my SSH keys? SKM will create SSH key store at $HOME/.skm and put all the SSH keys in it.

Themis - Crypto library for storage and messaging for ObjC, Android, C++, JS, Python, Ruby and PHP

  •    C

Themis is open-source high-level cryptographic services library for mobile and server platforms, providing secure messaging and secure data storage. Themis provides three important cryptographic services Secure messaging, Secure session and Secure storage.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.