Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/woodruffw/skipjack.rs
A straight-line implementation of the Skipjack cipher in Rust
https://github.com/woodruffw/skipjack.rs
cipher cryptography rust skipjack
Last synced: 30 days ago
JSON representation
A straight-line implementation of the Skipjack cipher in Rust
- Host: GitHub
- URL: https://github.com/woodruffw/skipjack.rs
- Owner: woodruffw
- License: other
- Created: 2020-03-08T19:18:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T16:48:44.000Z (almost 3 years ago)
- Last Synced: 2024-10-06T03:39:38.130Z (about 1 month ago)
- Topics: cipher, cryptography, rust, skipjack
- Language: Rust
- Homepage: https://crates.io/crates/skipjack
- Size: 16.6 KB
- Stars: 10
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
skipjack.rs
===========![license](https://raster.shields.io/badge/license-MIT%20with%20restrictions-green.png)
[![Build Status](https://img.shields.io/github/workflow/status/woodruffw/skipjack.rs/CI/master)](https://github.com/woodruffw/skipjack.rs/actions?query=workflow%3ACI)**Note: Skipjack is not suitable for contemporary use. This library exists as an example,
and not for consumption.**skipjack.rs is a straight-line (meaning no branches or loops) Rust implementation of the
[Skipjack](https://en.wikipedia.org/wiki/Skipjack_(cipher)) cipher,
best known for its use by the NSA in the [Clipper chip](https://en.wikipedia.org/wiki/Clipper_chip).skipjack.rs has three primary goals (all for educational purposes, for yours truly):
1. To represent safe, idiomatic Rust in a cryptographic context
2. To be easy to read and understand with a minimal understanding of Rust,
even without a background in cryptography
3. To directly reflect the NIST specification for Skipjack (i.e., no optimizations or shortcuts)## Design
This implementation attempts to adhere closely to the
[NIST-provided specification](https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/skipjack/skipjack.pdf)
in design, and does not support any modes of operation other than single-block
[codebook](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_(ECB)).## Installation
You should not use Skipjack (or skipjack.rs) for anything serious. But, if you'd like to play
with it, you can install it via `cargo`:```toml
[dependencies]skipjack = "0.1.0"
```Documentation is available on [docs.rs](https://docs.rs/crate/skipjack).