B
    h                 @   sd  d d gddgddgddggd d gddgddgddggd d gddgddgddgggZ ddd	d
ddd	d
d	d	d	d
d
Zdddddd d d gd dddddd d gd d dddddd gd d d dddddgdd d d ddddgddd d d dddgdddd d d ddgddddd d d dggZdgZxFedD ]:Zed d> ed A Zed@ d krHedN Zee qW d gd Zx eddD ]Zeeee < qnW dd Z	dd edD Z
de
d d< xPeddD ]BZedee   Zx*edD ]Zede ? d@ e
e e< qW qW d ddd d d ddgZdd edD ZxredD ]fZx^edD ]RZee ee e< x:edD ].Zee e  ee e e
e e  N  < qXW q:W q,W d gd Zd gd ZxledD ]`Zee d  d> ee< x4eddD ]&Zee  ee e de > N  < qW eeee d@ < qW ddddgddddgddddgddddggZdd edD ZxJedD ]>Zx6edD ]*Zee e ee e< dee ed < qnW q`W xedD ]Zee e ZxXedD ]LZee e d kredeee e d@   eed@   d  ee e< qW xledD ]`Zeekr xBeed dD ]0Zee e  e	ee e ee e N  < q>W d ee e< q W qW dd edD Zx>edD ]2Zx*edD ]Zee ed  ee e< qW qW dd Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Z xedD ]Zee Z!eee!ed   eee!ed  eee!ed  eee!ed  ee Z!eee!ed   eee!ed  eee!ed  eee!ed  eeeed   eeeed  eeeed  e eeed  q W dgZ"dZ#x(eddD ]Ze	de#Z#e"e# qBW dS )                      
         )                i  c             C   s4   | dks|dkrdS t t| d@  t|d@   d  S )Nr   r   )a_loglog)ab r   RC:\Users\sanjo\AppData\Local\Qlobot\Launcher\ext_packages\py3rijndael\constants.pymul%   s    r   c             C   s   g | ]}d gd qS )r      r   ).0ir   r   r   
<listcomp>+   s    r   r   c             C   s   g | ]}d gd qS )r   r   r   )r   r   r   r   r   r   5   s    c             C   s   g | ]}d gd qS )r   r   r   )r   r   r   r   r   r   M   s    c             C   s   g | ]}d gd qS )r   r   r   )r   r   r   r   r   r   _   s    c             C   s@   | dkrdS d}x*|D ]"}|dK }|dkr|t | |B }qW |S )Nr   r   )r   )r   bsZrrr   r   r   r   mul4f   s    
r      N)$shifts
num_roundsAr   ranger   jappendr   r   ZboxtBZcoxSSiGZAApivotZiGr   T1T2T3T4T5T6T7T8U1U2U3U4sr_conrr   r   r   r   <module>   s   


$:

&


:
0$

