os/ossrv/ssl/tsrc/topenssl/inc/testdsa.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/* NOCW */
sl@0
     2
/* used by apps/speed.c */
sl@0
     3
DSA *get_dsa512(void );
sl@0
     4
DSA *get_dsa1024(void );
sl@0
     5
DSA *get_dsa2048(void );
sl@0
     6
static unsigned char dsa512_priv[] = {
sl@0
     7
	0x65,0xe5,0xc7,0x38,0x60,0x24,0xb5,0x89,0xd4,0x9c,0xeb,0x4c,
sl@0
     8
	0x9c,0x1d,0x7a,0x22,0xbd,0xd1,0xc2,0xd2,
sl@0
     9
	};
sl@0
    10
static unsigned char dsa512_pub[] = {
sl@0
    11
	0x00,0x95,0xa7,0x0d,0xec,0x93,0x68,0xba,0x5f,0xf7,0x5f,0x07,
sl@0
    12
	0xf2,0x3b,0xad,0x6b,0x01,0xdc,0xbe,0xec,0xde,0x04,0x7a,0x3a,
sl@0
    13
	0x27,0xb3,0xec,0x49,0xfd,0x08,0x43,0x3d,0x7e,0xa8,0x2c,0x5e,
sl@0
    14
	0x7b,0xbb,0xfc,0xf4,0x6e,0xeb,0x6c,0xb0,0x6e,0xf8,0x02,0x12,
sl@0
    15
	0x8c,0x38,0x5d,0x83,0x56,0x7d,0xee,0x53,0x05,0x3e,0x24,0x84,
sl@0
    16
	0xbe,0xba,0x0a,0x6b,0xc8,
sl@0
    17
	};
sl@0
    18
static unsigned char dsa512_p[]={
sl@0
    19
	0x9D,0x1B,0x69,0x8E,0x26,0xDB,0xF2,0x2B,0x11,0x70,0x19,0x86,
sl@0
    20
	0xF6,0x19,0xC8,0xF8,0x19,0xF2,0x18,0x53,0x94,0x46,0x06,0xD0,
sl@0
    21
	0x62,0x50,0x33,0x4B,0x02,0x3C,0x52,0x30,0x03,0x8B,0x3B,0xF9,
sl@0
    22
	0x5F,0xD1,0x24,0x06,0x4F,0x7B,0x4C,0xBA,0xAA,0x40,0x9B,0xFD,
sl@0
    23
	0x96,0xE4,0x37,0x33,0xBB,0x2D,0x5A,0xD7,0x5A,0x11,0x40,0x66,
sl@0
    24
	0xA2,0x76,0x7D,0x31,
sl@0
    25
	};
sl@0
    26
static unsigned char dsa512_q[]={
sl@0
    27
	0xFB,0x53,0xEF,0x50,0xB4,0x40,0x92,0x31,0x56,0x86,0x53,0x7A,
sl@0
    28
	0xE8,0x8B,0x22,0x9A,0x49,0xFB,0x71,0x8F,
sl@0
    29
	};
sl@0
    30
static unsigned char dsa512_g[]={
sl@0
    31
	0x83,0x3E,0x88,0xE5,0xC5,0x89,0x73,0xCE,0x3B,0x6C,0x01,0x49,
sl@0
    32
	0xBF,0xB3,0xC7,0x9F,0x0A,0xEA,0x44,0x91,0xE5,0x30,0xAA,0xD9,
sl@0
    33
	0xBE,0x5B,0x5F,0xB7,0x10,0xD7,0x89,0xB7,0x8E,0x74,0xFB,0xCF,
sl@0
    34
	0x29,0x1E,0xEB,0xA8,0x2C,0x54,0x51,0xB8,0x10,0xDE,0xA0,0xCE,
sl@0
    35
	0x2F,0xCC,0x24,0x6B,0x90,0x77,0xDE,0xA2,0x68,0xA6,0x52,0x12,
sl@0
    36
	0xA2,0x03,0x9D,0x20,
sl@0
    37
	};
sl@0
    38
sl@0
    39
