Questions tagged [libsodium]

"The sodium crypto library". A cryptographic multi-language-library with support for many modern cryptographic primitives, that is a fork of the NaCl library. The library focuses on providing easy-to-use cryptographic primitives.

Filter by
Sorted by
Tagged with
63 votes
3 answers
29k views

Why Curve25519 for encryption but Ed25519 for signatures?

NaCl and libsodium libraries use Curve25519 for authenticated encryption (actually for sharing a key which is used for encryption) and Ed25519 for signatures. What is the purpose of using different ...
Simon's user avatar
  • 731
14 votes
2 answers
10k views

How safe are Libsodium Crypto Boxes?

I am currently working on a huge PHP project and we are seriously considering to use the Libsodium PHP library in it. My question is related to the "sodium crypto box" functionality. We would use ...
abc's user avatar
  • 331
7 votes
2 answers
2k views

libsodium x25519 and Ed25519 small order check

Studying libsodium implementation of x25519 and Ed25519 I saw that it performs an small order check comparing given inputs with a hard coded blacklist of values. Is this list exhaustive or it is a ...
user3368561's user avatar
19 votes
2 answers
19k views

Argon2 output length and parameter storage?

I just started using the libsodium port for .net today and the output length parameter kind of confused me (I'm using the argon2i implementation). With my limited exposure to hashing, whatever hash ...
coding4fun's user avatar
3 votes
1 answer
867 views

How to find out the block size of Xchacha20 in Libsodium?

I heard that Xchacha20 works like a block cipher so that even if it wants to encrypt one byte, it will do the work of at least one block. So technically it works similar to a block cipher in counter ...
caveman's user avatar
  • 573
6 votes
2 answers
3k views

What is the difference between a sealed box and a normal box in libsodium?

I'm trying to learn libsodium to better my crypto knowledge. One nagging question I have is what is the difference between libsodium's sealed box and their normal box? Not in terms of technicalities ...
Sukima's user avatar
  • 161
4 votes
1 answer
2k views

How does constant-time comparison work?

libsodium has a method for comparing two byte sequences in constant time. Is the idea here to simply avoid early-out if a difference in the data is detected? When I first heard of such a thing I ...
user avatar
4 votes
1 answer
1k views

Why NaCL does not provide anonymous public key cryptography?

At the same time Sodium provides API for anonymous encryption without using ephemeral keys. Is it a bad practice to just use other user public key to encrypt a message?
Andrey Kuznetsov's user avatar
3 votes
2 answers
664 views

What is special about an entropy count (RNDGETENTCNT) of 160 for libsodium initialization?

(Moved from StackOverflow) In the Usage documentation for libsodium, before calling the initialization function sodium_init, they suggest you check the entropy ...
Zane Beckwith's user avatar
2 votes
2 answers
279 views

ECDH between identical public keys

We are using libsodium and regarding exchanging secrets we would like to use the so-called crypto_box (https://libsodium.gitbook.io/doc/public-key_cryptography/authenticated_encryption). Under the ...
Trafo's user avatar
  • 21
0 votes
1 answer
143 views

Verion of crypto_box() which doesn't allow the sender to decrypt previously sent messages

Libsodium's crypto_box() family of functions allow the sender to send messages using its public/private keypair knowing the receiver's public key, and allow the ...
dragonroot's user avatar