Skip to content

sheroz/magma

Repository files navigation

Symmetric Key Block Cipher "Magma" in Rust

crates.io docs build & test MIT

The brief description: https://sheroz.com/pages/blog/rust-cipher-magma-28147-89.html

Supported Cipher Modes

  • ECB - Electronic Codebook Mode
  • CTR - Counter Encryption Mode
  • CTR-ACPKM - Counter Encryption Mode as per RFC8645
  • OFB - Output Feedback Mode
  • CBC - Cipher Block Chaining Mode
  • CFB - Cipher Feedback Mode
  • MAC - Message Authentication Code Generation Mode

Implemented and tested according to specifications

Tests are implemented using: crypto_vectors

Tested on platforms

  1. Linux Ubuntu 22.04 LTS / Intel® Core™ i7
  2. MacOS Ventura 13.4 / Apple Macbook Pro M1

Usage

Please look at magma_samples

Samples

Bitmap file encryption results

The original bitmap image: Ferris the crab

Ferris the crab, the original image


Encrypted bitmap in Electronic Codebook (ECB) Mode

Ferris the crab, encrypted in ECB Mode

Please note that the ECB mode has weaknesses. It does not hide data patterns well and leaks information about the plaintext. ECB mode is not recommended for use in cryptographic protocols.


Encrypted bitmap in Counter Encryption (CTR) Mode

Ferris the crab, encrypted in CTR Mode


Encrypted bitmap in Output Feedback (OFB) Mode

Ferris the crab, encrypted in OFB Mode


Encrypted bitmap in Cipher Block Chaining (CBC) Mode

Ferris the crab, encrypted in CBC Mode


Encrypted bitmap in Cipher Feedback (CFB) Mode

Ferris the crab, encrypted in CFB Mode

Disclaimer

This project was created for research purposes and is not intended for use in production systems.