On 2007.11.19 at 12:02:39 -0800, Koza wrote:

> 
> Hi,
> 
> I am looking for a bit more detailed for openssl speed command and for
> description of EVP. I used google but with poor results. Maybe you can help.
> 
> I understand that EVP is a layer for cryptographic functions. I configure it
> and then I simply write encrypt this and that. Am I right?

As far as I can understand, if you are writing an application, you
should never mention names of cryptoalgorithms such as AES, SHA1, RSA etc
in the code.

You just get digest or encryption algoritm ID from user-level
configuration, use EVP_get_cipherbyname or EVP_getdigestbyname to obtain
pointer to the structure and then use EVP routines to encrypt,
hash or digitally sign data.

It is what EVP abstraction layer is for. To make applications absolutely
indepentent of particular cryptography algorithms, and let user choose 
which algortithms and which implementation of them (may be some hardware
acceleration, available via engine module) to use.

> I also need detailed information about speed command. What exactly is being
> done using that functions (for example aes-256-enc seems to bo slower that
> simply calling AES_cbc_encrypt for a few times.

Of course speed of encryption algorithms depends of amount of data to be
encrypted. Look into the code of apps/speed.c for more details.


> I know that I can look through the code but I'd rather find some reliable
> source (maybe you can post some description?).

Code is most reliable source - command does what is written  in the
code, short of compiler errors. And human being can make mistakes when
write descriptions.

> 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to