Ñò šà>c @ sk d Z d d k Td d k l Z d e f d „ ƒ YZ d d „ Z d „ Z d e f d „ ƒ YZ e Z d S( s9 $Id: ElGamal.py,v 1.9 2003/04/04 19:44:26 akuchling Exp $iÿÿÿÿ( t *( t numbert errorc B s e Z RS( ( t __name__t __module__( ( ( s> /usr/lib64/python2.6/site-packages/Crypto/PublicKey/ElGamal.pyR s c C s¸ t ƒ } | o | d ƒ n t t | | ƒ ƒ | _ | o | d ƒ n | d t | d ƒ ƒ d @} | d j o | d } n xX t t | | ƒ ƒ | _ | i | i j o Pn | d | } | d j o d } q‡ q‡ | o | d ƒ n x/ | d t | d ƒ ƒ } | d j o Pq÷ q÷ xX t t | | ƒ ƒ | _ | i | i j o Pn | d | } | d j o d } q)q)| o | d ƒ n t | i | i | i ƒ | _ | S( sí generate(bits:int, randfunc:callable, progress_func:callable) Generate an ElGamal key of length 'bits', using 'randfunc' to get random data and 'progress_func', if present, to display the progress of the key generation. s p s g i i? i i s x i s y ( t ElGamalobjt bignumt getPrimet pt ordt gt xt powt y( t bitst randfunct progress_funct objt size( ( s> /usr/lib64/python2.6/site-packages/Crypto/PublicKey/ElGamal.pyt generate sB c C sk t ƒ } t | ƒ d j o t d ‚ n x; t t | ƒ ƒ D]' } | i | } t | | | | ƒ q<