3 ms·
There's an RFC for that: https://tools.ietf.org/html/rfc5869 https://tools.ietf.org/html/rfc5869 Doesn't look like the Go API[1] allows you to specify an outpu
by leetbulb 8y ago
There's an RFC for that: https://tools.ietf.org/html/rfc5869 https://tools.ietf.org/html/rfc5869
Doesn't look like the Go API[1] allows you to specify an output key material length, so you'd just truncate or iterate until you get however much material you need (The HKDF Wiki implementation does this[2]).
1: https://godoc.org/golang.org/x/crypto/hkdf https://godoc.org/golang.org/x/crypto/hkdf
2: https://en.wikipedia.org/wiki/HKDF#Example:_Python_implementation https://en.wikipedia.org/wiki/HKDF#Example:_Python_implement...
- throwaway_129 8y agoYou don't want to generate key material from a password with hkdf. From the RFC: On the other hand, it is anticipated that some applications will not be able to use HKDF "as-is" due to specific operational requirements, or will be able to use it but without the full benefits of the scheme. One significant example is the derivation of cryptographic keys from a source of low entropy, such as a user's password. The extract step in HKDF can concentrate existing entropy but cannot amplify entropy. In the case of password-based KDFs, a main goal is to slow down dictionary attacks using two ingredients: a salt value,and the intentional slowing of the key derivation computation. HKDF naturally accommodates the use of salt; however, a slowing down mechanism is not part of this specification. Applications interested in a password-based KDF should consider whether, for example, [PKCS5] meets their needs better than HKDF.
- leetbulb 8y agoAh, excuse my skimming. I wasn't aware it was being generated from a password. :x