X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilccrypt%2Frsa.c;h=b905a794925d39706ab53893a6fa55d2c3bf17eb;hp=c52f0b8a516ca25126a979cebb59fb8249bbd2ee;hb=0f0340b9fbce9704cc7171f8f0104ce9103d2de6;hpb=d60003d3019371d4ce834a6cbfbf41c257f5a5f7 diff --git a/lib/silccrypt/rsa.c b/lib/silccrypt/rsa.c index c52f0b8a..b905a794 100644 --- a/lib/silccrypt/rsa.c +++ b/lib/silccrypt/rsa.c @@ -2,49 +2,49 @@ rsa.c RSA Public and Private key generation functions, RSA encrypt and decrypt functions. - + Author: Pekka Riikonen - + Copyright (C) 1997 - 2005 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 the Free Software Foundation; version 2 of the License. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + Created: Sat Mar 1 13:26:45 1997 pekka - + RSA public key cryptographic algorithm used in this distribution is: - + Key generation: p, q primes p != q n = p * q modulus - + Public key exponent: e relatively prime to (p-1) * (q-1) Private key exponent: d = e ^ -1 mod lcm(((p-1) * (q-1))) - + Encryption: c = m ^ e mod n Decryption: m = c ^ d mod n - + Supports CRT (Chinese Remainder Theorem) for private key operations. - + The SSH's (Secure Shell), PGP's (Pretty Good Privacy) and RSAREF Toolkit were used as reference when coding this implementation. They all were a big help for me. - + I also suggest reading Bruce Schneier's; Applied Cryptography, Second Edition, John Wiley & Sons, Inc. 1996. This book deals about RSA and everything else too about cryptography. - + */ /* $Id$ */ @@ -382,7 +382,7 @@ SILC_PKCS_API_SET_PRIVATE_KEY(rsa) silc_buffer_pull(&k, len); /* Get optimized d for CRT, if present. */ - if (k.len > 4) { + if (silc_buffer_len(&k) > 4) { key->crt = TRUE; silc_mp_init(&key->dP); silc_mp_init(&key->dQ);