Last question, does the salt data need to be encrypted when storing or is it not sensitive information?
On Sat, Jan 11, 2025, 6:22 AM Alex Gaynor <[email protected]> wrote: > In general, using the output of a KDF as the key for symmetric > encryption is fine. > > Alex > > On Fri, Jan 10, 2025 at 5:01 PM Sriram R via Cryptography-dev > <[email protected]> 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 > > [email protected] > > https://mail.python.org/mailman/listinfo/cryptography-dev > > > > -- > All that is necessary for evil to succeed is for good people to do nothing. >
_______________________________________________ Cryptography-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/cryptography-dev
