Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2006 Pekka Riikonen
+ Copyright (C) 1997 - 2008 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
everything else too about cryptography.
*/
-/* $Id$ */
/*
ChangeLog
starting point in key generation.
*/
-#include "silc.h"
+#include "silccrypto.h"
#include "rsa.h"
/* Generates RSA public and private keys. Primes p and q that are used
to compute the modulus n has to be generated before calling this. They
are then sent as argument for the function. */
-SilcBool rsa_generate_keys(SilcUInt32 bits, SilcMPInt *p, SilcMPInt *q,
- void **ret_public_key, void **ret_private_key)
+SilcBool silc_rsa_generate_keys(SilcUInt32 bits, SilcMPInt *p, SilcMPInt *q,
+ void **ret_public_key, void **ret_private_key)
{
RsaPublicKey *pubkey;
RsaPrivateKey *privkey;
if (!privkey)
return FALSE;
+ /* Default hash shall be sha1 */
+ silc_hash_alloc("sha1", &pubkey->hash);
+ silc_hash_alloc("sha1", &privkey->hash);
+
/* Initialize variables */
silc_mp_init(&privkey->n);
silc_mp_init(&privkey->e);
/* RSA public key operation */
-SilcBool rsa_public_operation(RsaPublicKey *key, SilcMPInt *src,
- SilcMPInt *dst)
+SilcBool silc_rsa_public_operation(RsaPublicKey *key, SilcMPInt *src,
+ SilcMPInt *dst)
{
/* dst = src ^ e mod n */
silc_mp_pow_mod(dst, src, &key->e, &key->n);
/* RSA private key operation */
-SilcBool rsa_private_operation(RsaPrivateKey *key, SilcMPInt *src,
- SilcMPInt *dst)
+SilcBool silc_rsa_private_operation(RsaPrivateKey *key, SilcMPInt *src,
+ SilcMPInt *dst)
{
SilcMPInt tmp;