version 1.12, 2000/04/14 10:30:32 |
version 1.12.2.3, 2001/03/12 15:44:12 |
|
|
/* |
/* |
* |
|
* mpaux.c |
|
* |
|
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* |
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* All rights reserved |
* All rights reserved |
* |
|
* Created: Sun Jul 16 04:29:30 1995 ylo |
|
* |
|
* This file contains various auxiliary functions related to multiple |
* This file contains various auxiliary functions related to multiple |
* precision integers. |
* precision integers. |
* |
* |
*/ |
* As far as I am concerned, the code I have written for this software |
|
* can be used freely for any purpose. Any derived versions of this |
|
* software must be clearly marked as such, and if the derived work is |
|
* incompatible with the protocol description in the RFC file, it must be |
|
* called by a name other than "ssh" or "Secure Shell". |
|
*/ |
|
|
#include "includes.h" |
#include "includes.h" |
RCSID("$Id$"); |
RCSID("$OpenBSD$"); |
|
|
#include <openssl/bn.h> |
#include <openssl/bn.h> |
#include "getput.h" |
#include "getput.h" |
|
|
|
|
#include <openssl/md5.h> |
#include <openssl/md5.h> |
|
|
|
#include "mpaux.h" |
|
|
void |
void |
compute_session_id(unsigned char session_id[16], |
compute_session_id(u_char session_id[16], |
unsigned char cookie[8], |
u_char cookie[8], |
BIGNUM* host_key_n, |
BIGNUM* host_key_n, |
BIGNUM* session_key_n) |
BIGNUM* session_key_n) |
{ |
{ |
unsigned int host_key_bytes = BN_num_bytes(host_key_n); |
u_int host_key_bytes = BN_num_bytes(host_key_n); |
unsigned int session_key_bytes = BN_num_bytes(session_key_n); |
u_int session_key_bytes = BN_num_bytes(session_key_n); |
unsigned int bytes = host_key_bytes + session_key_bytes; |
u_int bytes = host_key_bytes + session_key_bytes; |
unsigned char *buf = xmalloc(bytes); |
u_char *buf = xmalloc(bytes); |
MD5_CTX md; |
MD5_CTX md; |
|
|
BN_bn2bin(host_key_n, buf); |
BN_bn2bin(host_key_n, buf); |