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]

Reply via email to