73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
# 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.
|
|
|
|
import typing
|
|
|
|
from cryptography.hazmat.primitives.hashes import HashAlgorithm
|
|
from cryptography.utils import Buffer
|
|
|
|
def derive_pbkdf2_hmac(
|
|
key_material: Buffer,
|
|
algorithm: HashAlgorithm,
|
|
salt: bytes,
|
|
iterations: int,
|
|
length: int,
|
|
) -> bytes: ...
|
|
|
|
class Scrypt:
|
|
def __init__(
|
|
self,
|
|
salt: bytes,
|
|
length: int,
|
|
n: int,
|
|
r: int,
|
|
p: int,
|
|
backend: typing.Any = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class Argon2id:
|
|
def __init__(
|
|
self,
|
|
*,
|
|
salt: bytes,
|
|
length: int,
|
|
iterations: int,
|
|
lanes: int,
|
|
memory_cost: int,
|
|
ad: bytes | None = None,
|
|
secret: bytes | None = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: bytes) -> bytes: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
def derive_phc_encoded(self, key_material: bytes) -> str: ...
|
|
@classmethod
|
|
def verify_phc_encoded(
|
|
cls, key_material: bytes, phc_encoded: str, secret: bytes | None = None
|
|
) -> None: ...
|
|
|
|
class HKDF:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
salt: bytes | None,
|
|
info: bytes | None,
|
|
backend: typing.Any = None,
|
|
): ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class HKDFExpand:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
info: bytes | None,
|
|
backend: typing.Any = None,
|
|
): ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|