18 Commits

Author SHA1 Message Date
Douglas Stebila
7b56fa83f8
Remove AES decryption functions (#970)
* added OQS_NO_AESDEC define

* disable _dec only subroutines

* further non-openssl _dec subroutines disabled

* Remove decryption subroutines

* Remove further AES decryption code

* Forgot one function

Co-authored-by: Michael <57787676+baentsch@users.noreply.github.com>
2021-04-15 09:50:28 -04:00
Douglas Stebila
34ec4b83a7
Re-add AES-NI with CPU feature detection (#770)
* Start re-adding AES-NI with CPU feature detection

* Follow Goutam's feedback on CPU feature detection

* Macrify CPU feature detection logic in AES

* AES128 and AES256 using NI based on Romain Dolbeau's public domain code

* Fewer calls to C_OR_NI

* Restricting setting of OQS_USE_CPU_EXTENSIONS.

* Unroll AES loops

Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
2020-07-24 13:53:14 -04:00
Douglas Stebila
6e0b0d79a9
Add SPDX-License-Identifier headers (#749)
* Add SPDX-License-Identifier in src/common

* Add SPDX-License-Identifier in FrodoKEM

* Add SPDX-License-Identifier in SIKE

* Add SPDX-License-Identifier in BIKE

* Add SPDX-License-Identifier in OQS headers

* Add SPDX-License-Identifier in files generated during copy-from-pqclean

* Add SPDX-License-Identifier in Picnic

* Add SPDX-License-Identifier in qTesla

* Add SPDX-License-Identifier in CMake files

* Update license info in README

* Add SPDX-License-Identifier in scripts

* Add SPDX-License-Info to CMakeLists

* Add SPDX-License-Info in tests

* Add SPDX-License-Info to various files

* Prettyprint

* Add test for SPDX-License-Identifier headers

* Updated license identifiers for CPU extension detection code.

* Use conjunction for SPDX in file with two licenses

Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
2020-05-12 11:45:37 -04:00
Douglas Stebila
c254fddf18
Update AES key schedule API to match PQClean (#701)
* Fix Falcon kat_sig template to match generated code

* Change OQS AES API to match PQClean's

https://github.com/PQClean/PQClean/pull/279

* Change callers to OQS AES API

* copy_from_pqclean commit db0d5800c5c8a32df63414297671cd418ddc3129

* Fix missing argument

* Fix memory leak
2020-04-04 17:10:12 +02:00
xvzcf
7c083329f3
Enabled more Clang warning flags. (#663) 2020-03-16 15:33:14 -04:00
Douglas Stebila
d4cd8d44a1
Don't use cycle count register on Raspberry Pi (#583)
* Don't use cycle count register on Raspberry Pi

* Prettyprint
2020-01-27 19:50:23 -05:00
Douglas Stebila
06507aaea5 Prettyprint 2019-10-23 22:36:51 -04:00
Douglas Stebila
1834cd16f1 Update AES256 CTR to take 12- or 16-byte IV 2019-10-23 22:06:12 -04:00
Douglas Stebila
2808c4b5b3 Add AES256 CTR mode 2019-10-23 22:06:11 -04:00
xvzcf
4e6b694507 Issue 557: Miscellaneous fixes (#562)
* Added -Wstrict-prototypes flag and fixed resulting errors.

* Removed double underscores from header guards.

* Changed EVP_MD_CTX_create to EVP_MD_CTX_new and EVP_MD_CTX_destroy to EVP_MD_CTX_free.

* Fixed comments.

* Changed Kyber function signatures.

* Revert "Changed EVP_MD_CTX_create to EVP_MD_CTX_new and EVP_MD_CTX_destroy to EVP_MD_CTX_free."

This reverts commit f09b5e49d73b16b56d332fbcfc3b671966032fd4.
2019-10-23 22:01:37 -04:00
Douglas Stebila
8a0af5bc12 Prettyprint 2019-08-03 07:31:01 -04:00
Douglas Stebila
4d492b9270 Add macros containing compilation information and print in test programs
Fixes #331
2019-08-02 22:03:13 -04:00
Douglas Stebila
d05ba23030 Use OpenSSL for AES when available 2019-07-08 17:07:19 -04:00
Douglas Stebila
13b5bb5896 Fix macros so AES version compilation actually works 2019-06-20 20:58:16 -04:00
Douglas Stebila
84e8dcb119
Remove old OQS_RAND object and API (#403)
* Remove old RAND API, AES-CTR and ChaCha20-based RNGs, and test_rand.

* Fix build and API for shared libraries

* Fix problems from merge with master
2018-10-09 20:36:57 -04:00
Christian Paquin
dc9617f81f Refactored sig api following nist-branch (issue380) (#391)
* Fixed a typo in a comment

* Refactored sig API following nist-branch (also fixes issue 380)

* Fixed Windows compilation error in sig.c.

* Added Picnic to Windows' config, and changed defaul alg to Picnic (since qTesla is not yet supported on Windows)

* Moved sig_picnic and sig_qtesla under sig directory, to harmonize with kem api

* Use different default sig alg on Windows to fix Travis back-compat tests and platform gap.

* Further changes required for OQS to be properly used by applications

* Compare OQS functions's return values to OQS error codes in sig.c.

* Fixed typos in comments.

* Replaced minimal_oqs_sig with example_sig.

* Ensure travis tests fail on error

* Add try-catch block in all-tests.sh

* Ignore example_sig

* Point global-namespace-check to .libs/liboqs.a

* More precise error handling in global-namespace-check

* Warning colours in travis tests and error handling in free-check

* Error handling in style-check

* Clean up style-check

* Removed leftover minimal_sig_oqs ref and VS projects.

* Prettyprint

* Revert clang-format version check

* Re-revert clang-format style check

* Prettyprint

* Added speed_sig to master.

* Removed superfluous extern from sig schemes .h
2018-09-26 10:01:53 -04:00
Douglas Stebila
8ae74ba3c4 Add AES 256 and refactor AES test vectors 2018-09-05 22:55:39 -04:00
Douglas Stebila
453516248b
Move tests to a common directory (#335) 2018-08-14 17:00:29 -04:00