Skip to content

An open-source .NET library providing the modern Russian national standard cryptographic algorithms

License

Notifications You must be signed in to change notification settings

sergezhigunov/OpenGost

Repository files navigation

OpenGost

License MIT Latest version

Overview

An open-source .NET library providing the modern Russian national standard cryptographic algorithms

Supported Algorithms

  • 512 and 256 bits Streebog hash algorithms (GOST R 34.11-2012)
  • Streebog HMAC (Hash-based Message Authentification Code) algorithms
  • Grasshopper block cipher algorithm (GOST R 34.12-2015, GOST R 34.13-2015)
  • CMAC Grasshopper (Cipher-based Message Authentification Code algorithm)
  • Magma block cipher algorithm (GOST R 34.12-2015, GOST R 34.13-2015)
  • CMAC Magma (Cipher-based Message Authentification Code algorithm)
  • 512 and 256 bits GOST Elliptic Curve Digital Signature Algorithm (GOST R 34.10-2012)

Installation

To install Russian national standard cryptographic algorithms, run the following command in the Nuget Package Manager Console:

PM> Install-Package OpenGost.Security.Cryptography

After package installation, enable cryptographic services:

using OpenGost.Security.Cryptography;

OpenGostCryptoConfig.ConfigureCryptographicServices();

References

  • GOST R 34.11-2012 Information technology. Cryptographic data security. Hash function
  • GOST R 34.12-2015 Information technology. Cryptographic data security. Block ciphers
  • GOST R 34.13-2015 Information technology. Cryptographic data security. Modes of operation for block ciphers
  • NIST-CMAC NIST, Special Publication 800-38B, "Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication", May 2005.
  • RFC 2104 HMAC: Keyed-Hashing for Message Authentication
  • RFC 4357 Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms
  • RFC 4490 Using the GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic Message Syntax (CMS)
  • RFC 4491 Using the GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms with the Internet X.509 Public Key Infrastructure Certificate and CRL Profile
  • RFC 5830 GOST 28147-89: Encryption, Decryption, and Message Authentication Code (MAC) Algorithms
  • RFC 5831 GOST R 34.11-94: Hash Function Algorithm
  • RFC 5832 GOST R 34.10-2001: Digital Signature Algorithm
  • RFC 6986 GOST R 34.11-2012: Hash Function
  • RFC 7091 GOST R 34.10-2012: Digital Signature Algorithm
  • RFC 7801 GOST R 34.12-2015: Block Cipher "Kuznyechik"
  • RFC 7836 Guidelines on the Cryptographic Algorithms to Accompany the Usage of Standards GOST R 34.10-2012 and GOST R 34.11-2012
  • RFC 8133 The Security Evaluated Standardized Password-Authenticated Key Exchange (SESPAKE) Protocol