Commit Graph

827 Commits

Author SHA1 Message Date
Matthias J. Kannwischer
963e87af64 rainbow: memcpy -> memmove since buffers may overlap 2021-03-24 21:02:45 +00:00
Leon Botros
e3db88d7e4 use the same compiler flags as other implementations 2021-03-24 21:02:45 +00:00
Leon Botros
692e7bea39 add -Werror 2021-03-24 21:02:45 +00:00
Leon Botros
c95f1b4ebb move modulus function to source, namespace it 2021-03-24 21:02:45 +00:00
Leon Botros
36b6142794 remove empty lines at end of file 2021-03-24 21:02:45 +00:00
Leon Botros
4c84fd915b fix namespacing for mamabear, papabear 2021-03-24 21:02:44 +00:00
Leon Botros
e94842b0ef remove empty line, add version 2021-03-24 21:02:44 +00:00
Leon Botros
2d9e259608 add duplicate consistency checks 2021-03-24 21:02:44 +00:00
Leon Botros
3b740033ef add ThreeBears 2021-03-24 21:02:44 +00:00
Matthias J. Kannwischer
d1f2d16f46 remove ternary operator in rainbow to compute max
clang-tidy9.0.0 added a new check: bugprone-branch-clone
(https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html)
This doesn't like both branches of an if are the same.
This lead to a warning in rainbow, as where the maximum of two values (which
are always the same) is computed in a macro.
I don't always agree with this warning, but here I think it's worth to
remove the macro.
2021-03-24 21:02:44 +00:00
Matthias J. Kannwischer
6c98832774 remove unnecessary if in kyber768
clang-tidy9.0.0 added a new check: bugprone-branch-clone
(https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html)
This doesn't like both branches of an if are the same.
In this case I don't think there is any reason to do this, so I've removed it.
2021-03-24 21:02:44 +00:00
Matthias J. Kannwischer
873d176652 ignore new clang warning security.insecureAPI.DeprecatedOrUnsafeBufferHandling
clang9.0.0 (https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html)
adds a new satic analyzer: security.insecureAPI.DeprecatedOrUnsafeBufferHandling
which throws warnings if you use "unsafe" buffer handling functions which
includes memset and memcpy.
We have memset and mempy all over the place, so I think it's best to ignore this warning.
All the occurences that I looked at seemed perfectly "safe" to me.
2021-03-24 21:02:44 +00:00
Thom Wiggers
81a7e48d37 Run ARM64 tests on REAL HARDWARE 🎉 2021-03-24 21:02:44 +00:00
Matthias J. Kannwischer
071e541af7 Switch to gcc9.2 and xcode11.2 for MacOS builds (#246) 2021-03-24 21:02:44 +00:00
Thom Wiggers
367f29382f Make sure the emulated jobs upload their test results properly 2021-03-24 21:02:44 +00:00
Sebastian
56a0fcb135 qTESLA (#239)
* Copied qTESLA-p-I round2 (2019-08-19) code

* Code compiles, NIST-KAT works

* Included detached signature API

* Generated testvectors

* Fixed name in api.h

* code style

* Fixed error in Makefile

* Passing pytest

* Fixing types (uint8_t bytes and size_t indices)

* Replaced SHAKE with SHAKE128 where necessary

* Fixed bug: (signed) integer overflow

* Added qTESLA-p-III

* Code is now independent of machine endianness

* repaired Microsoft makefile
2019-10-21 14:26:27 +02:00
Thom Wiggers
f792b925b4 Enable optimizers on Windows (#244) 2019-10-21 14:23:59 +02:00
Sebastian
298dd2cf22 fix clang-tidy complaint about falcon (#242)
See https://circleci.com/gh/PQClean/PQClean/7991
2019-10-16 08:23:33 +02:00
mergify[bot]
abe2a5aa2c
Merge pull request #241 from PQClean/fix_kyber90s
Fix kyber-90s warning if size_t is not 32 bits
2019-10-15 18:16:00 +00:00
Matthias J. Kannwischer
df8cc49670 fix kyber-90s warning if size_t is not 32 bits 2019-10-15 15:20:57 +02:00
mergify[bot]
c39e85dddf
Merge pull request #238 from PQClean/kyber90s-aes
Update Kyber-90s to use aes256_ecb instead of local AES implementation
2019-10-04 12:48:58 +00:00
Matthias J. Kannwischer
39246b808d fix for big-endian 2019-10-04 13:10:29 +02:00
Matthias J. Kannwischer
9571a3b017 use common aes256_ecb instead of providing local AES implementation 2019-10-04 09:31:16 +02:00
Thom Wiggers
07543ba929 Document security issues (#236)
It seems wise to include _some_ form of guidance on what we know about
problems with certain (versions of) implementations.

[ci skip]
2019-09-25 10:47:49 +02:00
mergify[bot]
dd11ffc241
Merge pull request #230 from PQClean/fix_rainbow
Fix and re-add Rainbow
2019-09-24 20:44:43 +00:00
Matthias J. Kannwischer
1e04996465 re-add duplicate consistency checks 2019-09-24 14:43:23 +02:00
Matthias J. Kannwischer
db7200dc54 fix algorithm names in META.yml 2019-09-24 14:38:18 +02:00
Matthias J. Kannwischer
f08f65c8b6 remove unsupported -Wcast-align=strict 2019-09-24 13:50:38 +02:00
Matthias J. Kannwischer
3a4673bfd6 refactor gf16+gf256 arithmetic of rainbow to fix undefined behaviour 2019-09-24 13:48:51 +02:00
Matthias J. Kannwischer
0523cd693b fix and re-add rainbow 2019-09-24 13:48:51 +02:00
mergify[bot]
546c8cd173
Merge pull request #226 from PQClean/kyber-90s
Add 90s variants of Kyber
2019-09-24 10:17:16 +00:00
Thom Wiggers
ac1f8cc74d
fixup! Add Kyber90s
Fix CRYPTO_ALGNAME
2019-09-24 08:01:54 +02:00
Thom Wiggers
7931383443
fixup! Add Kyber90s
Add duplicate consistency files
2019-09-24 08:01:54 +02:00
Thom Wiggers
526a841886
Add Kyber90s 2019-09-24 08:01:54 +02:00
Thom Wiggers
588dcaf5cb
Merge pull request #235 from pornin/master
Fixed sampler bug (update to new upstream Falcon code 2019-09-18).
2019-09-24 07:58:39 +02:00
Thomas Pornin
db2a8214f7 Merge remote-tracking branch 'upstream/master' 2019-09-23 11:22:40 -04:00
Thom Wiggers
993803e02d Ignore pointless clang-tidy warning. (#237)
* Ignore pointless clang-tidy warning.

It wants you to write type suffixes for integers using uppercase. Let's
just disable this warning.

https://clang.llvm.org/extra/clang-tidy/checks/readability-uppercase-literal-suffix.html

* Clean up bugprone-narrowing-conversion
2019-09-23 17:16:58 +02:00
Thomas Pornin
2515f13378 Updated version number, and added an explicit cast to appease some versions of clang-tidy. 2019-09-20 09:01:32 -04:00
Thom Wiggers
bdb42f1911 Allow to automatically merge PRs if approved and CI agrees (#234) 2019-09-20 10:39:42 +02:00
Thomas Pornin
44a050106a Fixed sampler bug (update to new upstream Falcon code 2019-09-18). 2019-09-19 15:55:28 -04:00
Thom Wiggers
4be5e497dc
Merge pull request #233 from PQClean/fix_algonames
Check and fix consistency of scheme names
2019-09-19 12:52:51 +02:00
Matthias J. Kannwischer
7d10484030 fix algo names for schemes that are inconsistent with the api.h 2019-09-19 12:44:26 +02:00
Matthias J. Kannwischer
1d789dc90d check algo names 2019-09-19 12:43:57 +02:00
Thom Wiggers
88e59b3d61
Merge pull request #232 from PQClean/fix_incremental_sha512
Fix incremental sha512
2019-09-12 10:27:20 +02:00
Thom Wiggers
3779d4fcbf Fix clang-tidy complaint about result of subtraction being compared with possibly small size_t (#231) 2019-09-10 12:36:52 +02:00
Thom Wiggers
f4bd312180 Adds AVX2 variants of Kyber512, Kyber768, Kyber1024 (#225)
* Integrate Kyber-AVX2 into PQClean

* Fix types and formatting in Kyber

* Workaround a valgrind crash

* Remove comment in shuffle.s

* Remove some extraneous truncations

* fixup! Fix types and formatting in Kyber
2019-09-10 11:45:01 +02:00
Matthias J. Kannwischer
6ee774a593 fix incremental sha512 2019-09-10 11:27:37 +02:00
Matthias J. Kannwischer
d83d4a4bf1 add test for incremental sha512 2019-09-10 11:27:23 +02:00
Thom Wiggers
2eaf382689 Add support for specifying architecture and feature limits (#224)
* Add support for specifying architecture and feature limits

* cpuinfo not supported on ppc

* Detect 32-bit python interpreter on 64-bit CPU

* Fix bugs in isolated tests

* Also support restricting operating system
2019-09-06 12:01:44 +02:00
Thom Wiggers
aa46b5239d Enable valgrind exit errorcode and remove Rainbow (#223)
* Enable valgrind exit errorcode

It seems we were not doing anything with the valgrind results... D:

* Use --exit-on-first-error if available

* Revert "Merge pull request #182 from PQClean/rainbow"

This reverts commit 8a008417fe, reversing
changes made to d4b612fe9a.
2019-09-05 10:08:42 +02:00