From 1f18f3b127b045f3f7b25227b8e0d6dd16465fc4 Mon Sep 17 00:00:00 2001 From: Loup Vaillant Date: Thu, 1 Sep 2022 18:47:41 +0200 Subject: [PATCH] Documented BLAKE2_NO_UNROLLING --- doc/man/man3/crypto_blake2b.3monocypher | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/man/man3/crypto_blake2b.3monocypher b/doc/man/man3/crypto_blake2b.3monocypher index 23f02d1..1913360 100644 --- a/doc/man/man3/crypto_blake2b.3monocypher +++ b/doc/man/man3/crypto_blake2b.3monocypher @@ -8,7 +8,7 @@ .\" .\" ---------------------------------------------------------------------------- .\" -.\" Copyright (c) 2017-2019 Loup Vaillant +.\" Copyright (c) 2017-2022 Loup Vaillant .\" Copyright (c) 2018 Michael Savage .\" Copyright (c) 2017, 2020-2022 Fabio Scotoni .\" All rights reserved. @@ -50,7 +50,7 @@ .\" with this software. If not, see .\" .\" -.Dd February 13, 2022 +.Dd September 1, 2022 .Dt CRYPTO_BLAKE2B 3MONOCYPHER .Os .Sh NAME @@ -310,3 +310,11 @@ computationally difficult hashing algorithms. Monocypher therefore provides .Xr crypto_argon2i 3monocypher for password hashing and deriving keys from passwords. +.Sh IMPLEMENTATION DETAILS +The core loop is unrolled by default. +This speeds up BLAKE2b by about 20% on modern processors. +On the other hand, +this inflates the binary size by several kilobytes, +and is slower on some embedded platforms. +To roll the loop and generate a smaller binary, +compile Monocypher with the -DBLAKE2_NO_UNROLLING option. -- 2.47.3