Source code for cryptography.hazmat.primitives.kdf

# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.

from __future__ import absolute_import, division, print_function

import abc

import six

[docs]@six.add_metaclass(abc.ABCMeta) class KeyDerivationFunction(object):
[docs] @abc.abstractmethod def derive(self, key_material): """ Deterministically generates and returns a new key based on the existing key material. """
[docs] @abc.abstractmethod def verify(self, key_material, expected_key): """ Checks whether the key generated by the key material matches the expected derived key. Raises an exception if they do not match. """