#block-cipher #message-authentication #magma #gost-r-34-12-2015 #gost-28147-89

cipher_magma

Block Cipher Magma (GOST R 34.12-2015, former GOST 28147-89)

22 releases (6 breaking)

0.8.3 Aug 19, 2023
0.8.2 Aug 18, 2023
0.7.1 Aug 5, 2023
0.6.3 Jul 27, 2023
0.2.4 Jul 7, 2023

#1379 in Cryptography


Used in sheroz

MIT license

87KB
1.5K SLoC

Block Cipher "Magma" (GOST R 34.12-2015, former GOST 28147-89)

crates.io docs build & test MIT

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 Mode (ECB) Mode

Ferris the crab, encrypted in ECB Mode

Please note that ECB 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

No runtime deps