Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating to latest stable version of libsodium #2

Open
wants to merge 250 commits into
base: draft-irtf-cfrg-vrf-03
Choose a base branch
from

Conversation

MatusKysel
Copy link

@MatusKysel MatusKysel commented Aug 24, 2021

Updating to the latest stable version of libsodium could improve overall performance of VRF as there have been changes to the code that is used by VRF e.g. :
jedisct1@4967aa8
jedisct1@88c568a
...

jedisct1 and others added 30 commits January 30, 2019 18:46
…ULL.

Justifications:
- crypto_(auth|hash|generichash|onetimeauth|shorthash)*:
  it's legal to hash or HMAC a 0-length message
- crypto_box*: it's legal to encrypt a 0-length message
- crypto_sign*: it's legal to sign a 0-length message
- utils:
  comparing two 0-length byte arrays is legal
  memzero on a 0-length byte array is a no-op
  converting an empty hex string to binary results in an empty binary string
  converting an empty binary string to hex results in an empty hex string
  converting an empty b64 string to binary results in an empty binary string
  converting an empty binary string to b64 results in an empty b64 string
  sodium_add / sodium_sub on zero-length arrays is a no-op

For the functions declared in utils.h, I moved the logic into private functions that
have the __attribute__ ((nonnull)) check, but they are only called when the
corresponding length argument is non-0. I didn't do this for the hash/box/sign
functions since it would have been a lot more work and quite a large refactor.

Only memset() may have issues with a zero length.

Fix tests, use guard page instead of NULL because of Wasm
jedisct1 and others added 28 commits March 15, 2021 12:03
Uses cross-compilation to run make; make check uses qemu to execute the tests on virtualised ARM.
Build .net binaries targeting the various linux platforms as a self-contained deployment, then use QEMU to run those binaries on the appropriate architecture
Handle the Sun and the IBM compilers separately
@CLAassistant
Copy link

CLAassistant commented Aug 24, 2021

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 10 committers have signed the CLA.

✅ algoradam
✅ MatusKysel
❌ jedisct1
❌ jonglezb
❌ svvac
❌ enclave-alistair
❌ tniessen
❌ Alcaro
❌ infinitydev
❌ buu700
You have signed the CLA already but the status is still pending? Let us recheck it.

@MatusKysel MatusKysel changed the title Updating to latest sable version of libsodium Updating to latest stable version of libsodium Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.