Code Monkey home page Code Monkey logo

cryptotools's Introduction

Contributors Forks Stargazers Issues LinkedIn

CryptoTools

Cryptographic tools for your browser in a Single-Page app

This website crypto.francescogorini.com is a cryptographic playground to play with, test and learn about cryptography.
It runs all cryptographic operations in the browser utilising SubtleCrypto API, PKIJS and ASN1JS as well as Go.

This project uses:

Roadmap

Generation

  • AES Key Generation.
  • RSA Key Generation.
  • ECDSA Key Generation with NIST P-256 P-384 and P-521 curve support.
  • PKCS10/CSR Generation with custom Subjects and SANs, with ECDSA, RSA-PSS and RSASSA-PKCS1-v1_5 signatures.
  • x509 Certificate Generation/Signing with custom key/cert.

Encrypt/Decrypt

  • AES-CBC Encrypt/Decrypt.
  • AES-GCM Encrypt/Decrypt.
  • RSA-OAEP Encrypt/Decrypt.
  • AES-GCM with additional authenticated data AEAD.
  • File encryption support.

Sign/Verify

  • RSASSA-PKCS1-v1_5 Sign/Validate.
  • RSA-PSS Sign/Validate.
  • ECDSA Sign/Verify with NIST P-256 P-384 and P-521 curve support.
  • HMAC support.
  • File signing support.

Hashing

  • SHA-1, SHA-256, SHA-384 and SHA-512 support.
  • MD5 support.
  • File hashing support.

Conversion

  • Base64 support.
  • Hex support.
  • ASCII support.
  • File support.
  • PKCS7 support.

See the open issues for a full list of proposed features (and known issues).

Contact

Francesco Gorini - [email protected] - https://francescogorini.com

Project Link: https://github.com/reznik99/CryptoTools

(back to top)

cryptotools's People

Contributors

printfn avatar reznik99 avatar

Watchers

 avatar  avatar

cryptotools's Issues

Allow configurable Hash Algoirthm in decSettings and encSettings for RSA-OAEP Encrypt/Decrypt

Currently it's set to a fixed value of SHA-256 (during key import)
Allow it to be configurable through form drop-down.

Also worth adding Ciphertext/Plaintext length checks for UX:
[maxLen = modLen - 2 * (hLen + 1)] lengths always in Bytes
I.e:

  • RSA-2048 using SHA-256 this means 256 - 2 * (32 + 1) = 190bytes max length
  • RSA-2048 using SHA-512 this means 256 - 2 * (64 + 1) = 126bytes max length

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.