pkenc_rabin

From: “Digitalized Signatures and Public-Key Functions as Intractable as Factorization”.
Published in: 1979
Security Assumption: Integer Factorization
  • type: public-key encryption
  • setting: Integer
Authors:Christina Garman
Date:09/2011
class pkenc_rabin.Rabin(modulus=<charm.toolbox.specialprimes.BlumWilliamsInteger object>)[source]

Bases: object

convert(N, p, q, yp, yq)[source]
keygen(s0, secparam=1024, params=None)[source]
paramgen(secparam)[source]
class pkenc_rabin.Rabin_Enc(padding=<charm.toolbox.paddingschemes.SAEPEncryptionPadding object>, redundancy=<charm.toolbox.redundancyschemes.InMessageRedundancy object>, params=None)[source]

Bases: pkenc_rabin.Rabin, charm.toolbox.PKEnc.PKEnc

>>> rabin = Rabin_Enc()
>>> (public_key, secret_key) = rabin.keygen(128, 1024)
>>> msg = b'This is a test'
>>> cipher_text = rabin.encrypt(public_key, msg)
>>> decrypted_msg = rabin.decrypt(public_key, secret_key, cipher_text)
>>> decrypted_msg == msg
True
decrypt(pk, sk, c)[source]
encrypt(pk, m, salt=None)[source]
class pkenc_rabin.Rabin_Sig(padding=<charm.toolbox.paddingschemes.OAEPEncryptionPadding object>)[source]

Bases: pkenc_rabin.Rabin, charm.toolbox.PKSig.PKSig

RSASSA-PSS

>>> msg = b'This is a test message.'
>>> rabin = Rabin_Sig()
>>> (public_key, secret_key) = rabin.keygen(1024)
>>> signature = rabin.sign(secret_key, msg)
>>> rabin.verify(public_key, msg, signature)
True
sign(sk, M, salt=None)[source]
verify(pk, M, S, salt=None)[source]
pkenc_rabin.main()[source]