About 2 years ago I had an idea to create an open library of the Ukrainian standard of digital signature DSTU 4145-2002. The Ukrainian standard, like the Russian one, is based on elliptic curves, but differs in details.
It was with great difficulty that the text of the standard was found (strangely, the text of the Russian standard is freely available), and it seems like the case remains for a small ...
Over the past two years, unfortunately, very little has been done: the task is complex, there are no ready-made open libraries or examples, time is short. Therefore, it was decided to try his luck, if someone wants to take part in the project. In more detail about the project - read under a cat.
Further, the points:1. What is the point of making a library? What's next?
Creative interest, expansion of experience in cryptography. The project does not imply any commercial benefit (although it is not excluded).
Ideally, the code can be included in the openssl open libraries and bouncycastle.org.2. In what language will the library be written?
In C, Java, C #. This issue bothers me the least - because redoing from Java / C # to C or vice versa is usually not difficult.
Primary development started in C # (historically). The goal at the moment is to repeat the example given in the standard (roughly speaking, so that all calculations agree).3. What is needed to participate in the development?
All that is (for now almost nothing :)) is uploaded to the repository
There are developers, current tasks and e-mail for communication.
All authors, developers are listed in the order added to the project (indicating the role).
October 29, 2010, 8 years after the adoption of the standard, Ukraine finally found the first version of a working library for key generation, generation and verification of digital signatures according to DSTU 4145-2002
! Hurray comrades!
The library, of course, loudly said. While there is only 100% working example that needs to be finished. But the ice was broken, gentlemen.
While we do not make sensations, because the library has not yet reached the Beta version.
November 22 published an alpha version of the library
. It works both with curves in a polynomial basis and with curves in an optimal normal basis.