Mobile Cipher crypto library written in clean TypeScript
There are a lot of crypto libs in JS around, but I needed a clean, lightweight, reliable, fast and simple lib for mobile devices in TypeScript. That's mipher.
A collection of common crypto algorithms, optimized for speed, security and size.
- Only usage of modern typed arrays like
Uint8Array
andUint32Array
as message/data types - Fast and simple, no dependencies
- Own crypto random generator (using a FORTUNA implementation)
- Extensive passing test suite
- MIT license
- AES
- Serpent
- Chacha20
- Curve25519, Ed25519
- HMAC
- PBKDF2
- SHA-1, SHA-256, SHA-512, SHA-3, Keccak, SHAKE
- UUID
- Random generator
- Blockmodes (ECB, CBC, CTR)
- Padding (PKCS5, PKCS7, zero padding)
- Format converter (bin, number, hex, base64, string)
- Utils (xor, cryptocompare etc.)
Import the mipher module as mipher
and create your according crypto object:
import * as mipher from 'mipher';
let aes = new mipher.AES();
let ct = aes.encrypt(key, pt);
mipher is using the mocha test suite for testing.
To do all tests just run npm run test
.
If you find any bugs, have any comments, improvements or suggestions:
- Create an issue and describe your idea
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Publish the branch (
git push origin my-new-feature
) - Create a new pull request
- Profit! ✅
mipher is written under the MIT license.