p512.c revision 55714
137Srgrimes/* crypto/dh/p512.c */ 237Srgrimes/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 337Srgrimes * All rights reserved. 437Srgrimes * 537Srgrimes * This package is an SSL implementation written 637Srgrimes * by Eric Young (eay@cryptsoft.com). 737Srgrimes * The implementation was written so as to conform with Netscapes SSL. 837Srgrimes * 9476Srgrimes * This library is free for commercial and non-commercial use as long as 1037Srgrimes * the following conditions are aheared to. The following conditions 1137Srgrimes * apply to all code found in this distribution, be it the RC4, RSA, 1237Srgrimes * lhash, DES, etc., code; not just the SSL code. The SSL documentation 1337Srgrimes * included with this distribution is covered by the same copyright terms 1437Srgrimes * except that the holder is Tim Hudson (tjh@cryptsoft.com). 1537Srgrimes * 1637Srgrimes * Copyright remains Eric Young's, and as such any Copyright notices in 1737Srgrimes * the code are not to be removed. 1837Srgrimes * If this package is used in a product, Eric Young should be given attribution 1937Srgrimes * as the author of the parts of the library used. 2037Srgrimes * This can be in the form of a textual message at program startup or 2137Srgrimes * in documentation (online or textual) provided with the package. 2237Srgrimes * 2337Srgrimes * Redistribution and use in source and binary forms, with or without 2437Srgrimes * modification, are permitted provided that the following conditions 2537Srgrimes * are met: 2637Srgrimes * 1. Redistributions of source code must retain the copyright 2737Srgrimes * notice, this list of conditions and the following disclaimer. 2837Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 2937Srgrimes * notice, this list of conditions and the following disclaimer in the 301141Sache * documentation and/or other materials provided with the distribution. 311141Sache * 3. All advertising materials mentioning features or use of this software 321141Sache * must display the following acknowledgement: 331141Sache * "This product includes cryptographic software written by 341141Sache * Eric Young (eay@cryptsoft.com)" 357708Srgrimes * The word 'cryptographic' can be left out if the rouines from the library 3611137Sjoerg * being used are not cryptographic related :-). 3711137Sjoerg * 4. If you include any Windows specific code (or a derivative thereof) from 381141Sache * the apps directory (application code) you must include an acknowledgement: 3911137Sjoerg * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 4011137Sjoerg * 4111137Sjoerg * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 4211137Sjoerg * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4311137Sjoerg * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4411137Sjoerg * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 4511137Sjoerg * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4611137Sjoerg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4711137Sjoerg * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 481141Sache * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 491141Sache * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 501141Sache * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 511141Sache * SUCH DAMAGE. 521141Sache * 531141Sache * The licence and distribution terms for any publically available version or 541141Sache * derivative of this code cannot be changed. i.e. this code cannot simply be 551141Sache * copied and put under another distribution licence 561141Sache * [including the GNU Public Licence.] 571141Sache */ 581141Sache 591141Sache#include <stdio.h> 601141Sache#include <openssl/bn.h> 611182Srgrimes#include <openssl/asn1.h> 621144Sache#include <openssl/dh.h> 631141Sache#include <openssl/pem.h> 641141Sache 651141Sacheunsigned char data[]={ 661141Sache0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89, 671182Srgrimes0xD0,0xE4,0xAF,0x75,0x6F,0x4C,0xCA,0x92, 681141Sache0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F, 691141Sache0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED, 701141Sache0x57,0x46,0x50,0xD3,0x69,0x99,0xDB,0x29, 711141Sache0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12, 721141Sache0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6, 731141Sache0xD8,0x00,0x3E,0x7C,0x47,0x74,0xE8,0x33, 741141Sache }; 751141Sache 761141Sachemain() 771141Sache { 781141Sache DH *dh; 791141Sache 801141Sache dh=DH_new(); 811141Sache dh->p=BN_bin2bn(data,sizeof(data),NULL); 821141Sache dh->g=BN_new(); 831141Sache BN_set_word(dh->g,2); 841141Sache PEM_write_DHparams(stdout,dh); 851141Sache } 861141Sache