aboutsummaryrefslogtreecommitdiff
path: root/gost_eng.c
AgeCommit message (Collapse)AuthorFilesLines
2022-12-02Implementation of the MGM mode for magma/kuznyechikigrkir1-0/+4
first implemented in ossl_patched branch uses dynamic NIDs Signed-off-by: Sergei Ianovich <sergei.ianovich@ya.ru>
2022-12-02engine: create missing NIDsSergei Ianovich1-0/+34
Signed-off-by: Sergei Ianovich <sergei.ianovich@ya.ru>
2022-08-11Add magma-ecb mode. Fixes #410Mark Fedorov1-0/+1
2021-11-25Use frpintf(stderr, ...) instead of printf(...)Anton Fadeev1-6/+6
When we use git cli in OS Linux, with enabled gost engine git utility we got fatal erro
2021-10-11Making a gost provider - Refactor the engine to become a backendRichard Levitte1-3/+8
The gost provider is planned to be a wrapper around the already existing functionality, designed for ENGINE use. The easiest way to do this is to let the gost ENGINE continue to exist within the gost provider, as an internal ENGINE. To do that, we make it possible to build gost_eng.c so it only populates the GOST ENGINE structure, but doesn't perform any of the ENGINE registration. That way, the GOST ENGINE structure becomes purely internal, and can be used as the actual implementation of the offered provider functionality, through diverse EVP calls that accept an ENGINE pointer.
2021-09-28Don't recreate GOST EC groups every time (#358)Dmitry Belyavskiy1-0/+2
* Don't recreate GOST EC groups every time For multiple keygen it saves 6% time
2021-02-22Also build gost-engine in library formRichard Levitte1-115/+151
In this form, the GOST engine isn't loadable through OpenSSL's dynamic ENGINE loader, but directly as its own function, ENGINE_load_gost(). After making that call, the engine functionality can be used as usual. This includes a public header file called gost-engine.h, which declares that functions. This also rearranges the code in gost_eng.c, as the binding functionality was spread around in the file. Now, it's all nicely tucked at the end.
2021-02-15Move gost_cmds[] from gost_ctl.c to gost_eng.cRichard Levitte1-0/+16
This make that array uniquely belonging to the engine proper, while leaving the more generic gost parameters functionality in the gost_core library.
2020-11-28Add explicit support for NID_id_GostR3410_2001DH (GOST R 34.10-2001 DH)Dmitry Timoshkov1-0/+9
2020-05-18Fix code formating.Nikolay Morozov1-8/+8
All tabs replcaded with spaces. One file was 2 tabs fornating.
2020-05-13gost_eng: Simplify digest registrationVitaly Chikunov1-75/+24
Now only simple array of `GOST_digest's. No need to care about aliases anymore.
2020-05-12gost_eng: Rework (simplify) cipher registrationVitaly Chikunov1-122/+34
Now we don't need a struct to hold cipher list. And can use simple array of pointers to `GOST_cipher'.
2020-05-12gost_keyexpimp: Rework cipher registrationVitaly Chikunov1-2/+4
2020-05-12gost_grasshopper_cipher: Rework cipher registrationVitaly Chikunov1-8/+15
This only adds registering via tables, but not removing obsolete code.
2020-05-12gost_crypt: Add magma_cbc_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add magma_ctr_acpkm_omac_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add magma_ctr_acpkm_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add magma_ctr_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add Gost28147_89_cnt_12_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add Gost28147_89_cnt_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Add Gost28147_89_cbc_cipherVitaly Chikunov1-1/+2
2020-05-12gost_crypt: Rework cipher registration, add Gost28147_89_cipherVitaly Chikunov1-7/+26
2020-05-10Restore kuznyechik-mac testDmitry Belyavskiy1-1/+1
2020-05-09magma-ctr-acpkm + magma-ctr-acpkm-omacDmitry Belyavskiy1-0/+8
2020-05-04KUZNYECHIK-CTR_ACPKM-OMAC implementationDmitry Belyavskiy1-0/+4
2020-05-04GOST wrap ciphers registrationDmitry Belyavskiy1-0/+9
2020-05-03gost_eng: Make it use arrays instead of repeatable codeVitaly Chikunov1-300/+295
2020-02-17cppcheck: function defenition doen't match function declarationNikolay Morozov1-1/+1
2019-01-27test_params: Avoid calls to fill_GOST_EC_params and bind_gostVitaly Chikunov1-1/+1
Use external API to generate key with parameters instead of calling fill_GOST_EC_params(). Use OPENSSL_CONF trick like in test_sign to avoid calling bind_gost(). Reverting 1716316de77 ("Export bind_gost to allow local engine init") as not needed anymore.
2019-01-21Export bind_gost to allow local engine initVitaly Chikunov1-1/+1
Look at `test_params.c` for example.
2018-11-18GOST md aliasesDmitry Belyavskiy1-0/+7
2018-09-06Mkae kuznyechik recognizable by libsslDmitry Belyavskiy1-4/+41
2018-08-08Add grasshopper_omac_acpkm (OMAC-ACPKM)Vitaly Chikunov1-0/+3
2018-07-26Add kuznyechik_ctracpkmVitaly Chikunov1-0/+4
2018-07-20Merge branch 'magma_impl' into openssl_1_0_2_altVitaly Chikunov1-3/+55
2018-07-17Fix a mem leakMatt Caswell1-0/+1
Ensure the grasshopper ciphers are destroyed on engine destroy.
2018-06-19Magma CTR (no meshing), compile-only version.Dmitry Belyavskiy1-0/+4
2018-06-15Missing digest registrationDmitry Belyavskiy1-0/+2
2018-06-15Corrected MAC nameDmitry Belyavskiy1-2/+2
Redundant values removed
2018-06-14OMACs implementation. Unfinished.Dmitry Belyavskiy1-29/+74
2018-06-08Start implementing MAGMA algorithmDmitry Belyavskiy1-0/+1
2016-11-19Merge remote-tracking branch 'origin/openssl_1_1_0'Dmitry Belyavskiy1-139/+180
Conflicts: gost_asn1.c gost_crypt.c
2016-08-18Fix missing cleanup of GOST specific error messagesstevenlinsell1-0/+2
2016-04-28Grasshopper && CMakeMaxim Tishkov1-114/+131
2016-01-23GOST engine fixes to make it compiling with opaque EVP_CIPHER/EVP_CIPHER_CTX ↵Dmitry Belyavskiy1-8/+11
structs
2016-01-04TypoDmitry Belyavskiy1-1/+1
2016-01-03Missed digestsDmitry Belyavskiy1-0/+6
2016-01-03openssl 1.1.0 compatibilityDmitry Belyavskiy1-23/+38
2016-01-02Formatting fixDmitry Belyavskiy1-8/+8
2015-10-09Calculate number of digests/ciphers/etc provided by the engineDmitry Belyavskiy1-4/+4