mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-22 15:39:07 +00:00
Merge branch 'master' into nist-kat
This commit is contained in:
commit
24938353ac
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
<!-- Type some lines about your submission -->
|
||||
|
||||
|
||||
<!-- If you are not submitting a new scheme, we suggest removing the following lines -->
|
||||
#### Manually checked properties
|
||||
<!-- These checkboxes serve for the maintainers of PQClean to verify your submission. Please do not check them yourself. -->
|
||||
|
||||
|
@ -26,9 +26,8 @@ See the section [API](#API) below.
|
||||
type: <kem|signature>
|
||||
claimed-nist-level: <N>
|
||||
length-public-key: <N> # KEM and signature
|
||||
length-secret-key: <N> # KEM and signature
|
||||
length-ciphertext: <N> # KEM only
|
||||
length-shared-secret: <N> # KEM only
|
||||
length-shared-secret: <N> # KEM only
|
||||
length-signature: <N> # Signature only
|
||||
testvectors-sha256: sha256sum of output of testvectors
|
||||
principal-submitter: Eve
|
||||
@ -38,6 +37,7 @@ See the section [API](#API) below.
|
||||
- ...
|
||||
implementations:
|
||||
- name: clean
|
||||
length-secret-key: <N> # KEM and signature
|
||||
version: <some version indicator>
|
||||
```
|
||||
|
||||
|
0
crypto_kem/ntruhps2048509/clean/api.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/api.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/crypto_sort.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/crypto_sort.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/crypto_sort.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/crypto_sort.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/kem.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/kem.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/owcpa.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/owcpa.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/owcpa.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/owcpa.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/pack3.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/pack3.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/packq.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/packq.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/params.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/params.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/poly.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/poly.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/poly.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/poly.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/sample.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/sample.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/sample.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/sample.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/verify.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/verify.c
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/verify.h
Executable file → Normal file
0
crypto_kem/ntruhps2048509/clean/verify.h
Executable file → Normal file
@ -68,7 +68,7 @@ static void base_w(unsigned int *output, const size_t out_len,
|
||||
bits += 8;
|
||||
}
|
||||
bits -= SPX_WOTS_LOGW;
|
||||
output[out] = (total >> bits) & (SPX_WOTS_W - 1);
|
||||
output[out] = (unsigned int)((total >> bits) & (SPX_WOTS_W - 1));
|
||||
out++;
|
||||
}
|
||||
}
|
||||
|
@ -73,3 +73,7 @@ clean:
|
||||
$(RM) $(DEST_DIR)/test_aes
|
||||
$(RM) $(DEST_DIR)/test_fips202
|
||||
$(RM) $(DEST_DIR)/test_sha2
|
||||
|
||||
.PHONY: distclean
|
||||
distclean:
|
||||
$(RM) -r $(DEST_DIR)
|
||||
|
@ -14,14 +14,14 @@ import helpers
|
||||
def test_functest():
|
||||
for scheme in pqclean.Scheme.all_schemes():
|
||||
for implementation in scheme.implementations:
|
||||
if helpers.permit_test('functest', implementation):
|
||||
if helpers.permit_test('functest', implementation):
|
||||
yield check_functest, implementation
|
||||
|
||||
|
||||
def test_functest_sanitizers():
|
||||
for scheme in pqclean.Scheme.all_schemes():
|
||||
for implementation in scheme.implementations:
|
||||
if helpers.permit_test('functest_sanitizers', implementation):
|
||||
if helpers.permit_test('functest_sanitizers', implementation):
|
||||
yield check_functest_sanitizers, implementation
|
||||
|
||||
|
||||
@ -41,39 +41,44 @@ def check_functest(implementation):
|
||||
)
|
||||
|
||||
|
||||
@helpers.skip_windows
|
||||
@helpers.skip_windows()
|
||||
def check_functest_sanitizers(implementation):
|
||||
env = None
|
||||
if platform.machine() == 'ppc' and os.environ.get('CC', 'gcc') == 'clang':
|
||||
raise unittest.SkipTest("Clang does not support ASAN on ppc")
|
||||
elif platform.machine() in ['armv7l', 'aarch64']:
|
||||
env = {'ASAN_OPTIONS': 'detect_leaks=0'}
|
||||
elif platform.system() == 'Darwin':
|
||||
raise unittest.SkipTest('valgrind is not reliable on OSX')
|
||||
else:
|
||||
print("Supported platform: {}".format(platform.machine()))
|
||||
|
||||
helpers.ensure_available('valgrind')
|
||||
helpers.make('clean-scheme', 'functest',
|
||||
TYPE=implementation.scheme.type,
|
||||
SCHEME=implementation.scheme.name,
|
||||
IMPLEMENTATION=implementation.name,
|
||||
EXTRAFLAGS='-fsanitize=address,undefined',
|
||||
EXTRAFLAGS='-g -fsanitize=address,undefined',
|
||||
working_dir=os.path.join('..', 'test'),
|
||||
env=env)
|
||||
helpers.run_subprocess(
|
||||
[os.path.join('..', 'bin', 'functest_{}_{}{}'.format(
|
||||
implementation.scheme.name,
|
||||
implementation.name,
|
||||
'.exe' if os.name == 'nt' else ''
|
||||
))],
|
||||
os.path.join('..', 'bin'),
|
||||
env=env,
|
||||
)
|
||||
# Remove files with ASAN library compiled in
|
||||
helpers.make('clean-scheme',
|
||||
TYPE=implementation.scheme.type,
|
||||
SCHEME=implementation.scheme.name,
|
||||
IMPLEMENTATION=implementation.name,
|
||||
working_dir=os.path.join('..', 'test'))
|
||||
try:
|
||||
helpers.run_subprocess(
|
||||
[os.path.join('..', 'bin', 'functest_{}_{}{}'.format(
|
||||
implementation.scheme.name,
|
||||
implementation.name,
|
||||
'.exe' if os.name == 'nt' else ''
|
||||
))],
|
||||
os.path.join('..', 'bin'),
|
||||
env=env,
|
||||
)
|
||||
except AssertionError as e:
|
||||
raise e
|
||||
finally:
|
||||
# Remove files with ASAN library compiled in
|
||||
helpers.make('clean-scheme',
|
||||
TYPE=implementation.scheme.type,
|
||||
SCHEME=implementation.scheme.name,
|
||||
IMPLEMENTATION=implementation.name,
|
||||
working_dir=os.path.join('..', 'test'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Loading…
Reference in New Issue
Block a user