Skip to content
/ codes Public

A library written in Rust to play with the Rust language, cryptography and error correcting codes.

Notifications You must be signed in to change notification settings

teo8192/codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

About

This is a cryptographic library (mostly made for fun and academic purpose). I try to adhere to standards, and verify the implementation by expected output. Here is some of the resources used:

Generate the documentation with

cargo doc --no-deps --open

Examples

In the examples diecroy there are a example. It is a small application to encrypt, decrypt and apply error correcting codes. Run with

cargo run --example cryptor --release -- [-h] [-i inputfile] [-o outputfile] [-p password] encrypt|decrypt

Stuff to implement

  • Poly1305
  • Fortuna using ChaCha20?
  • SHA256 fam
  • SHA3
  • Elliptic curves (Curve25519)
  • Digital signatures?
  • Fix input vectors and salts
  • CMAC
  • Twofish
  • Message padding like SHA512 for CBC
  • CBC in place on mutable vector

Future problems that require future solutions

  • Input vector be removed from aes cipher and inv_cipher.

  • Encrypt and decrypt not aligned with 16 bytes.

  • IV in encrypt and decrypt iterator.

  • cipher block chaining in encrypt and decrypt iterator.

  • cipher text stealing in encrypt and decrypt iterator.

  • Incorporate the code of Frixxie

BUGS

  • Encrypt and decrypt stream is buggy when encrypting less than a single block. (CTS should not be activated, but i think maybe it is?)

About

A library written in Rust to play with the Rust language, cryptography and error correcting codes.

Resources

Stars

Watchers

Forks

Languages