crypto-pubkey-types-0.4.3: Generic cryptography Public keys algorithm types

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
StabilityStable
PortabilityExcellent
Safe HaskellNone
LanguageHaskell98

Crypto.Types.PubKey.RSA

Description

 
Synopsis

Documentation

data PublicKey Source #

Represent a RSA public key

Constructors

PublicKey 

Fields

Instances
Eq PublicKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Data PublicKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PublicKey -> c PublicKey Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PublicKey Source #

toConstr :: PublicKey -> Constr Source #

dataTypeOf :: PublicKey -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PublicKey) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PublicKey) Source #

gmapT :: (forall b. Data b => b -> b) -> PublicKey -> PublicKey Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PublicKey -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PublicKey -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PublicKey -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PublicKey -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PublicKey -> m PublicKey Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PublicKey -> m PublicKey Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PublicKey -> m PublicKey Source #

Read PublicKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Show PublicKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

ASN1Object PublicKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

data PrivateKey Source #

Represent a RSA private key.

Only the pub, d fields are mandatory to fill.

p, q, dP, dQ, qinv are by-product during RSA generation, but are useful to record here to speed up massively the decrypt and sign operation.

implementations can leave optional fields to 0.

Constructors

PrivateKey 

Fields

Instances
Eq PrivateKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Data PrivateKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PrivateKey -> c PrivateKey Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PrivateKey Source #

toConstr :: PrivateKey -> Constr Source #

dataTypeOf :: PrivateKey -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PrivateKey) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PrivateKey) Source #

gmapT :: (forall b. Data b => b -> b) -> PrivateKey -> PrivateKey Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PrivateKey -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PrivateKey -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PrivateKey -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PrivateKey -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PrivateKey -> m PrivateKey Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PrivateKey -> m PrivateKey Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PrivateKey -> m PrivateKey Source #

Read PrivateKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Show PrivateKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

ASN1Object PrivateKey Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

newtype KeyPair Source #

Represent RSA KeyPair

note the RSA private key contains already an instance of public key for efficiency

Constructors

KeyPair PrivateKey 
Instances
Eq KeyPair Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Data KeyPair Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyPair -> c KeyPair Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyPair Source #

toConstr :: KeyPair -> Constr Source #

dataTypeOf :: KeyPair -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c KeyPair) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyPair) Source #

gmapT :: (forall b. Data b => b -> b) -> KeyPair -> KeyPair Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyPair -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyPair -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> KeyPair -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyPair -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyPair -> m KeyPair Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyPair -> m KeyPair Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyPair -> m KeyPair Source #

Read KeyPair Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

Show KeyPair Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

ASN1Object KeyPair Source # 
Instance details

Defined in Crypto.Types.PubKey.RSA

private_size :: PrivateKey -> Int Source #

get the size in bytes from a private key

private_n :: PrivateKey -> Integer Source #

get n from a private key

toPublicKey :: KeyPair -> PublicKey Source #

Public key of a RSA KeyPair

toPrivateKey :: KeyPair -> PrivateKey Source #

Private key of a RSA KeyPair