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