]> andersk Git - moira.git/blob - util/gdss/include/BigRSA.h
initial import of gdss from the Athena source tree
[moira.git] / util / gdss / include / BigRSA.h
1 /*
2  * COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION
3  * ALL RIGHTS RESERVED
4  *
5  * "Digital Equipment Corporation authorizes the reproduction,
6  * distribution and modification of this software subject to the following
7  * restrictions:
8  * 
9  * 1.  Any partial or whole copy of this software, or any modification
10  * thereof, must include this copyright notice in its entirety.
11  *
12  * 2.  This software is supplied "as is" with no warranty of any kind,
13  * expressed or implied, for any purpose, including any warranty of fitness 
14  * or merchantibility.  DIGITAL assumes no responsibility for the use or
15  * reliability of this software, nor promises to provide any form of 
16  * support for it on any basis.
17  *
18  * 3.  Distribution of this software is authorized only if no profit or
19  * remuneration of any kind is received in exchange for such distribution.
20  * 
21  * 4.  This software produces public key authentication certificates
22  * bearing an expiration date established by DIGITAL and RSA Data
23  * Security, Inc.  It may cease to generate certificates after the expiration
24  * date.  Any modification of this software that changes or defeats
25  * the expiration date or its effect is unauthorized.
26  * 
27  * 5.  Software that will renew or extend the expiration date of
28  * authentication certificates produced by this software may be obtained
29  * from RSA Data Security, Inc., 10 Twin Dolphin Drive, Redwood City, CA
30  * 94065, (415)595-8782, or from DIGITAL"
31  *
32  */
33
34 #ifndef SPHINX_BIGRSA
35 #define SPHINX_BIGRSA
36
37 /* DigitLim is general buffer allocation size */
38
39 #ifndef DigitLim
40 #define DigitLim 50
41 #endif
42
43 #define PrimeSize 20
44 #define MaxPrimeBits   PrimeSize*BN_DIGIT_SIZE-2
45 #define MaxModulusBits 2*MaxPrimeBits-8
46
47 typedef struct {
48         int nl,el,pl,ql,dpl,dql;
49
50         BigNumDigit     n[PrimeSize*2];
51         BigNumDigit     e[PrimeSize*2];
52         BigNumDigit     nINV[PrimeSize*2];
53         BigNumDigit     beta2n[PrimeSize*2];
54
55         BigNumDigit     p[PrimeSize];
56         BigNumDigit     q[PrimeSize];
57         BigNumDigit     dp[PrimeSize];
58         BigNumDigit     dq[PrimeSize];
59         BigNumDigit     cr[PrimeSize];
60         BigNumDigit     pINV[PrimeSize];
61         BigNumDigit     qINV[PrimeSize];
62         BigNumDigit     beta3p[PrimeSize];
63         BigNumDigit     beta3q[PrimeSize];
64         BigNumDigit     beta2p[PrimeSize];
65         }  RSAKeyStorage ;      
66
67 typedef struct {
68         int nl,el,pl,ql,dpl,dql;
69
70         BigNumDigit     n[PrimeSize*2];
71         BigNumDigit     e[PrimeSize*2];
72         BigNumDigit     nINV[PrimeSize*2];
73         BigNumDigit     beta2n[PrimeSize*2];
74         }  RSAPublicKeyStorage ;        
75
76 #define PRIVATE_KEY_SIZE sizeof(RSAKeyStorage)
77 #define PUBLIC_KEY_SIZE sizeof(RSAPublicKeyStorage)
78
79 #endif
80
This page took 0.040504 seconds and 5 git commands to generate.