Hi, Timo
Thanks for your reply.
    
> I have made enhanved versions of the SHA support including partial 
> Nano support and proper optimizations for the earlier variant that 
> does finalizing hashing only. They are both on OpenSSL RT. Latest 
> versions of my patch set for 1.0-branch is at:
>  http://git.alpinelinux.org/cgit/aports.git/tree/main/openssl
> 
> 
> Please take a look at my SHA patches, they should implement everything 
> properly. RNG patches you might need to fix.

In fact, I have read your patch for SHA, and it seems to complete everythin. So 
my patch for SHA isimplemented based on it, and just a few modification is 
applied.
If you don't mind, I would like to send my patch to you as soon as I finish it.

> 
> > 2. The"via-mont.pl"seems no to be used, is there any taboo
> against it or some bad history I are missing ? If yes, please tell me.
> 
> I think the OpenSSL core code is missing montgomery multiplication 
> abstraction. It seems to be compile time option only to pick which 
> implementation is used. So to get the montgomery stuff enabled by 
> default, you'd probably also need to implement abstraction support for 
> it.

Thank you very much for your advice.
I just have a basic knowledge of OpenSSL, so I do not understand what the 
"abstraction" means.  I guess you mean that montgomery multiplication  is not 
exported to developers as a interface, such as engine, so I have to implement 
by myself. If it is, that's really a tough problem for me.

> 
> > 3. If I want to submit a patch which implements modular
> multiplication and modular exponentiation by calling VIA PadLock 
> hardware instruction, should I write it in a individual Perl script 
> like "via-mont.pl", or wrap it in the RSA/DSA method to be implemented 
> in PadLock engine ? Or both are required?
> 
> They work on different levels of the openssl library. 
> Implementing via-mont.pl would be probably easier. Doing the 
> implementation only in RSA/DSA method of the padlock module would 
> enable the multiplication acceleration only for certain operations of 
> the library. So I'd probably go with via-mont.pl and adding the 
> required abstraction layer.
> 
That's a good news for me if you would like to go with the work for abstraction 
layer.
Exactlly speaking, I just want to "padlock" engine in OpenSSL can use the 
hardware-implemented modular  multiplication and modular exponentiation, so I 
prefer to doing the implemenation in RSA/DSA method of padlock engine. 
However, I have to use some individual asm files in my implementation such as 
supporting for WIN32 or WIN64, so perl script like "via-mont.pl" is also needed 
to generate cross-platform code. Do you have any suggestion on my 
implemenation? Thanks !

> 
> Thanks,
>   Timo
> 

Regards,
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to