- Aug 07, 2020
-
-
Billy Brumley authored
* GOST key agreement cofactor fix (cherry picked from commit dbc8f478)
-
Billy Brumley authored
* Tests that gost-engine correctly computes the public key from the private key. (Twice -- Alice and Bob.) * Tests that gost-engine correctly computes the derived shared key. (Twice -- Alice and Bob, should be identical.) (cherry picked from commit 95dd55b1)
-
- May 03, 2020
-
-
Vitaly Chikunov authored
-
- May 02, 2020
-
-
Dmitry Belyavskiy authored
-
- May 01, 2020
-
-
Dmitry Belyavskiy authored
-
Dmitry Belyavskiy authored
-
Dmitry Belyavskiy authored
Support of pkeyutl -pkeyopt ukmhex:0102030405060708 syntax
-
- Mar 01, 2020
-
-
Vitaly Chikunov authored
There need to be more tests than 2 constant fixed size blocks. Final digest values are generated from the first run. Test description in comments.
-
Nikolay Morozov authored
Plus some minor chnages - function defenition doen't match function declaration - Consecutive break statement is unnecessary. - Type missmatch in format string
-
- Feb 27, 2020
-
-
Nikolay Morozov authored
-
- Feb 26, 2020
-
-
Vitaly Chikunov authored
Only stack buffers are considered.
-
Vitaly Chikunov authored
`RAND_priv_bytes' is supposed to be used for private data.
-
Vitaly Chikunov authored
OpenSSL suggests to use (and internally itself uses) `BN_{CTX_,}secure_new' primitives to work with private keys. These are using `OPENSSL_secure_malloc' et al. calls, which use special 'secure heap' memory. Along, optimize out `hashsum2bn' with `BN_lebin2bn'.
-
- Feb 22, 2020
-
-
Dmitry Belyavskiy authored
-
- Feb 18, 2020
-
-
Vitaly Chikunov authored
`Test2::V0' is non standard and rarely present on systems, making `make test' unnecessarily fail.
-
Nikolay Morozov authored
-
- Feb 14, 2020
-
-
Nikolay Morozov authored
-
Nikolay Morozov authored
-
- Feb 10, 2020
-
-
Vitaly Chikunov authored
lcc emulates x86_64 SIMD intrinsics, so SSE2 code will work as is. Even though in benchmarks it is slightly slower than regular implementation
-
Vitaly Chikunov authored
This is lcc bug. Curiously, it is not triggered in `test_context.c' and `test_grasshopper.c'. "lcc: "/usr/src/gost-engine/test_curves.c", строка 32: ошибка: вероятное использование "=" вместо "==" [-Werror=assign-where-compare-meant] #define TEST_ASSERT(e) {if ((test = (e))) \ ^ в раскрытие макроса "TEST_ASSERT" на строке 217 TEST_ASSERT(0);" -
Vitaly Chikunov authored
"lcc: "/usr/src/gost-engine/gosthash2012_ref.h", строка 15: ошибка: нераспознанная #pragma [-Werror=unknown-pragmas] # pragma message "Use regular implementation" ^" Also, cmake does not detect lcc. -
Vitaly Chikunov authored
There is other architectures besides __x86_64__, so EMMS should be issued on IA-32 only where we are using MMX.
-
- Feb 06, 2020
-
-
Vitaly Chikunov authored
This probably would reduce size of the library. And remove some 'not used' warnings (-Wunused-const-variable). Previously `Ax' is generated dynamically from `A` and `Pi` in `GOST3411Init', but in 2013 it is moved into `gosthash2012_precalc.h`. `Tau' is unrolled and eliminated in 2013 too.
-
Vitaly Chikunov authored
`_mm_empty' is not needed on x86_64, because we only using SSE2. But, I didn't notice that EXTRACT32 (32-bit version of EXTRACT) is using MMX registers and intrinsics, so complete removing of `_mm_empty' (EMMS) was mistake. Make it presence conditional only for IA-32. Fixes: 211489fa ("gosthash2012: Improve SIMD implementation")
-
Vitaly Chikunov authored
Not last version went into commit ed0f8fbe
-
Vitaly Chikunov authored
It's not only unused, but calling _mm_extract_epi8 which is SSE4.1.
-
- Feb 05, 2020
-
-
Nikolay Morozov authored
-
- Feb 04, 2020
-
-
Vitaly Chikunov authored
This results in ~20% improvement for reference implementation on my Xeon E5630. `openssl speed -evp streebog256' results (before and after): 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes 3815.25k 12874.41k 31497.81k 49823.06k 59932.67k 57021.78k 4361.29k 14933.06k 37091.67k 59001.86k 71360.51k 72488.28k
-
Vitaly Chikunov authored
Also, simple check if `_addcarry_u64' works correctly.
-
- Feb 03, 2020
-
-
Ilya Shipitsin authored
-
Vitaly Chikunov authored
- Remove redundant 'os: linux', 'compiler: gcc' tags. - Order jobs: x86_64 builds, analysers, other arches, other OSes. - Mark openssl-master build as 'allow_failures' for PRs. - Build all jobs against 'OpenSSL_1_1_1-stable' by default. - Do not include 'linux/arch' in the job name, because Travis show them already. - Split name by ' | ' instead of '/' so it's easier to understand.
-
Vitaly Chikunov authored
It's turned out that 'OpenSSL_1_1_1-stable' does not have 'build_sw' make target. But both 'OpenSSL_1_1_1-stable' and 'master' have 'build_libs' and 'build_programs'. Fixes: cb1b5ffc ("travis-ci: Speed-up openssl build")
-
dmitry dulesov authored
Allow aligned/unaligned access. Use better intrinsics and other small optimizations. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
Vitaly Chikunov authored
Also, add compile time notice message to show which implementation is selected.
-
dmitry dulesov authored
`_addcarry_u64' is using `ADC' and does not require ADX extensions (`-madx'). Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
dmitry dulesov authored
On-stack `buf' is replaced by manipulation directly on `CTX->buffer'. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
dmitry dulesov authored
Some simple optimizations. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
dmitry dulesov authored
Introduce byte `.B' union type to `union uint512_u'. Change `CTX.buffer' type from `unsigned char' to `union uint512_u'. Change `data' argument of `stage2()' to `union uint512_u *'. Change `g()' arguments to `union uint512_u *' with `RESTRICT' allowing compiler to optimize more. No code changes, only type changes here. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
dmitry dulesov authored
Now `stage2' will always get aligned data which is prepared in `gost2012_hash_block' by copying into `CTX->buffer'. This will allow to change `data' argument of `stage2' from `unsigned char *' pointer to `union uint512_u *'. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-
dmitry dulesov authored
This allows to use `RESTRICT' which allows compiler optimize more. Committed-by:Vitaly Chikunov <vt@altlinux.org>
-