Hi,
I'm trying to understand the code that is written in openssl/crypto/bn. I have found some "old" documentation at http://www.columbia.edu/~ariel/ssleay/cryptosupp_index.html, but this is incomplete.


I'd like to find some developer level documentation explaining how to use the BN_xxx functions, and basically how they are implemented.


For instance:
- what's the use of the BN_CTX structure ? Is it to maintain sort of a pool of BIGNUMs instead of always allocating new BIGNUMs ? what do the tos,pos, depth and too_many fields mean ? what's the correct way of using the BN_CTX_xxxx functions (declare a BN_CTX * pointer, do a BN_CTX_start on it, retrieve an available buffer with BN_CTX_get...)


- is there some explanation step by step of the bn_mod_exp_mont function (in bn_exp.c) ? I've got the reference algorithms of Montgomery just next to me (in chap 14 of "Handbook of Applied Cryptography"), but I'm quite lost at matching the steps with the actual coding.

- the bn_mod_exp_mont() function uses a "window". Is there a link to the "sliding window" technique the Handbook of Applied Crypto talks about ?

Thanks
Axelle.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to