gdata.Crypto.PublicKey.ElGamal | index /usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/Crypto/PublicKey/ElGamal.py

`# ElGamal.py : ElGamal encryption/decryption and signatures
#
# Part of the Python Cryptography Toolkit
#
# Distribute and use freely; there are no restrictions on further
# dissemination and usage except those imposed by the laws of your
# country of residence. This software is provided "as is" without
# warranty of fitness for use or suitability for any purpose, express
# or implied. Use at your own risk or not at all.
#`

Modules
`` |  |
math Crypto.Util.number | struct sys | types warnings |

Classes
`` |  | Crypto.PublicKey.pubkey.pubkey ElGamalobj ElGamalobj exceptions.Exception(exceptions.BaseException) error
class ElGamalobj(Crypto.PublicKey.pubkey.pubkey)
`` |  | Methods defined here: has_private(self) `Return a Boolean denoting whether the object contains private components.` publickey(self) `Return a new key object containing only the public information.` size(self) `Return the maximum number of bits that can be handled by this key.` Data and other attributes defined here: keydata = ['p', 'g', 'y', 'x'] Methods inherited from Crypto.PublicKey.pubkey.pubkey: __eq__(self, other) `__eq__(other): 0, 1 Compare us to other for equality.` __getstate__(self) `To keep key objects platform-independent, the key data is converted to standard Python long integers before being written out. It will then be reconverted as necessary on restoration.` __init__(self) __ne__(self, other) `__ne__(other): 0, 1 Compare us to other for inequality.` __setstate__(self, d) `On unpickling a key object, the key data is converted to the big number representation being used, whether that is Python long integers, MPZ objects, or whatever.` blind(self, M, B) `blind(M : string|long, B : string|long) : string|long Blind message M using blinding factor B.` can_blind(self) `can_blind() : bool Return a Boolean value recording whether this algorithm can blind data. (This does not imply that this particular key object has the private information required to to blind a message.)` can_encrypt(self) `can_encrypt() : bool Return a Boolean value recording whether this algorithm can encrypt data. (This does not imply that this particular key object has the private information required to to decrypt a message.)` can_sign(self) `can_sign() : bool Return a Boolean value recording whether this algorithm can generate signatures. (This does not imply that this particular key object has the private information required to to generate a signature.)` decrypt(self, ciphertext) `decrypt(ciphertext:tuple|string|long): string Decrypt 'ciphertext' using this key.` encrypt(self, plaintext, K) `encrypt(plaintext:string|long, K:string|long) : tuple Encrypt the string or integer plaintext. K is a random parameter required by some algorithms.` sign(self, M, K) `sign(M : string|long, K:string|long) : tuple Return a tuple containing the signature for the message M. K is a random parameter required by some algorithms.` unblind(self, M, B) `unblind(M : string|long, B : string|long) : string|long Unblind message M using blinding factor B.` validate(self, M, signature) `# alias to compensate for the old validate() name` verify(self, M, signature) `verify(M:string|long, signature:tuple) : bool Verify that the signature is valid for the message M; returns true if the signature checks out.`
class error(exceptions.Exception)
`` |  | Method resolution order: error exceptions.Exception exceptions.BaseException __builtin__.object Data descriptors defined here: __weakref__ `list of weak references to the object (if defined)` Methods inherited from exceptions.Exception: __init__(...) `x.__init__(...) initializes x; see help(type(x)) for signature` Data and other attributes inherited from exceptions.Exception: __new__ = <built-in method __new__ of type object> `T.__new__(S, ...) -> a new object with type S, a subtype of T` Methods inherited from exceptions.BaseException: __delattr__(...) `x.__delattr__('name') <==> del x.name` __getattribute__(...) `x.__getattribute__('name') <==> x.name` __getitem__(...) `x.__getitem__(y) <==> x[y]` __getslice__(...) `x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported.` __reduce__(...) __repr__(...) `x.__repr__() <==> repr(x)` __setattr__(...) `x.__setattr__('name', value) <==> x.name = value` __setstate__(...) __str__(...) `x.__str__() <==> str(x)` __unicode__(...) Data descriptors inherited from exceptions.BaseException: __dict__ args message
object = class ElGamalobj(Crypto.PublicKey.pubkey.pubkey)
`` |  | Methods defined here: has_private(self) `Return a Boolean denoting whether the object contains private components.` publickey(self) `Return a new key object containing only the public information.` size(self) `Return the maximum number of bits that can be handled by this key.` Data and other attributes defined here: keydata = ['p', 'g', 'y', 'x'] Methods inherited from Crypto.PublicKey.pubkey.pubkey: __eq__(self, other) `__eq__(other): 0, 1 Compare us to other for equality.` __getstate__(self) `To keep key objects platform-independent, the key data is converted to standard Python long integers before being written out. It will then be reconverted as necessary on restoration.` __init__(self) __ne__(self, other) `__ne__(other): 0, 1 Compare us to other for inequality.` __setstate__(self, d) `On unpickling a key object, the key data is converted to the big number representation being used, whether that is Python long integers, MPZ objects, or whatever.` blind(self, M, B) `blind(M : string|long, B : string|long) : string|long Blind message M using blinding factor B.` can_blind(self) `can_blind() : bool Return a Boolean value recording whether this algorithm can blind data. (This does not imply that this particular key object has the private information required to to blind a message.)` can_encrypt(self) `can_encrypt() : bool Return a Boolean value recording whether this algorithm can encrypt data. (This does not imply that this particular key object has the private information required to to decrypt a message.)` can_sign(self) `can_sign() : bool Return a Boolean value recording whether this algorithm can generate signatures. (This does not imply that this particular key object has the private information required to to generate a signature.)` decrypt(self, ciphertext) `decrypt(ciphertext:tuple|string|long): string Decrypt 'ciphertext' using this key.` encrypt(self, plaintext, K) `encrypt(plaintext:string|long, K:string|long) : tuple Encrypt the string or integer plaintext. K is a random parameter required by some algorithms.` sign(self, M, K) `sign(M : string|long, K:string|long) : tuple Return a tuple containing the signature for the message M. K is a random parameter required by some algorithms.` unblind(self, M, B) `unblind(M : string|long, B : string|long) : string|long Unblind message M using blinding factor B.` validate(self, M, signature) `# alias to compensate for the old validate() name` verify(self, M, signature) `verify(M:string|long, signature:tuple) : bool Verify that the signature is valid for the message M; returns true if the signature checks out.`

Functions
`` |  | construct(tuple) `construct(tuple:(long,long,long,long)|(long,long,long,long,long))) : ElGamalobj Construct an ElGamal key from a 3- or 4-tuple of numbers.` generate(bits, randfunc, progress_func=None) `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.`

Data
`` |  | __revision__ = '$Id: ElGamal.py,v 1.9 2003/04/04 19:44:26 akuchling Exp $' sieve_base = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ...)