File: //lib/python3/dist-packages/cryptography/hazmat/backends/__pycache__/interfaces.cpython-38.pyc
U
�e�]* � @ s� d dl mZmZmZ d dlZd dlZe�ej�G dd� de��Z e�ej�G dd� de��Z
e�ej�G dd� de��Ze�ej�G d d
� d
e��Ze�ej�G dd� de��Z
e�ej�G d
d� de��Ze�ej�G dd� de��Ze�ej�G dd� de��Ze�ej�G dd� de��Ze�ej�G dd� de��Ze�ej�G dd� de��Ze�ej�G dd� de��Ze�ej�G dd� de��ZdS )� )�absolute_import�division�print_functionNc @ s6 e Zd Zejdd� �Zejdd� �Zejdd� �ZdS )�
CipherBackendc C s dS )zI
Return True if the given cipher and mode are supported.
N� ��selfZcipher�moder r �I/usr/lib/python3/dist-packages/cryptography/hazmat/backends/interfaces.py�cipher_supported s zCipherBackend.cipher_supportedc C s dS )zF
Get a CipherContext that can be used for encryption.
Nr r r r r
�create_symmetric_encryption_ctx s z-CipherBackend.create_symmetric_encryption_ctxc C s dS )zF
Get a CipherContext that can be used for decryption.
Nr r r r r
�create_symmetric_decryption_ctx s z-CipherBackend.create_symmetric_decryption_ctxN)�__name__�
__module__�__qualname__�abc�abstractmethodr r r
r r r r
r s
r c @ s( e Zd Zejdd� �Zejdd� �ZdS )�HashBackendc C s dS )zQ
Return True if the hash algorithm is supported by this backend.
Nr �r � algorithmr r r
�hash_supported# s zHashBackend.hash_supportedc C s dS )zH
Create a HashContext for calculating a message digest.
Nr r r r r
�create_hash_ctx) s zHashBackend.create_hash_ctxN)r r r r r r r r r r r
r ! s
r c @ s( e Zd Zejdd� �Zejdd� �ZdS )�HMACBackendc C s dS )zb
Return True if the hash algorithm is supported for HMAC by this
backend.
Nr r r r r
�hmac_supported2 s zHMACBackend.hmac_supportedc C s dS �zQ
Create a context for calculating a message authentication code.
Nr )r �keyr r r r
�create_hmac_ctx9 s zHMACBackend.create_hmac_ctxN)r r r r r r r r r r r
r 0 s
r c @ s( e Zd Zejdd� �Zejdd� �ZdS )�CMACBackendc C s dS )zX
Returns True if the block cipher is supported for CMAC by this backend
Nr r r r r
�cmac_algorithm_supportedB s z$CMACBackend.cmac_algorithm_supportedc C s dS r r r r r r
�create_cmac_ctxH s zCMACBackend.create_cmac_ctxN)r r r r r r r r r r r
r @ s
r c @ s( e Zd Zejdd� �Zejdd� �ZdS )�PBKDF2HMACBackendc C s dS )zd
Return True if the hash algorithm is supported for PBKDF2 by this
backend.
Nr r r r r
�pbkdf2_hmac_supportedQ s z'PBKDF2HMACBackend.pbkdf2_hmac_supportedc C s dS )zN
Return length bytes derived from provided PBKDF2 parameters.
Nr )r r �length�saltZ
iterations�key_materialr r r
�derive_pbkdf2_hmacX s z$PBKDF2HMACBackend.derive_pbkdf2_hmacN)r r r r r r! r% r r r r
r O s
r c @ sR e Zd Zejdd� �Zejdd� �Zejdd� �Zejdd� �Zejd d
� �Z dS )�
RSABackendc C s dS )zq
Generate an RSAPrivateKey instance with public_exponent and a modulus
of key_size bits.
Nr �r Zpublic_exponent�key_sizer r r
�generate_rsa_private_keyb s z#RSABackend.generate_rsa_private_keyc C s dS )zQ
Returns True if the backend supports the given padding options.
Nr )r Zpaddingr r r
�rsa_padding_supportedi s z RSABackend.rsa_padding_supportedc C s dS )zg
Returns True if the backend supports the given parameters for key
generation.
Nr r'