I was just thinking what you suggested as it would be costly
affair to kick accelerator for single block.
Well, single *or* small amount of blocks, with how small amount
depending on hardware overhead costs and software/hardware sustained
performance ratio. For example as per
http://marc.info/?l=openssl-dev&m=115989512430107&w=2 on VIA Esther CPU
it doesn't pay off to engage SHA1 hardware for inputs shorter than 512
bytes or 8 blocks. While in SHA256 case software is so slow, that
passing already 128 bytes or 2 blocks is advantageous. Once again, this
is just an example, the numbers are specific for VIA *and* that
particular technique (involving _crashing_ a machine instruction into
non-accessible page).
I see that in an engine there has to be a sequence init -> (one
more more) update -> final - > cleanup, at least once even if the
block size is just right, correct?
How do I make sure that for single block it doesn't go thru
engine?
I don't understand what is the problem. You just do it. If input for
update is too short, you call software to do the job. And as final is
single block operation you call software too. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]