diff options
Diffstat (limited to 'beecrypt/docs/api.html')
-rw-r--r-- | beecrypt/docs/api.html | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/beecrypt/docs/api.html b/beecrypt/docs/api.html deleted file mode 100644 index 2a9f24216..000000000 --- a/beecrypt/docs/api.html +++ /dev/null @@ -1,133 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> - -<HTML> -<HEAD> -<LINK REL=StyleSheet HREF="manual.css" TYPE="text/css"> -<TITLE>The BeeCrypt API</TITLE> -</HEAD> -<BODY> -<DL> -<DT><B>Entropy Sources</B></DT> -<DD> -<BR> -<HR> -</DD> -<DT><B>Random Generators</B></DT> -<DD> -<P>The following structure is used to hold information describing a -specific random generator implementation: -<BR><A NAME="randomGenerator"></A><PRE><CODE CLASS=c> -typedef struct -{ - const char* name; - const unsigned int paramsize; - const randomGeneratorSetup setup; - const randomGeneratorSeed seed; - const randomGeneratorNext next; - const randomGeneratorCleanup cleanup; -} randomGenerator; -</CODE></PRE> -<P>The following structure is used to work with a specific random -generator implementation: -<BR><A NAME="randomGeneratorContext"></A><PRE><CODE CLASS=c> -typedef struct -{ - const randomGenerator* rng; - randomGeneratorparam* param; -} randomGeneratorContext; -</CODE></PRE> -<P>The following functions will operate on this structure: -<DL> -<DT><A NAME="randomGeneratorContextInit"></A><CODE CLASS=c> -void randomGeneratorContextInit(<A HREF="#randomGeneratorContext">randomGeneratorContext</A>* ctxt, const <A HREF="#randomGenerator">randomGenerator</A>* rng); -</CODE></DT> -<DD>This function initializes <CODE>ctxt</CODE> by allocating and -initializing parameters appropriate for <CODE>rng</CODE>. -</DD> -<DT><A NAME="randomGeneratorContextFree"></A><CODE CLASS=c> -void randomGeneratorContextFree(<A HREF="#randomGeneratorContext">randomGeneratorContext</A>* ctxt); -</CODE></DT> -<DD>This function cleans up <CODE>ctxt</CODE> and frees its -allocated parameters. -</DL> -<BR> -<HR> -</DD> -<DT><B>Hash Functions</B></DT> -<DD> -<BR> -<HR> -</DD> -<DT><B>Keyed Hash Functions</B></DT> -<DD> -<BR> -<HR> -</DD> -<DT><B>Block Ciphers</B></DT> -<DD> -<BR> -<HR> -</DD> -<DT><B>Multi-Precision Integer routines</B></DT> -<DD> -<P>The following structure is used to hold a multi-precision integer: -<BR><A NAME="mp32number"></A><PRE><CODE CLASS=c> -typedef struct -{ - uint32 size; - uint32* data; -} mp32number; -</CODE></PRE> -<P>The following structure is used for barrett modular reduction operations on multi-precision integers: -<BR><A NAME="mp32barrett"></A><PRE><CODE CLASS=c> -typedef struct -{ - uint32 size; - uint32* modl; - uint32* mu; -} mp32barrett; -</CODE></PRE> -<BR> -<HR> -</DD> -<DT><B>Discrete Logarithm Public Key Primitives</B></DT> -<DD> -<P>Discrete logarithm operations can be performed in a variety of fields. This API implements discrete logarithms over a prime field, conform with IEEE P1363. -<P>You can find the exact mathematics in: -<BLOCKQUOTE> -<EM>"Handbook of Applied Cryptography"</EM><BR> -Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone<BR> -CRC Press -</BLOCKQUOTE> -<P>The domain parameters are defined by a prime P, a prime factor Q of (P-1), and a group generator G. -<P>The following struct is used to hold the discrete logarithm domain parameters: -<BR><A NAME="dldp_p"></A><PRE><CODE CLASS=c> -typedef struct -{ - <A HREF="#mp32barrett">mp32barrett</A> p; - <A HREF="#mp32barrett">mp32barrett</A> q; - <A HREF="#mp32number">mp32number</A> r; - <A HREF="#mp32number">mp32number</A> g; - <A HREF="#mp32barrett">mp32barrett</A> n; -} dldp_p; -</CODE></PRE> -<P>The struct holds more than the three domain parameters required by IEEE P1363. Some discrete logarithm operations call for a reduction modulo (P-1). Hence we've defined N as (P-1). R is the cofactor of (P-1), so that P-1=N=Q*R, where P and Q are (probable) primes. -<P>If you save the domain parameters, you don't need to save N, and R, since they can be trivially recomputed. -<P>The following functions will operate on this structure: -<DL> -<DT><A NAME="dldp_pInit"></A><CODE CLASS=c> -void <A NAME="dldp_pInit">dldp_pInit</A>(<A HREF="#dldp_p">dldp_p</A>* domain); -</CODE></DT> -<DT><A NAME="dldp_pFree"></A><CODE> -void <A NAME="dldp_pFree">dldp_pFree</A>(<A HREF="#dldp_p">dldp_p</A>* domain); -</CODE></DT> -<DT><A NAME="dldp_pCopy"></A><CODE> -void <A NAME="dldp_pCopy">dldp_pCopy</A>(<A HREF="#dldp_p">dldp_p</A>* dest, const <A HREF="#dldp_p">dldp_p</A>* source); -</CODE></DT> -</DL> -<BR> -<HR> -</DD> -</DL> -</BODY> -</HTML> |