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 [email protected]
Automated List Manager [email protected]