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
-
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
-
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