New answers tagged

3

RFC4868 is not the HMAC RFC, which is actually RFC 2104. 4868 refers to the use of HMAC within IPSEC, which is why there is a key length restriction. The maximum length key that can be used internally with HMAC-SHA256 is equal to the block size, 64 bytes or 512 bits. This can be useful in cases where the key is not full entropy such as the shared secret ...


1

The question why these things are chosen is not really answerable, except by the persons involved at NIST. I don't think there is too much to test though; after you test a few vectors you're testing the hash function rather than the HMAC. A quick test shows the test vector in RFC 4868 2.7.2.1. SHA256 Authentication Test Vectors to be correct, in case you ...


0

It is not safe at all since Factoring as a service project (https://github.com/eniac/faas) together with Amazon EC2 allows the factorization of a 512-bit key for less than $100 in only a few hours.


5

Many keys do not consist of a single value. Other key types, such as most symmetric keys, don't have a most significant bit or byte as the key value isn't interpreted as an integer. So this question would be different for each key type and encoding. In general though you would just decrease the "entropy" or key size. This is certainly the case for ECC, and ...


3

If a cryptosystem is expecting a 16-byte key, making the first byte nonzero simply reduces the number of possible keys. It is better to allow all bytes to be all values.


0

Permuted Choice 1 selects 28 bits for C and 28 bits for D from the input 64 bits. The remaining 8 bits are odd byte parity. From FIPS 46-3, Data Encryption Standard (DES) (withdrawn May 19, 2005) We see Permuted Choice 1 expressed (PDF page 24): Reading the text associated with the table you'll find there are two groups of 28 input values each ...


1

The parity bits act as error checking. In effect there is only 56 bits being used for entropy. Also This question has already been answered. See similar question here or here


4

Each 56-bit key has a unique 8-bit parity value. For this reason there are only $2^{56}$ keys.



Top 50 recent answers are included