DSA *get_dsa512()
sl@0
    40
	{
sl@0
    41
	DSA *dsa;
sl@0
    42
sl@0
    43
	if ((dsa=DSA_new()) == NULL) return(NULL);
sl@0
    44
	dsa->priv_key=BN_bin2bn(dsa512_priv,sizeof(dsa512_priv),NULL);
sl@0
    45
	dsa->pub_key=BN_bin2bn(dsa512_pub,sizeof(dsa512_pub),NULL);
sl@0
    46
	dsa->p=BN_bin2bn(dsa512_p,sizeof(dsa512_p),NULL);
sl@0
    47
	dsa->q=BN_bin2bn(dsa512_q,sizeof(dsa512_q),NULL);
sl@0
    48
	dsa->g=BN_bin2bn(dsa512_g,sizeof(dsa512_g),NULL);
sl@0
    49
	if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL) ||
sl@0
    50
				(dsa->q == NULL) || (dsa->g == NULL))
sl@0
    51
		return(NULL);
sl@0
    52
	return(dsa);
sl@0
    53
	}
sl@0
    54
sl@0
    55
static unsigned char dsa1024_priv[]={
sl@0
    56
	0x7d,0x21,0xda,0xbb,0x62,0x15,0x47,0x36,0x07,0x67,0x12,0xe8,
sl@0
    57
	0x8c,0xaa,0x1c,0xcd,0x38,0x12,0x61,0x18,
sl@0
    58
	};
sl@0
    59
static unsigned char dsa1024_pub[]={
sl@0
    60
	0x3c,0x4e,0x9c,0x2a,0x7f,0x16,0xc1,0x25,0xeb,0xac,0x78,0x63,
sl@0
    61
	0x90,0x14,0x8c,0x8b,0xf4,0x68,0x43,0x3c,0x2d,0xee,0x65,0x50,
sl@0
    62
	0x7d,0x9c,0x8f,0x8c,0x8a,0x51,0xd6,0x11,0x2b,0x99,0xaf,0x1e,
sl@0
    63
	0x90,0x97,0xb5,0xd3,0xa6,0x20,0x25,0xd6,0xfe,0x43,0x02,0xd5,
sl@0
    64
	0x91,0x7d,0xa7,0x8c,0xdb,0xc9,0x85,0xa3,0x36,0x48,0xf7,0x68,
sl@0
    65
	0xaa,0x60,0xb1,0xf7,0x05,0x68,0x3a,0xa3,0x3f,0xd3,0x19,0x82,
sl@0
    66
	0xd8,0x82,0x7a,0x77,0xfb,0xef,0xf4,0x15,0x0a,0xeb,0x06,0x04,
sl@0
    67
	0x7f,0x53,0x07,0x0c,0xbc,0xcb,0x2d,0x83,0xdb,0x3e,0xd1,0x28,
sl@0
    68
	0xa5,0xa1,0x31,0xe0,0x67,0xfa,0x50,0xde,0x9b,0x07,0x83,0x7e,
sl@0
    69
	0x2c,0x0b,0xc3,0x13,0x50,0x61,0xe5,0xad,0xbd,0x36,0xb8,0x97,
sl@0
    70
	0x4e,0x40,0x7d,0xe8,0x83,0x0d,0xbc,0x4b
sl@0
    71
	};
sl@0
    72
static unsigned char dsa1024_p[]={
sl@0
    73
	0xA7,0x3F,0x6E,0x85,0xBF,0x41,0x6A,0x29,0x7D,0xF0,0x9F,0x47,
sl@0
    74
	0x19,0x30,0x90,0x9A,0x09,0x1D,0xDA,0x6A,0x33,0x1E,0xC5,0x3D,
sl@0
    75
	0x86,0x96,0xB3,0x15,0xE0,0x53,0x2E,0x8F,0xE0,0x59,0x82,0x73,
sl@0
    76
	0x90,0x3E,0x75,0x31,0x99,0x47,0x7A,0x52,0xFB,0x85,0xE4,0xD9,
sl@0
    77
	0xA6,0x7B,0x38,0x9B,0x68,0x8A,0x84,0x9B,0x87,0xC6,0x1E,0xB5,
sl@0
    78
	0x7E,0x86,0x4B,0x53,0x5B,0x59,0xCF,0x71,0x65,0x19,0x88,0x6E,
sl@0
    79
	0xCE,0x66,0xAE,0x6B,0x88,0x36,0xFB,0xEC,0x28,0xDC,0xC2,0xD7,
sl@0
    80
	0xA5,0xBB,0xE5,0x2C,0x39,0x26,0x4B,0xDA,0x9A,0x70,0x18,0x95,
sl@0
    81
	0x37,0x95,0x10,0x56,0x23,0xF6,0x15,0xED,0xBA,0x04,0x5E,0xDE,
sl@0
    82
	0x39,0x4F,0xFD,0xB7,0x43,0x1F,0xB5,0xA4,0x65,0x6F,0xCD,0x80,
sl@0
    83
	0x11,0xE4,0x70,0x95,0x5B,0x50,0xCD,0x49,
sl@0
    84
	};
