Linked Questions

14
votes
4answers
3k views

Is there a way to use bcrypt with passwords longer than 72 bytes securely?

From my understanding BCrypt truncates the password to 72 bytes. If a password is longer than 72 bytes, what is a way to store that password using bcrypt securely without compromising it? Or is this ...
3
votes
4answers
662 views

Theoretical notion of white-box

Is there any theoretically safe notion of white-box? I have been reading about white-box [1, 2, 3] recently. It seems white-box deals with code obfuscation and its not known whether a perfect white-...
15
votes
3answers
642 views

Expected entropy in $P(x)\oplus x$ for random $x$, where $P$ is a random permutation

Let $P$ be a random permutation of $n>1$ bits. Let $F$ be the function on the same domain $\{0,1\}^n$, defined by $F(x)=P(x)\oplus x$. When $P$ is a block cipher with key a message block, that's ...
11
votes
1answer
1k views

Entropy when iterating cryptographic hash functions

Consider a cryptographic hash function that maps $n$-bit strings to $n$-bit strings: $$ \DeclareMathOperator{\H}{H} \DeclareMathOperator{\SHA}{SHA-256} \H(x) : \left\{0,1\right\}^{n} \mapsto \left\{0,...
3
votes
2answers
284 views

Why not use ordinary hash functions for password hashing?

Assume we have a password and add a unique salt to prevent various precomputation attacks. Why don't we do this: SHA256(SHA256(SHA256 ...(Password || Salt))) ...
3
votes
2answers
416 views

If P256 ECDH shared secret contains ~128 bits of security, does using first half of the secret (= 128 bits) contain only 64 bits of security?

There's this rather popular open source project (I'd rather not name it before possible responsible disclosure) that computes a P256 ECDH shared secret (256 bits) and uses only first half of it, rams ...
4
votes
1answer
524 views

What if using a block cipher as compression function in Merkle–Damgård?

The Merkle–Damgård construction builds a hash by iterating a compression function $F$, with $S_{j+1}=F(B_j,S_j)$ where $B_j$ is one of $n$ padded message blocks, $S_0$ is the IV, and $S_n$ is the hash....
5
votes
2answers
332 views

Entropy preservation through cryptographic hash function

Background First, while studying MinEntropy a bit, I came across an NIST paper, "DRAFT SP 800-90B (second draft)," which suggests "twice" the entropy of the underlying block of a cryptographic hash ...
12
votes
1answer
285 views

Minimalist memory-hard function?

What would be a minimalist memory-hard function, reasonably conjecturable to require $\approx2^k$ bits of memory per running evaluation, $k\approx32$; require $\approx2^n$ R/W accesses to $2^w$-bit ...
5
votes
1answer
264 views

Can we estimate the loss of entropy when applying a N-bit hash function to and N-bit random input? [duplicate]

Someone pointed out recently to me that a cryptographic hash function " is not designed as a bijective mapping from N bit input to N bit output". So if I feed an N-bit cryptographic hash function ...
2
votes
1answer
112 views

Hash functions, bijectiveness, and entropy

For those who don't know, a bijective function is one for which each input yields one and only one output. A block cipher, for example, is guaranteed to be bijective or you could not decrypt. When a ...
1
vote
1answer
178 views

Is it OK to just hash a symmetric key to derive an authentication key?

I'm using xsalsa20poly1305 for encryption in my program from libsodium. The recommended size for chunks is 4 kB. In that case, poly1305 will have authentication only for the the individual 4k chunks. ...
1
vote
1answer
162 views

repeatedly hashing result and using reverse sequence as RNG secure?

I want to have a source of randomness for which: no one but me can predict the next number in the sequence. I know the entire sequence in advance, but I have no way of manipulating it once the first ...
1
vote
0answers
129 views

Does using pseudorandom generator more than once cause security loss?

Everytime we use the generator with itself there is security loss. Even if this loss is not enough to loose all cryptographic security, there is still some small loss in security. Is there any way to ...
2
votes
1answer
57 views

Does applying a "PushEntropy"-function increase security of a private key?

I was just reviewing the source-code of the NBitcoin-package. As far as i can see when you create a new bitcoin-keypair Key privateKey = new Key(); (without passing ...