206 lines
6.5 KiB
Python
206 lines
6.5 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.hazmat.primitives.kdf.kbkdf import CounterLocation, Mode
|
|
from cryptography.utils import Buffer
|
|
|
|
class PBKDF2HMAC:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
salt: bytes,
|
|
iterations: int,
|
|
backend: typing.Any = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
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 derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class Argon2d:
|
|
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 derive_into(self, key_material: bytes, buffer: Buffer) -> int: ...
|
|
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 Argon2i:
|
|
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 derive_into(self, key_material: bytes, buffer: Buffer) -> int: ...
|
|
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 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 derive_into(self, key_material: bytes, buffer: Buffer) -> int: ...
|
|
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,
|
|
): ...
|
|
@staticmethod
|
|
def extract(
|
|
algorithm: HashAlgorithm, salt: bytes | None, key_material: Buffer
|
|
) -> bytes: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
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 derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class X963KDF:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
sharedinfo: bytes | None,
|
|
backend: typing.Any = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class ConcatKDFHash:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
otherinfo: bytes | None,
|
|
backend: typing.Any = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class ConcatKDFHMAC:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
length: int,
|
|
salt: bytes | None,
|
|
otherinfo: bytes | None,
|
|
backend: typing.Any = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class KBKDFHMAC:
|
|
def __init__(
|
|
self,
|
|
algorithm: HashAlgorithm,
|
|
mode: Mode,
|
|
length: int,
|
|
rlen: int,
|
|
llen: int | None,
|
|
location: CounterLocation,
|
|
label: bytes | None,
|
|
context: bytes | None,
|
|
fixed: bytes | None,
|
|
backend: typing.Any = None,
|
|
*,
|
|
break_location: int | None = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|
|
|
|
class KBKDFCMAC:
|
|
def __init__(
|
|
self,
|
|
algorithm: typing.Any,
|
|
mode: Mode,
|
|
length: int,
|
|
rlen: int,
|
|
llen: int | None,
|
|
location: CounterLocation,
|
|
label: bytes | None,
|
|
context: bytes | None,
|
|
fixed: bytes | None,
|
|
backend: typing.Any = None,
|
|
*,
|
|
break_location: int | None = None,
|
|
) -> None: ...
|
|
def derive(self, key_material: Buffer) -> bytes: ...
|
|
def derive_into(self, key_material: Buffer, buffer: Buffer) -> int: ...
|
|
def verify(self, key_material: bytes, expected_key: bytes) -> None: ...
|