sl@0
    85
static unsigned char dsa1024_q[]={
sl@0
    86
	0xF7,0x07,0x31,0xED,0xFA,0x6C,0x06,0x03,0xD5,0x85,0x8A,0x1C,
sl@0
    87
	0xAC,0x9C,0x65,0xE7,0x50,0x66,0x65,0x6F,
sl@0
    88
	};
sl@0
    89
static unsigned char dsa1024_g[]={
sl@0
    90
	0x4D,0xDF,0x4C,0x03,0xA6,0x91,0x8A,0xF5,0x19,0x6F,0x50,0x46,
sl@0
    91
	0x25,0x99,0xE5,0x68,0x6F,0x30,0xE3,0x69,0xE1,0xE5,0xB3,0x5D,
sl@0
    92
	0x98,0xBB,0x28,0x86,0x48,0xFC,0xDE,0x99,0x04,0x3F,0x5F,0x88,
sl@0
    93
	0x0C,0x9C,0x73,0x24,0x0D,0x20,0x5D,0xB9,0x2A,0x9A,0x3F,0x18,
sl@0
    94
	0x96,0x27,0xE4,0x62,0x87,0xC1,0x7B,0x74,0x62,0x53,0xFC,0x61,
sl@0
    95
	0x27,0xA8,0x7A,0x91,0x09,0x9D,0xB6,0xF1,0x4D,0x9C,0x54,0x0F,
sl@0
    96
	0x58,0x06,0xEE,0x49,0x74,0x07,0xCE,0x55,0x7E,0x23,0xCE,0x16,
sl@0
    97
	0xF6,0xCA,0xDC,0x5A,0x61,0x01,0x7E,0xC9,0x71,0xB5,0x4D,0xF6,
sl@0
    98
	0xDC,0x34,0x29,0x87,0x68,0xF6,0x5E,0x20,0x93,0xB3,0xDB,0xF5,
sl@0
    99
	0xE4,0x09,0x6C,0x41,0x17,0x95,0x92,0xEB,0x01,0xB5,0x73,0xA5,
sl@0
   100
	0x6A,0x7E,0xD8,0x32,0xED,0x0E,0x02,0xB8,
sl@0
   101
	};
sl@0
   102
sl@0
   103
DSA *get_dsa1024()
sl@0
   104
	{
sl@0
   105
	DSA *dsa;
sl@0
   106
sl@0
   107
	if ((dsa=DSA_new()) == NULL) return(NULL);
sl@0
   108
	dsa->priv_key=BN_bin2bn(dsa1024_priv,sizeof(dsa1024_priv),NULL);
sl@0
   109
	dsa->pub_key=BN_bin2bn(dsa1024_pub,sizeof(dsa1024_pub),NULL);
sl@0
   110
	dsa->p=BN_bin2bn(dsa1024_p,sizeof(dsa1024_p),NULL);
sl@0
   111
	dsa->q=BN_bin2bn(dsa1024_q,sizeof(dsa1024_q),NULL);
sl@0
   112
	dsa->g=BN_bin2bn(dsa1024_g,sizeof(dsa1024_g),NULL);
sl@0
   113
	if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL) ||
sl@0
   114
				(dsa->q == NULL) || (dsa->g == NULL))
sl@0
   115
		return(NULL);
sl@0
   116
	return(dsa);
sl@0
   117
	}
sl@0
   118
sl@0
   119
static unsigned char dsa2048_priv[]={
sl@0
   120
	0x32,0x67,0x92,0xf6,0xc4,0xe2,0xe2,0xe8,0xa0,0x8b,0x6b,0x45,
sl@0
   121
	0x0c,0x8a,0x76,0xb0,0xee,0xcf,0x91,0xa7,
sl@0
   122
	};
sl@0
   123
static unsigned char dsa2048_pub[]={
sl@0
   124
	0x17,0x8f,0xa8,0x11,0x84,0x92,0xec,0x83,0x47,0xc7,0x6a,0xb0,
sl@0
   125
	0x92,0xaf,0x5a,0x20,0x37,0xa3,0x64,0x79,0xd2,0xd0,0x3d,0xcd,
sl@0
   126
	0xe0,0x61,0x88,0x88,0x21,0xcc,0x74,0x5d,0xce,0x4c,0x51,0x47,
sl@0
   127
	0xf0,0xc5,0x5c,0x4c,0x82,0x7a,0xaf,0x72,0xad,0xb9,0xe0,0x53,
sl@0
   128
	0xf2,0x78,0xb7,0xf0,0xb5,0x48,0x7f,0x8a,0x3a,0x18,0xd1,0x9f,
sl@0
   129
	0x8b,0x7d,0xa5,0x47,0xb7,0x95,0xab,0x98,0xf8,0x7b,0x74,0x50,
sl@0
   130
	0x56,0x8e,0x57,0xf0,0xee,0xf5,0xb7,0xba,0xab,0x85,0x86,0xf9,
sl@0
   131
	0x2b,0xef,0x41,0x56,0xa0,0xa4,0x9f,0xb7,0x38,0x00,0x46,0x0a,
sl@0
   132
	0xa6,0xf1,0xfc,0x1f,0xd8,0x4e,0x85,0x44,0x92,0x43,0x21,0x5d,
sl@0
   133
	0x6e,0xcc,0xc2,0xcb,0x26,0x31,0x0d,0x21,0xc4,0xbd,0x8d,0x24,
sl@0
   134
	0xbc,0xd9,0x18,0x19,0xd7,0xdc,0xf1,0xe7,0x93,0x50,0x48,0x03,
sl@0
   135
	0x2c,0xae,0x2e,0xe7,0x49,0x88,0x5f,0x93,0x57,0x27,0x99,0x36,
sl@0
   136
	0xb4,0x20,0xab,0xfc,0xa7,0x2b,0xf2,0xd9,0x98,0xd7,0xd4,0x34,
sl@0
   137
	0x9d,0x96,0x50,0x58,0x9a,0xea,0x54,0xf3,0xee,0xf5,0x63,0x14,
sl@0
   138
	0xee,0x85,0x83,0x74,0x76,0xe1,0x52,0x95,0xc3,0xf7,0xeb,0x04,
sl@0
   139
	0x04,0x7b,0xa7,0x28,0x1b,0xcc,0xea,0x4a,0x4e,0x84,0xda,0xd8,
sl@0
   140
	0x9c,0x79,0xd8,0x9b,0x66,0x89,0x2f,0xcf,0xac,0xd7,0x79,0xf9,
sl@0
   141
	0xa9,0xd8,0x45,0x13,0x78,0xb9,0x00,0x14,0xc9,0x7e,0x22,0x51,
sl@0
   142
	0x86,0x67,0xb0,0x9f,0x26,0x11,0x23,0xc8,0x38,0xd7,0x70,0x1d,
sl@0
   143
	0x15,0x8e,0x4d,0x4f,0x95,0x97,0x40,0xa1,0xc2,0x7e,0x01,0x18,
sl@0
   144
	0x72,0xf4,0x10,0xe6,0x8d,0x52,0x16,0x7f,0xf2,0xc9,0xf8,0x33,
sl@0
   145
	0x8b,0x33,0xb7,0xce,
sl@0
   146
	};
sl@0
   147
static unsigned char dsa2048_p[]={
sl@0
   148
	0xA0,0x25,0xFA,0xAD,0xF4,0x8E,0xB9,0xE5,0x99,0xF3,0x5D,0x6F,
sl@0
   149
	0x4F,0x83,0x34,0xE2,0x7E,0xCF,0x6F,0xBF,0x30,0xAF,0x6F,0x81,
sl@0
   150
	0xEB,0xF8,0xC4,0x13,0xD9,0xA0,0x5D,0x8B,0x5C,0x8E,0xDC,0xC2,
sl@0
   151
	0x1D,0x0B,0x41,0x32,0xB0,0x1F,0xFE,0xEF,0x0C,0xC2,0xA2,0x7E,
sl@0
   152
	0x68,0x5C,0x28,0x21,0xE9,0xF5,0xB1,0x58,0x12,0x63,0x4C,0x19,
sl@0
   153
	0x4E,0xFF,0x02,0x4B,0x92,0xED,0xD2,0x07,0x11,0x4D,0x8C,0x58,
sl@0
   154
	0x16,0x5C,0x55,0x8E,0xAD,0xA3,0x67,0x7D,0xB9,0x86,0x6E,0x0B,
sl@0
   155
	0xE6,0x54,0x6F,0x40,0xAE,0x0E,0x67,0x4C,0xF9,0x12,0x5B,0x3C,
sl@0
   156
	0x08,0x7A,0xF7,0xFC,0x67,0x86,0x69,0xE7,0x0A,0x94,0x40,0xBF,
sl@0
   157
	0x8B,0x76,0xFE,0x26,0xD1,0xF2,0xA1,0x1A,0x84,0xA1,0x43,0x56,
sl@0
   158
	0x28,0xBC,0x9A,0x5F,0xD7,0x3B,0x69,0x89,0x8A,0x36,0x2C,0x51,
sl@0
   159
	0xDF,0x12,0x77,0x2F,0x57,0x7B,0xA0,0xAA,0xDD,0x7F,0xA1,0x62,
sl@0
   160
	0x3B,0x40,0x7B,0x68,0x1A,0x8F,0x0D,0x38,0xBB,0x21,0x5D,0x18,
sl@0
   161
	0xFC,0x0F,0x46,0xF7,0xA3,0xB0,0x1D,0x23,0xC3,0xD2,0xC7,0x72,
sl@0
   162
	0x51,0x18,0xDF,0x46,0x95,0x79,0xD9,0xBD,0xB5,0x19,0x02,0x2C,
sl@0
   163
	0x87,0xDC,0xE7,0x57,0x82,0x7E,0xF1,0x8B,0x06,0x3D,0x00,0xA5,
sl@0
   164
	0x7B,0x6B,0x26,0x27,0x91,0x0F,0x6A,0x77,0xE4,0xD5,0x04,0xE4,
sl@0
   165
	0x12,0x2C,0x42,0xFF,0xD2,0x88,0xBB,0xD3,0x92,0xA0,0xF9,0xC8,
sl@0
   166
	0x51,0x64,0x14,0x5C,0xD8,0xF9,0x6C,0x47,0x82,0xB4,0x1C,0x7F,
sl@0
   167
	0x09,0xB8,0xF0,0x25,0x83,0x1D,0x3F,0x3F,0x05,0xB3,0x21,0x0A,
sl@0
   168
	0x5D,0xA7,0xD8,0x54,0xC3,0x65,0x7D,0xC3,0xB0,0x1D,0xBF,0xAE,
sl@0
   169
	0xF8,0x68,0xCF,0x9B,
sl@0
   170
	};
sl@0
   171
static unsigned char dsa2048_q[]={
sl@0
   172
	0x97,0xE7,0x33,0x4D,0xD3,0x94,0x3E,0x0B,0xDB,0x62,0x74,0xC6,
sl@0
   173
	0xA1,0x08,0xDD,0x19,0xA3,0x75,0x17,0x1B,
sl@0
   174
	};
sl@0
   175
