In cryptography, a key derivation function (or KDF) derives one or more secret keys from a secret value such as a master key or other known information such as a password or passphrase using a pseudo-random function. Keyed cryptographic hash functions are popular examples of pseudo-random functions ...
0
votes
0answers
54 views
How do I generate decryption keys for the IDEA algorithm from the 128 bit key?
I am trying to implement IDEA algorithm in C#, just to learn how it works. I have taken a 128 bit binary key and generated the 52 encryption keys using the following code:
...
3
votes
2answers
114 views
Simple RC4 key generation scheme
I would like to ask you about your opinion on the following scheme of combining a master key and a nonce and stretching the result to the full 256-bytes RC4 key.
Master key $K_m$ is a pre-shared ...
0
votes
1answer
67 views
Is the following key stretching algorithm as memory hard as I think it is?
I'm having some fun designing a key stretching algorithm that can be implemented in pure Python. It's built entirely out of the standard library's hash functions in an attempt to at least wrest some ...
1
vote
1answer
98 views
Master keys for decrypting?
I'm not a Cryptography expert, but i've seen this topic sometimes on the Web: Master decrypt keys.
Most of the people said that "Master decrypt key" does not exist.
This makes sense if you developed ...
8
votes
3answers
224 views
PBKDF2 for key diversification
I am looking for a secure key diversification function to create individual AES keys for a local smart card deployment. The keys need to be derived from a secret master key and the smart card serial ...
3
votes
1answer
202 views
How to salt PBKDF2, when generating both an AES key and a HMAC key for Encrypt then MAC?
When using Encrypt-then-MAC with AES and HMAC by password, and given 128 bits of payload with the ciphertext to store a random salt, which would be more secure:
Using PBKDF2 with then entire 128 bit ...
6
votes
2answers
280 views
Deriving Keys for Symmetric Encryption and Authentication
So here's the concept. Rather than storing 2 keys and using a random IV, which presents its own problems (key rotation, ensuring no key is used in more than 2^32 cycles, sharing the keys, etc), is it ...
5
votes
4answers
362 views
Creating an encryption key from several other keys and using hash functions
I want to combine two or more keys to create a single encryption key that relies on all of them. What is the proper method for doing that? Simple XOR? Using hash functions? Something else?
I ...
1
vote
3answers
124 views
Deterministic key generation
In a situation where it is required to generate n number of keys deterministically from a single piece of seed information can we assume that b breached number of keys, no matter what the quantity ...
3
votes
2answers
233 views
Can I use guids / uuids as counters for key derivation?
I have a 512 bit master key, and 128 bit unique identifiers. I'm going to derive 256 bit keys to for use with deterministic and block ciphers.
For reference, The KDF I'm going to use is Hash( C | ...
5
votes
2answers
168 views
Which risks are associated with deriving multiple keys from the same DH secret Z?
NIST recommends Krawczyk's HMAC-based key derivation function (HKDF) in SP-800-56C (PDF). HKDF shall e.g. be used to create keys from shared secrets after Diffie Hellman key establishment.
NIST ...
0
votes
1answer
71 views
On the fly key generation for cloud storage objects
Cryptographic key management involves storing and managing encryption decryption keys , certificates , signatures etc .
If the requirement is just to store and manage object specific keys ( say ...
0
votes
2answers
200 views
Key derivation from a random seed
The main problem is to use a block cipher to generate a random key.
I would like to generate 256-bits key which can be as random as possible. I generate it in the following way:
Pick a plaintext ...
4
votes
1answer
213 views
What's the difference between a Key Derivation Function and a Password-Hash?
It seems to me that anything that was sufficiently good as a KDF would work just fine as a password hash, though the reverse might not be true. Are there considerations specific to password-hashing ...
3
votes
4answers
1k views
PBKDF2 and salt
I want to ask some questions about the PBKDF2 function and generally about the password-based derivation functions.
Actually we use the derivation function together with the salt to provide ...
1
vote
1answer
172 views
Can iterated key expansion in Blowfish slow down bruteforce attacks on small key sizes?
Suppose I have to use 64-bit keys for encryption (e.g. to comply with export restrictions). For this question, assume this key is truly random, and the encryption algorithm is Blowfish.
Blowfish key ...
2
votes
1answer
180 views
What are the safe ways to derive HMAC key using block cipher?
Suppose we have a state of block cipher initialized with some key unknown to us, that is, we have the state after running key schedule, but we have no access to actual key or subkeys, all we can do is ...
2
votes
1answer
124 views
Is it OK to use a data-encryption key for key wrapping, too?
Our industry (area of cheap networked devices) has a standard that defines the usage of keys for both authentication and encryption using EAX mode of AES. This standard does not define key management, ...
1
vote
3answers
216 views
Entropy of system data - use all and hash, or trim least significant bits?
I'm working on a background entropy collector for key generation that monitors hardware and produces an entropy pool.
Here's my list of sources:
Mouse position
Keyboard timings (i.e. time between ...
3
votes
1answer
155 views
3
votes
1answer
160 views
Using a derived key for CMAC
Consider the following authenticate-and-encrypt scheme that uses AES-128 in CBC mode for encryption and AES-128 - based CMAC for authentication:
Two keys are derived from the master key k (16 byte): ...
4
votes
4answers
1k views
How can one securely generate an asymmetric key pair from a short passphrase?
Background info:
I am planning on making a filehost with which one can encrypt and upload files. To protect the data against any form of hacking, I'd like not to know the encryption key ($K$) used for ...
3
votes
2answers
569 views
How key materials are generated in SSL V3 from master secret
The generation of key materials is given by
...
2
votes
2answers
197 views
Questions about Key Derivation Functions
My understanding is that a KDF is a function that takes a master secret and generates multiple keys. It is secure as long as the keys are "independent". If this is true, the following definition would ...
1
vote
1answer
734 views
Is AES restricted to only 64 characters for the key/password?
I am wondering if AES only supports 64 character passwords?
When using truecrypt, the maximum character limit on passwords is 64 characters; however, when using WinRAR, the limit is 128 characters.
...
1
vote
2answers
210 views
How to generate successive stream-cipher keys?
I've identified a weakness in a distributed simulation system I'm looking at, and I'm looking for some advice on how to fix it.
Clients initially negotiate an authentication token with a login server ...
1
vote
1answer
230 views
Can I secure my key by XORing it with a hashed password?
I'd like to build a simple password-protected symmetric key system. The key-creation process in my system operates as follows:
The system creates a 256-bit key purely at random.
The user chooses a ...
4
votes
4answers
264 views
Are derived hashes weakening the root?
Given a root hash
root = H(plaintext)
and two (or more) derived hashes
h1 = H(salt1 + root)
h2 = H(salt2 + root)
would the ...
1
vote
1answer
629 views
How does PBKDF1 work?
I need some basic guideline on Password Based Key Derivation Function. PBKDF1 generates a key from password and salt using Hashing algorithm (like SHA1, SHA256, MD5).
What is the step behind this?
5
votes
1answer
577 views
Is the AES Key Schedule weak?
After reading this paper entitled Key Recovery Attacks of Practical Complexity on AES Variants With Up To 10 Rounds I was left wondering why the key schedule of AES is invertable.
In the paper the ...
6
votes
1answer
273 views
Compressing EC private keys
For reasonable security, EC private keys are typically 256-bits. Shorter EC private keys are not sufficiently secure. However, shorter symmetric keys (128-bits, for example) are comparably secure.
I ...
3
votes
1answer
178 views
How safe is it to derive MAC key from a hashed password?
Imagine I have a blob that I want to encrypt-then-MAC. Now, what I can realistically ask my users for (out of UX considerations) is just an encryption password. Naturally, I bcrypt original password ...
3
votes
3answers
179 views
Derived Shared Key vs Distinct Keys?
I've seen a lot of 2-party applications that derive a shared key from distinct keys created by each party.
Why is this technique employed? Would it not be better to use those two distinct keys for ...
6
votes
2answers
248 views
Key Length & Hashing
I need to use a hash function to generate a 128-bit key for a symmetric cipher. The specific cipher is from the eStream portofolio, called Rabbit.
I am using the SRP protocol for authentication (a ...
10
votes
5answers
632 views
Why does PBKDF2 xor the iterations of the hash function together?
The definition of PBKDF2 states that I obtain a derived key* by calling a pseudorandom function a bunch of times recursively:
...