All Downloads are FREE. Search and download functionalities are using the official Maven repository.

name.neuhalfen.projects.crypto.symmetric.keygeneration.impl.stretching.KeyStretching Maven / Gradle / Ivy

The newest version!
package name.neuhalfen.projects.crypto.symmetric.keygeneration.impl.stretching;

import java.security.GeneralSecurityException;

/**
 * Encapsulates a key derivation function that stretches (strengthens) the key.
 *
 * Examples for key stretching functions are SCrypt and PBKDF.
 *
 * 

An implementation *instance*: *

* * must derive deterministically (always return the same key for the same input) * * may include other data in the derived key (e.g. an inherent salt) *

* Different *instances* may: * * derive a different key * * Further Reading: * * Key stretching on Wikipedia. * * NIST * Special Publication 800-132: Recommendation for Password-Based Key Derivation * * Key derivation function * on Wikipedia. */ public interface KeyStretching { byte[] strengthenKey(byte[] salt, byte[] keyToStrengthen, int desiredKeyLengthInBits) throws GeneralSecurityException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy