I really wish I had the skill sets to contribute!

I basically left programming around '89 and have been a dilettante on those things I need to program.  I read lots of examples for what little python I have needed.

That said, given KMAC I would use it!  I do use CSHAKE from pycryptodomex to support our RFC 9374 scripts.  See

https://github.com/ietf-wg-drip/drip-scripts

On 1/12/25 12:03, Alex Gaynor wrote:
There's a request for KMAC,
https://github.com/pyca/cryptography/issues/12141. Thus far no work
has happened on it. If you're interested in contributing, we're happy
to review a PR.

Alex

On Sun, Jan 12, 2025 at 12:02 PM Sriram R via Cryptography-dev
<cryptography-dev@python.org> wrote:
Robert,

Appreciate the links to the articles, read them and they are very informative.

RFC 5869 does have this phrase:

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.

This statement sounds like keys derived from a user's password might be weaker 
than keys derived from random input keying material. Is that not how one should
interpret this statement in the RFC?

Based on the popularity of password-based KDF, I'm guessing this is not a 
concern?

To the pyca/cryptography team:

Is the development of a KMAC module on the roadmap? And if so, kindly 
requesting to share the timeline for planning purposes. My team has a 
requirement to implement

quantum-resistant algorithms when and where possible and since KMAC is 
quantum-resistant we're very much interested in adopting it.


Best,

PE


On Sat, Jan 11, 2025 at 4:57 PM Robert Moskowitz <r...@htt-consult.com> wrote:
read

RFC 5869 HMAC-based Extract-and-Expand Key Derivation Function (HKDF). H.
      Krawczyk, P. Eronen. May 2010. (Format: TXT, HTML) (Status:
      INFORMATIONAL) (DOI: 10.17487/RFC5869)

On the proper way to use a keyed SHA2 hash as a KDF.

Hash chains build off a secret key are considered not safe.

For SHA3, KMAC (NIST SP800-185) is a proven KDF.

See:

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1-upd1.pdf

Sec 4.4.

I have had the privilege of direct conversations with Dr. Krawczyk even prior 
to his presentation on  keyed hash attacks in 1995 and the reason for the HMAC 
(RFC2104) construct.

And I have had the privilege of following along with Team Keccak on the 
development of what is now SHA3 and its derivatives.  We are finally seeing an 
uptick in replacing HMAC/HKDF with KMAC.

On 1/10/25 17:00, Sriram R via Cryptography-dev wrote:

Hello,

I'm generating a key using Scrypt from a password supplied by the user. I then 
use this key as follows. This works but my question to the experts: is this an 
acceptable way to use the AESGCMSIV cipher? Am I doing something that's 
fundamentally against best practices? In the examples on the Cryptography site, 
the sample code snippet uses AESGCMSIV.generate_key() method to generate the 
key instead. The requirement I have is to generate the key that's based on a 
password.

def gen_salt(size=32):
   return secrets.token_bytes(size)

def der_key(salt, password):
   kdf = Scrypt(salt=salt, length=32, n=2**20, r=8, p=1)
   return kdf.derive(password.encode())

def gen_symmkey(salt, password):
   symmkey = der_key(salt, password)
   return symmkey

  key = gen_symmkey(salt, password)
  aesgcmsiv = AESGCMSIV(key)

ct = aesgcmsiv.encrypt(nonce, file_data, aad)
with open(fname, "wb") as outfile:
      outfile.write(ct)

Best,
PE


_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev


_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev



_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev

Reply via email to