botan-bindings-0.0.1.0: Raw Botan bindings
Copyright(c) Leo D 2023
LicenseBSD-3-Clause
Maintainerleo@apotheca.io
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Botan.Bindings.PubKey.ElGamal

Description

 
Synopsis

Documentation

botan_privkey_create_elgamal Source #

Arguments

:: Ptr BotanPrivKey

key: handler to the resulting key

-> BotanRNG

rng: initialized PRNG

-> CSize

pbits: length of the key in bits. Must be at least 1024

-> CSize

qbits: order of the subgroup. Must be at least 160

-> IO CInt
  • BOTAN_FFI_SUCCESS Success, key initialized with DSA key
  • BOTAN_FFI_ERROR_NULL_POINTER either key or rng is NULL
  • BOTAN_FFI_ERROR_BAD_PARAMETER unexpected value for either pbits or qbits
  • BOTAN_FFI_ERROR_NOT_IMPLEMENTED functionality not implemented

Generates ElGamal key pair. Caller has a control over key length and order of a subgroup q. Function is able to use two types of primes:

  • if pbits-1 == qbits then safe primes are used for key generation
  • otherwise generation uses group of prime order

botan_pubkey_load_elgamal Source #

Arguments

:: Ptr BotanPubKey

key: variable populated with key material

-> BotanMP

p: prime order of a Z_p group

-> BotanMP

g: group generator

-> BotanMP

y: private key

-> IO CInt

0 on success, a negative value on failure

Loads ElGamal private key

botan_privkey_load_elgamal Source #

Arguments

:: Ptr BotanPrivKey

key: variable populated with key material

-> BotanMP

p: prime order of a Z_p group

-> BotanMP

g: group generator

-> BotanMP

x: public key

-> IO CInt

0 on success, a negative value on failure

Loads ElGamal public key