164 lines
4.6 KiB
C
164 lines
4.6 KiB
C
|
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
|
||
|
*
|
||
|
* LibTomCrypt is a library that provides various cryptographic
|
||
|
* algorithms in a highly modular and flexible manner.
|
||
|
*
|
||
|
* The library is free for all purposes without any express
|
||
|
* guarantee it works.
|
||
|
*
|
||
|
* Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
|
||
|
*/
|
||
|
#include "tomcrypt.h"
|
||
|
|
||
|
/**
|
||
|
@file dh_static.c
|
||
|
DH crypto, Tom St Denis
|
||
|
*/
|
||
|
|
||
|
#ifdef LTC_MDH
|
||
|
|
||
|
#define __DECL_DH_STATIC_H__
|
||
|
#include "dh_static.h"
|
||
|
|
||
|
/* This holds the key settings. ***MUST*** be organized by size from smallest to largest. */
|
||
|
const dh_set sets[] = {
|
||
|
#ifdef DH768
|
||
|
{
|
||
|
96,
|
||
|
"DH-768",
|
||
|
"4",
|
||
|
"F///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"//////m3wvV"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH1024
|
||
|
{
|
||
|
128,
|
||
|
"DH-1024",
|
||
|
"4",
|
||
|
"F///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////m3C47"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH1280
|
||
|
{
|
||
|
160,
|
||
|
"DH-1280",
|
||
|
"4",
|
||
|
"F///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"//////////////////////////////m4kSN"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH1536
|
||
|
{
|
||
|
192,
|
||
|
"DH-1536",
|
||
|
"4",
|
||
|
"F///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////m5uqd"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH1792
|
||
|
{
|
||
|
224,
|
||
|
"DH-1792",
|
||
|
"4",
|
||
|
"F///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"//////////////////////////////////////////////////////mT/sd"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH2048
|
||
|
{
|
||
|
256,
|
||
|
"DH-2048",
|
||
|
"4",
|
||
|
"3///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"/////////////////////////////////////////m8MPh"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH2560
|
||
|
{
|
||
|
320,
|
||
|
"DH-2560",
|
||
|
"4",
|
||
|
"3///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"/////mKFpF"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH3072
|
||
|
{
|
||
|
384,
|
||
|
"DH-3072",
|
||
|
"4",
|
||
|
"3///////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"/////////////////////////////m32nN"
|
||
|
},
|
||
|
#endif
|
||
|
#ifdef DH4096
|
||
|
{
|
||
|
512,
|
||
|
"DH-4096",
|
||
|
"4",
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"////////////////////////////////////////////////////////////"
|
||
|
"/////////////////////m8pOF"
|
||
|
},
|
||
|
#endif
|
||
|
{
|
||
|
0,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL
|
||
|
}
|
||
|
};
|
||
|
|
||
|
int dh_is_valid_idx(int n)
|
||
|
{
|
||
|
int x;
|
||
|
|
||
|
for (x = 0; sets[x].size; x++);
|
||
|
if ((n < 0) || (n >= x)) {
|
||
|
return 0;
|
||
|
}
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif /* LTC_MDH */
|