Your IP : 216.73.216.213
Bd\R41 � @ s� d Z d d l Z e j d d k rB e j d d k rB d d l Td d l Td Z d Z d Z d Z d Z d Z
d
Z d d d � Z Gd
d � d � Z
d S)z4Module with definitions common to all block ciphers.� N� � )�*� � � � � c C sK | j | � } t | � | k rA | r7 t d | � � | | } | pJ | S)zFFind a parameter in tuple and dictionary arguments a function receivesz!Parameter '%s' is specified twice)�get�len�
ValueError)�name�index�args�kwargs�defaultZparam� r �J/opt/alt/python35/lib64/python3.5/site-packages/Crypto/Cipher/blockalgo.py�
_getParameter| s
r c @ s: e Z d Z d Z d d � Z d d � Z d d � Z d S) � BlockAlgoz)Class modelling an abstract block cipher.c O s@ t d d | | d t �| _ | j | _ | j t k rc | j | | | � | _ | j j | _ n�d | _ d | _ t d d | | � | _ | j s� t
d � � | j | t t d � | j d | j d
�} t
| j � | j k r8| j | j | j d d � t d � | j d � d | j d � | _ n� t
| j � | j d k r�| j | _ | j | j t d � | j d � d | j d � | _ | j d d � | j d d � k r�t
d
� � | j d d � | _ n t
d | j | j d f � � | j | t | j | j d � d | j d
�| _ d S)N�moder r FZivr zMODE_OPENPGP requires an IV� Zsegment_size� r r z%Failed integrity check for OPENPGP IVz4Length of IV must be %d or %d bytes for MODE_OPENPGP���r ���r r )r �MODE_ECBr �
block_size�MODE_OPENPGP�new�_cipherZIV�_done_first_block�_done_last_blockr �MODE_CFB�br �encrypt�
_encrypted_IV�decrypt)�self�factory�keyr r Z IV_cipherr r r �__init__� s>