static unsigned char dsa2048_g[]={
sl@0
   176
	0x2C,0x78,0x16,0x59,0x34,0x63,0xF4,0xF3,0x92,0xFC,0xB5,0xA5,
sl@0
   177
	0x4F,0x13,0xDE,0x2F,0x1C,0xA4,0x3C,0xAE,0xAD,0x38,0x3F,0x7E,
sl@0
   178
	0x90,0xBF,0x96,0xA6,0xAE,0x25,0x90,0x72,0xF5,0x8E,0x80,0x0C,
sl@0
   179
	0x39,0x1C,0xD9,0xEC,0xBA,0x90,0x5B,0x3A,0xE8,0x58,0x6C,0x9E,
sl@0
   180
	0x30,0x42,0x37,0x02,0x31,0x82,0xBC,0x6A,0xDF,0x6A,0x09,0x29,
sl@0
   181
	0xE3,0xC0,0x46,0xD1,0xCB,0x85,0xEC,0x0C,0x30,0x5E,0xEA,0xC8,
sl@0
   182
	0x39,0x8E,0x22,0x9F,0x22,0x10,0xD2,0x34,0x61,0x68,0x37,0x3D,
sl@0
   183
	0x2E,0x4A,0x5B,0x9A,0xF5,0xC1,0x48,0xC6,0xF6,0xDC,0x63,0x1A,
sl@0
   184
	0xD3,0x96,0x64,0xBA,0x34,0xC9,0xD1,0xA0,0xD1,0xAE,0x6C,0x2F,
sl@0
   185
	0x48,0x17,0x93,0x14,0x43,0xED,0xF0,0x21,0x30,0x19,0xC3,0x1B,
sl@0
   186
	0x5F,0xDE,0xA3,0xF0,0x70,0x78,0x18,0xE1,0xA8,0xE4,0xEE,0x2E,
sl@0
   187
	0x00,0xA5,0xE4,0xB3,0x17,0xC8,0x0C,0x7D,0x6E,0x42,0xDC,0xB7,
sl@0
   188
	0x46,0x00,0x36,0x4D,0xD4,0x46,0xAA,0x3D,0x3C,0x46,0x89,0x40,
sl@0
   189
	0xBF,0x1D,0x84,0x77,0x0A,0x75,0xF3,0x87,0x1D,0x08,0x4C,0xA6,
sl@0
   190
	0xD1,0xA9,0x1C,0x1E,0x12,0x1E,0xE1,0xC7,0x30,0x28,0x76,0xA5,
sl@0
   191
	0x7F,0x6C,0x85,0x96,0x2B,0x6F,0xDB,0x80,0x66,0x26,0xAE,0xF5,
sl@0
   192
	0x93,0xC7,0x8E,0xAE,0x9A,0xED,0xE4,0xCA,0x04,0xEA,0x3B,0x72,
sl@0
   193
	0xEF,0xDC,0x87,0xED,0x0D,0xA5,0x4C,0x4A,0xDD,0x71,0x22,0x64,
sl@0
   194
	0x59,0x69,0x4E,0x8E,0xBF,0x43,0xDC,0xAB,0x8E,0x66,0xBB,0x01,
sl@0
   195
	0xB6,0xF4,0xE7,0xFD,0xD2,0xAD,0x9F,0x36,0xC1,0xA0,0x29,0x99,
sl@0
   196
	0xD1,0x96,0x70,0x59,0x06,0x78,0x35,0xBD,0x65,0x55,0x52,0x9E,
sl@0
   197
	0xF8,0xB2,0xE5,0x38,
sl@0
   198
	};
sl@0
   199
 
sl@0
   200
DSA *get_dsa2048()
sl@0
   201
	{
sl@0
   202
	DSA *dsa;
sl@0
   203
 
sl@0
   204
	if ((dsa=DSA_new()) == NULL) return(NULL);
sl@0
   205
	dsa->priv_key=BN_bin2bn(dsa2048_priv,sizeof(dsa2048_priv),NULL);
sl@0
   206
	dsa->pub_key=BN_bin2bn(dsa2048_pub,sizeof(dsa2048_pub),NULL);
sl@0
   207
	dsa->p=BN_bin2bn(dsa2048_p,sizeof(dsa2048_p),NULL);
sl@0
   208
	dsa->q=BN_bin2bn(dsa2048_q,sizeof(dsa2048_q),NULL);
sl@0
   209
	dsa->g=BN_bin2bn(dsa2048_g,sizeof(dsa2048_g),NULL);
sl@0
   210
	if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL) ||
sl@0
   211
				(dsa->q == NULL) || (dsa->g == NULL))
sl@0
   212
		return(NULL);
sl@0
   213
	return(dsa);
sl@0
   214
	}
sl@0
   215
sl@0
   216
static const char rnd_seed[] = "string to make the random number generator think it has entropy";
sl@0
   217
static int rnd_fake = 0;