Frank Denis
584f61dcd4
Use uint64_t sizes in aegis*_mac()
...
No-op in libsodium for now, but useful if we introduce a streaming
API later.
2024-12-04 17:22:07 +01:00
Frank Denis
985ad65bfb
Remove a non-constant modulo operation in argon2
...
Adapted from a change originally written by @Sc00bz
2024-11-09 13:24:26 +01:00
Frank Denis
cd92e5cfc8
Sync softaes with libaegis
2024-10-23 22:10:27 +02:00
Frank Denis
0c1a25e9d1
Use an optblocker in crypto_verify_n()
2024-10-23 19:58:33 +02:00
Frank Denis
51d2455cd8
Decrement and shift in separate steps
2024-10-23 19:51:10 +02:00
Frank Denis
d0eb23e532
Add assembly versions of equal() and negative()
2024-10-23 19:24:13 +02:00
Frank Denis
d6dd9c3ce0
More optblocker usage
2024-10-23 19:08:20 +02:00
Frank Denis
b1f9c53875
Add another optblocker
2024-10-23 18:42:48 +02:00
Frank Denis
7154fb9041
randombytes_internal_random.c: move clang target attribute down
...
Specifically, move it after the system includes.
This appears to address an issue with clang 18 when cross-compiling
to windows.
Fixes #1413
2024-09-26 21:59:59 +02:00
Frank Denis
beec06eb46
Revert "RFC9381 ECVRF implementation ( #1188 )"
...
This reverts commit 7978205916
.
2024-09-25 21:37:31 +02:00
mschwarzl
1012bbc380
Support for Cloudflare Workers for javascript_stir ( #1401 )
...
* Support for Cloudflare Workers for javascript_stir
* Ramove debugging comment
---------
Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
2024-08-13 21:40:10 +02:00
Frank Denis
6edcd85169
Add another optblocker
2024-08-01 14:32:16 +02:00
Frank Denis
92611e300d
Start introducing optblockers to prevent unwanted conditional jumps
2024-08-01 14:25:32 +02:00
Frank Denis
633f922791
Indent
2024-08-01 13:56:57 +02:00
SeungHwan Hur
e1861bb935
help MSVC optimize ROL/ROR functions ( #1392 )
2024-08-01 13:55:04 +02:00
Frank Denis
4a15ab7cd0
fe25519_{abs,cneg} require a single argument
...
They were always used with the same input and output pointers,
so their definition can be simplified.
Fixes #1376
2024-05-30 16:06:56 +02:00
Frank Denis
704e97fdf5
Proper zeroization in hkdf
...
Fixes #1375
2024-05-30 15:56:54 +02:00
Iñigo Querejeta Azurmendi
7978205916
RFC9381 ECVRF implementation ( #1188 )
...
* Version 12 of ECVRF
* Incorrect ordering of function inputs
* Identation and notation
* single multiscalar multiplication function
Also changed the style of tests, where the expected output is in vrf.exp rather than in test data (following the style of the hashing).
* declarations inside the if code block
* identation of test_data
* Rename to RFC9381
* Move declarations to top of block
* Check small order over deserialised PK
* Include from_string functions in ed25519_ref10
* Update quirks.h
---------
Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
2024-05-25 18:55:14 +02:00
Frank Denis
a67325c42c
AEGIS: improve performance of AD absorption on x86_64
...
No apparent regression on other platforms.
Adapted from libaegis.
2024-05-25 00:41:08 +02:00
Frank Denis
4ad956470f
Explicitly enabling evex512 is now required with LLVM 18
2024-05-09 22:27:45 +02:00
Frank Denis
da0ce565d2
Use clang pragmas to enable features rather than depend on compiler settings
2024-04-27 23:05:38 +02:00
Frank Denis
edb94a99a6
Remove redundant definition
2024-04-26 13:50:40 +02:00
Andrzej Fiedukowicz
b564794edd
Move includes in crypto_onetimeauth_poly1305.h outside of extern C ( #1345 )
...
Includes being outside of `extern "C"` are de-facto standard in all other include files of libsodium.
At the same time, having inside the `extern "C"` is causing problem with C++ vs. C toolchain being confused about which libraries should be linked. This was especially painful while working on `swift-sodium` integration with windows.
2024-01-17 15:06:11 +01:00
Frank Denis
4c56848dcc
When using MSVC on aarch64, __ARM_ARCH is not defined
...
Reported by RADDI.net -- Thanks!
2024-01-07 16:14:21 +01:00
Frank Denis
44b99c5a23
Add forgotten crypto_kdf_hkdf_sha512_statebytes()
2023-11-29 22:02:37 +01:00
Frank Denis
39184b5b96
Include argon2id in crypto_pwhash_primitive()
...
Fixes #1331
2023-11-10 12:12:02 +01:00
Frank Denis
b5eaa810c8
Revert "Include argon2id in crypto_pwhash_primitive()"
...
This reverts commit a2b12dfcc0
.
2023-11-10 12:10:10 +01:00
Frank Denis
a2b12dfcc0
Include argon2id in crypto_pwhash_primitive()
...
Fixes #1331
2023-11-10 11:30:47 +01:00
Frank Denis
6ee5a73452
Add a comment where coordinates are expected to be normalized
2023-11-08 07:37:12 +01:00
Frank Denis
51126865d0
_M_AMD64 is the same as _M_X64
2023-11-02 06:40:17 +01:00
Frank Denis
1d03ea77fb
Make aegis_mac() fallible
...
So that we can include additional checks, especially for weak states.
Ideally, weak states should be checked after every update, but they
would be especially bad when the cipher is used as a stream cipher.
And in that case, checking for a weak state only at the end is
sufficient.
2023-11-01 19:12:15 +01:00
Frank Denis
8f453f41f8
aarch64: set compiler attributes *after* including <arm_neon.h>
...
Fixes #1321
2023-10-20 13:47:57 +02:00
Ørjan Malde
0bbfe33ba9
midipix support ( #1315 )
2023-09-14 18:00:27 +02:00
Frank Denis
f26b9f72eb
Use ANDROID_CPU_ARM64_FEATURE_AES for AES detection on Android/aarch64
2023-09-13 08:59:14 +02:00
Frank Denis
45aa3adb96
Handle SIGPROT, CHERI's in-address space security exception
2023-09-12 21:02:18 +02:00
Frank Denis
38ada39711
Forgotten attribute pop
2023-09-12 16:02:49 +02:00
Frank Denis
8b1f568cb1
aarch64: try harder when checking for the crypto extensions
2023-09-12 15:57:03 +02:00
Frank Denis
1074191f87
Don't hardcode type sizes
2023-09-12 12:51:53 +02:00
Frank Denis
605382399b
Promote HKDF to minimal builds
2023-09-11 19:31:38 +02:00
Frank Denis
1ef7b43ae9
Switch AEGIS to 256-bit tags by default
2023-09-11 18:02:24 +02:00
Frank Denis
b7ac85b5b7
Don't hardcode the AEGIS tag length
2023-09-11 17:38:29 +02:00
Frank Denis
9db77385d0
Visual Studio: define __ARM_NEON on Windows/ARM
2023-09-11 00:58:53 +02:00
Frank Denis
08070591be
Define additional capabilities when using Visual Studio
2023-09-11 00:52:12 +02:00
Frank Denis
3567436865
Replace the aegis256 implementation with the libaegis implementation
2023-09-09 20:20:54 +02:00
Frank Denis
e494ce3e69
Move sodium implementations out of their dedicated directory
2023-09-09 17:24:49 +02:00
Frank Denis
3acf050566
Replace aegis128l implementation with libaegis' implementation
2023-09-09 17:24:46 +02:00
Frank Denis
94c650ae80
Proper casts for C++
2023-09-08 23:35:24 +02:00
Frank Denis
c3692bbe0f
Revert "C++ compat"
...
This reverts commit 48a679650e
.
2023-09-08 23:31:27 +02:00
Frank Denis
4776f392ab
Simplify how non-deterministic ed25519 nonces are computed
2023-09-08 23:30:25 +02:00
Frank Denis
48a679650e
C++ compat
2023-09-08 20:59:33 +02:00