Skip to content

Releases: app13y/lg15

Version 0.4.1 released

21 Nov 19:16
Compare
Choose a tag to compare

Changelog

  • Issues #7 and #8 were fixed (kudos to @alexanius and @SamsonovAnton)
  • Minor code improvements were made
  • CI script was updated (we migrated to Trusty dist with preinstalled modern CMake)

Version 0.4 released

21 Jun 05:52
Compare
Choose a tag to compare

Changelog

  • All functions were renamed to Gost15–specific.
  • CTest was integrated instead of self-made selftests, and all implementations are now tested on each iteration.
  • Implementation selection was rephrased via -DIMPLEMENTATION CMake option, check out README.
  • Compiler-specific stuff was removed from CMake configuration.
  • All inclusions of headers with integers types and qualifiers were moved to libgost15/platform.h header.

Compability issues

  • Building library requires compiler supporting C99 standard.
  • CMake does not generate buildable Microsoft Visual Studio solutions because MSVC does not support C99 restrict feature.
    I am working on this issue, it is to be fixed in future releases.

Roadmap

  • Fix missing restrict type qualifier in Microsoft environment.
  • Add seamless support for GOST R 34.13 (2015) modes of operation.

Version 0.3.6 released

21 Apr 08:07
Compare
Choose a tag to compare

Changes log

This release includes

  • three versions of block encryption, decryption and key scheduling implementations: compact, optimised and SIMD,
  • by-the-book integrated selftests,
  • standalone benchmarking utility based on chrono.

Benchmarks and support for CMake build configuration

17 Apr 13:45
Compare
Choose a tag to compare

What's new?

Version 0.3.5 brings these new features:

  • support for CMake build management,
  • support for hardclock cycle-couting benchmark,
  • support for building selftests and benchmarks out-of-the-box with GCC and Clang compilers.

Draft implementation of block encryption, decryption and key scheduling routines

14 Apr 12:35
Compare
Choose a tag to compare

This version of release includes three implementations versions:

  • compact (at compact.c),
  • optimised (at optimised.c),
  • SIMD (at SIMD.c)

of basic cipher primitives:

  • block encryption (encryptBlock),
  • block decryption (decryptBlock),
  • key scheduling.

Note that encryption and decryption modes in optimised and SIMD versions of implementation require different sets of round keys, the respective set is generated by functions:

  • scheduleEncryptionRoundKeys,
  • scheduleDecryptionRoundKeys.

All implementation versions are mutually exclusive, and only one version is compiled at a time.