Skip to main content

πŸ” Crypto

ci

A collection of useful cryptographic algorithms written in Typescript.


⚠ This project is still in an early stage of development. Expect breaking changes.


Supported algorithms

Block ciphers

Message Authentication Code algorithms (MACs)

Key Derivation Functions (KDFs)

Examples

AES-128-CBC

import { Aes } from "https://deno.land/x/crypto/aes.ts";
import { Cbc, Padding } from "https://deno.land/x/crypto/block-modes.ts";

const te = new TextEncoder();

const key = te.encode("SuperDuperSecret");
const data = te.encode("DataToBeEncrypted");
const iv = new Uint8Array(16);

// Ciphers have an internal state, you should therefore create
// separate ciphers for encryption and decryption
const cipher = new Cbc(Aes, key, iv, Padding.PKCS7);
const decipher = new Cbc(Aes, key, iv, Padding.PKCS7);

const encrypted = cipher.encrypt(data);
const decrypted = decipher.decrypt(encrypted);

Disclaimer

This repository has not yet received any formal cryptographic and security reviews. USE AT YOUR OWN RISK