Jeroen van Rijn
27667ce36b
iff -> if and only if (⟺)
2026-03-13 11:54:15 +01:00
Yawning Angel
ffa6fc2a67
core/crypto/_weierstrass: Add scalar field inversion
2026-02-20 03:59:34 +09:00
Jeroen van Rijn
cde6dc1f20
Remove core:mem import from core:crypto.
2026-02-12 16:52:25 +01:00
Yawning Angel
64ce2bdf0e
core/crypto/_weierstrass: Add secp384r1
2026-02-03 18:48:07 +09:00
Yawning Angel
bd0cfe4a81
core/crypto/_fiat: Minor p256 cleanups
2026-02-03 16:15:16 +09:00
Yawning Angel
8ee943fc0c
core/crypto/_weirstrass: Cosmetic fixes (NFC)
2026-02-02 11:00:09 +09:00
Yawning Angel
5ce448a8d5
core/crypto: Start work on the NIST curves
2026-01-28 22:50:27 +09:00
Yawning Angel
6bbd060352
core/crypto/_subtle: Refactor out common helpers
2026-01-28 22:20:03 +09:00
Yawning Angel
2f301e46dc
core/crypto: Switch to using ensure
2025-03-23 19:14:33 +09:00
Yawning Angel
9fdcc4e39a
core/crypto/x448: Initial import
2025-03-23 19:14:33 +09:00
Yawning Angel
bb395aeb41
core/crypto: Add rodata annotations (NFC)
2025-03-23 19:14:33 +09:00
Yawning Angel
e4e76f27f6
core/crypto: Use panic_contextless instead of intrinsics.trap
2025-03-23 19:14:33 +09:00
gingerBill
4b71c47fd5
Check for unneeded transmute with -vet-cast
2024-06-29 12:02:31 +01:00
Yawning Angel
d96f8bb5c1
core/crypto/ristretto255: Initial import
2024-04-09 14:37:59 +09:00
Yawning Angel
563c527419
core/crypto/_edwards25519: Initial import
2024-04-09 14:37:59 +09:00
Yawning Angel
fec42a6d74
core/crypto/_fiat/field_scalar25519: Initial import
2024-04-09 10:23:58 +09:00
Yawning Angel
4defe88dec
core/crypto/_fiat/field_poly1305: Mark more functions contextless
2024-04-09 10:23:58 +09:00
Yawning Angel
36f3001d59
core/crypto/_fiat/field_poly1305: Use multiply to calculate the mask
2024-04-09 10:23:58 +09:00
Yawning Angel
1ce279e6a1
core/crypto/_fiat/field_curve25519: Mark more functions contextless
2024-04-09 10:23:58 +09:00
Yawning Angel
c951cbdbbc
core/crypto/_fiat: odinfmt (NFC)
2024-04-09 10:23:58 +09:00
Yawning Angel
31aba5a728
core/crypto/_fiat/field_poly1305: Move routines (NFC)
2024-04-09 10:23:58 +09:00
Yawning Angel
9a418fd27b
core/crypto/_fiat/field_curve25519: Move routines (NFC)
2024-04-09 10:23:58 +09:00
Yawning Angel
f9b9521bf0
core/crypto/_fiat/field_curve25519: Use multiply to calculate the mask
...
Largely for consistency with the generic code, either is valid with Odin
semantics, but this is easier to comprehend.
2024-04-09 10:23:58 +09:00
Yawning Angel
1279ebe948
core/crypto/poly1305: Cleanups
...
- Use `encoding/endian`
2023-11-17 16:53:29 +09:00
Yawning Angel
d72db2698b
core/crypto/_fiat: Hedge against LLVM cleverness
...
Recent LLVM is getting smart to the point where the optimizer can change
a traditional constant-time conditional swap into a pointer swap.
Ensure that this does not happen by force-disabling optimization.
Additionally, disable inlining the relevant routines such that manual
inspection in optimized builds is still reasonably easy to do.
2023-04-08 09:57:47 +09:00
cui fliter
dc8b7a0eb8
fix some typos
...
Signed-off-by: cui fliter <imcusg@gmail.com >
2022-08-05 20:10:20 +08:00
gingerBill
3d7d347192
Convert ODIN_OS and ODIN_ARCH to use enums rather than use strings
2022-01-20 19:56:05 +00:00
gingerBill
29ebe0c3c9
Rename architecture 386 to i386
2022-01-15 17:40:00 +00:00
Yawning Angel
4647081f49
core/crypto/poly1305: Triple performance on amd64 with -o:speed
2021-11-17 13:59:53 +00:00
Yawning Angel
64db286582
core/crypto: Add poly1305
...
This package implements the Poly1305 MAC algorithm as specified in RFC
8439, using routines taked from fiat-crypto and poly1305-donna.
2021-11-17 13:59:53 +00:00
Yawning Angel
1a7a6a9116
core/crypto: Add x25519
...
This package implements the X25519 key agreement scheme as specified in
RFC 7748, using routines taken from fiat-crypto and Monocypher.
2021-11-17 13:59:53 +00:00