An open API service indexing awesome lists of open source software.

https://github.com/aleksbelic/kryptonite-core

TypeScript cryptography library.
https://github.com/aleksbelic/kryptonite-core

caesar-cipher cryptography cryptography-library typescript typescript-library

Last synced: 3 months ago
JSON representation

TypeScript cryptography library.

Awesome Lists containing this project

README

          

# Kryptonite-Core

![testing workflow](https://github.com/aleksbelic/kryptonite-core/actions/workflows/tests.yml/badge.svg)
[![GitHub license](https://img.shields.io/github/license/aleksbelic/kryptonite-core)](https://raw.githubusercontent.com/aleksbelic/kryptonite-core/release/1.0.0/LICENSE)

TypeScript Crypto Lib.

## Progress

| Cipher | Description | Implemented |
| :---------------------- | :--------------------------- | :---------: |
| Atbash | monoalphabetic substitution | ✅ |
| Bacon's (v1, v2) | substitution & steganography | ✅ |
| Caesar | monoalphabetic substitution | ✅ |
| M-94 (CSP-488 for Navy) | | |
| Morse code | monoalphabetic substitution | ✅ |
| Polybius square | | |
| Porta | polyalphabetic substitution | |
| Rail Fence | | |
| ROT5 | monoalphabetic substitution | ✅ |
| ROT13 | monoalphabetic substitution | ✅ |
| ROT18 | monoalphabetic substitution | ✅ |
| ROT47 | monoalphabetic substitution | |
| Scytale | transposition | ✅ |
| Vigenère | polyalphabetic substitution | ✅ |

## Development

To start TypeScript compilation in watch mode:

```
$ tsc --watch
```

Code formatting is done by [Prettier](https://prettier.io/).
Simply format project files by following predefined rules in `.prettierrc.json`:

```
$ npm run pretty
```

which is an alias for:

```
$ npx prettier --write .
```

To exclude files from formatting, please refer to `.prettierignore` (corresponds to `.gitignore`).

Identifying problematic patterns is covered by static code analysis tool [ESLint](https://eslint.org/):

```
$ npm run lint
```

which is an alias for:

```
$ npx eslint .
```

Linting config can be found in `.eslintrc.json`.