Bee2 – это криптографическая библиотека, которая реализует алгоритмы и протоколы, определённые в стандартах Республики Беларусь. http://apmi.bsu.by/resources/tools.html

Sergey Agievich 5acf382c0b Fix typo in belt.h 3 tahun lalu
RPM ee3204e41c Create libbee2.spec 3 tahun lalu
apps 69685e1cae finish belt-che and fix botp-ocra 4 tahun lalu
doc 3a5aa2cefe update oids [doc/dumpasn1by.cfg] 4 tahun lalu
img 01a1994ec9 update logo 4 tahun lalu
include 5acf382c0b Fix typo in belt.h 3 tahun lalu
src e3f9131eff cleanup 3 tahun lalu
test e3f9131eff cleanup 3 tahun lalu
win fed7b405ac Split ecp.c into parts 3 tahun lalu
.editorconfig 69685e1cae finish belt-che and fix botp-ocra 4 tahun lalu
.gitignore f7c6f527d2 fix bashPrgRatchet 4 tahun lalu
.travis.yml 9acbc5f66a Fix char vs octet error 3 tahun lalu
AUTHORS.md 116fc29a75 Fixes after code review 3 tahun lalu
CMakeLists.txt 20d0298c6a Allow rngClose() call after rngDestroy() 3 tahun lalu
LICENSE 4156b31eea Initial commit 9 tahun lalu
README.md 5a5d60b0fb Migrate to travis-ci.com 3 tahun lalu

README.md

Bee2: a cryptographic library

Build Status Coverity Static Analysis Coverage Analysis

What is Bee2?

Bee2 is a cryptographic library which implements cryptographic algorithm and protocols standardized in Belarus.

Bee2 fully supports the following standards (see apmi.bsu.by/resources/std.html):

  1. STB 34.101.31 (belt): data encryption and integrity algorithms.
  2. STB 34.101.45 (bign): digital signature and key transport algorithms over elliptic curves.
  3. STB 34.101.47 (brng): cryptographic algorithms of pseudorandom number generation + one-time passwords.
  4. STB 34.101.60 (bels): secret sharing algorithms.
  5. STB 34.101.66 (bake): key establishment protocols over elliptic curves.
  6. STB 34.101.77 (bash): sponge-based algorithms.

Bee2 partially supports cryptographic data formats defined in the following standards:

  1. STB 34.101.78 (bpki): a PKI profile.

Additionally, Bee2 implements digital signature algorithms standardized in Russia and Ukraine.

Build

mkdir build
cd build
cmake [-DCMAKE_BUILD_TYPE={Release|Debug|Coverage|ASan|ASanDbg|MemSan|MemSanDbg|Check}]\
      [-DBUILD_FAST=ON]\
      [-DBASH_PLATFORM={BASH_32|BASH_64|BASH_AVX2|BASH_AVX512|BASH_NEON}]\
      ..
make
[make test]
[make install]

Build types (Release by default):

The BUILD_FAST option (OFF by default) switches from safe (constant-time) functions to fast (non-constant-time) ones.

The BASH_PLATFORM option (BASH_64 by default) requests to use a specific implementation of the STB 34.101.77 algorithms optimized for a given hardware platform. The request may be rejected if it conflicts with other options.

License

Bee2 is released under the terms of the GNU General Public License version 3 (GNU GPLv3). See LICENSE for more information.

Related projects

  • Bee2evp: an OpenSSL engine over Bee2;
  • Bee2j: a Java wrapper over Bee2.

What is the logo?

The logo of Bee2 is taken from a self-portrait engraving by Francysk Skaryna, the famous Belarusian medieval printer, enlightener, translator and writer. The engraving is full of riddles, mysteries and cryptograms. One version is that a bee in the right-bottom corner, our logo, designates the constellation known as Apes (Latin for bees) in Skaryna's time. This constellation was later renamed in Musca Borelias (Latin for northern fly) and then absorbed by Aries.