Page MenuHomeFreeBSD

security/monocypher: NEW PORT - easy to use, deploy, auditable crypto library
Needs ReviewPublic

Authored by dch on Jul 13 2023, 1:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 2 2024, 12:48 PM
Unknown Object (File)
May 2 2024, 12:47 PM
Unknown Object (File)
May 2 2024, 11:11 AM
Unknown Object (File)
May 2 2024, 11:08 AM
Unknown Object (File)
May 2 2024, 10:37 AM
Unknown Object (File)
May 2 2024, 3:21 AM
Unknown Object (File)
Apr 29 2024, 8:08 AM
Unknown Object (File)
Apr 8 2024, 6:52 PM
Subscribers
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

It is written in portable C, and approaches the size of TweetNaCl,
and the speed of libsodium.

Test Plan

poudriere amd64 13.2-RELEASE OK, CURRENT OK

  • waiting on arm64

> Testing for monocypher-4.0.1

gmake[1]: Entering directory '/tmp/usr/ports/security/monocypher/work/monocypher-4.0.1'
cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -I src -I src/optional -I tests -fPIC -c -o lib/test.o tests/test.c
cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -I src -I src/optional -I tests -fPIC -c -o lib/utils.o tests/utils.c
cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -o test.out lib/test.o lib/utils.o lib/monocypher.o lib/monocypher-ed25519.o
./test.out

Random seed = 12345

Comparisons:

crypto_verify16
crypto_verify32
crypto_verify64

Encryption:

chacha20
Chacha20 (ctr)
Chacha20 (nullptr == zeroes)
Chacha20 (output == input)
ietf_chacha20
ietf Chacha20 (ctr)
xchacha20
XChacha20 (ctr)
hchacha20
HChacha20 (overlap)
aead_ietf
aead_8439
aead (roundtrip)
aead incr (roundtrip)

Hashes:

poly1305
Poly1305 (incremental)
Poly1305 (overlapping i/o)
blake2b
BLAKE2b (zero_input)
BLAKE2b (incremental)
BLAKE2b (overlapping i/o)
sha512
sha512_hmac
sha512_hkdf
SHA-512 (incremental)
SHA-512 (overlapping i/o)
HMAC SHA-512 (incremental)
HMAC SHA-512 (overlapping i/o)
argon2
Argon2 (overlapping i/o)

X25519:

x25519
x25519_pk
x25519 1
x25519 1K
x25519 (overlapping i/o)
x25519_inverse
x25519 inverse (overlapping i/o)

EdDSA:

EdDSA (scalarbase)
edDSA
edDSA_pk
EdDSA (roundtrip)
EdDSA (random)
EdDSA (overlap)
ed_25519
ed_25519_pk
ed_25519_check
ed_25519ph

Elligator:

elligator_dir
elligator direct (msb)
elligator direct (overlapping i/o)
elligator_inv
elligator inverse (overlapping i/o)
elligator x25519
elligator key pair
elligator key pair (overlapping i/o)

Curve25519 conversions:

X25519 <-> EdDSA

All tests OK!

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 52679
Build 49570: arc lint + arc unit