Hey Kaiyi Zhang, Welcome to wine dev! If you decide to move forward with this(DH and DSS), I wish to share with you all that I have finished up to now. Using a few things from RSAENH I have all the related algorithms functioning. Also using LibTomCrypt I have partially implemented DSA but you would have to choose on the PRNG that DSA will use. My plan was to use RC4 but have not gotten to test that. I have yet to touch anything with DH_EPHEM (Ephemeral) or DH_SF (Store and Forward). If you have any questions shoot them to Juan or me (Juan is the better choice). Best of luck! -- Marek
Hi Kaiyi Zhang,
(or is Zhang Kaiyi?)
I think there's a little misconception in your proposal. Bcrypt the algorithm is not the same as the BCrypt functions in crypt32. I believe that Microsoft redesigned their CryptoAPI and more or less renamed their functions BCrypt*. I don't believe they have any relationship to the Bcrypt algorithm by Niels Provos and David Mazieres. I don't know how many applications depend on the Bcrypt* functions in newer crypt32 implementations, vs. the the Crypt* functions that are present in all versions of crypt32.
If you want feedback on Wine crypto stuff, I'm probably the best to help you with that. Sorry if I've been a little absent, I'm pretty busy between my family and my day job of late.
I have another idea for you that I think is tractable, and perhaps up your alley. The DH and DSS algorithms are still unimplemented in Wine. We already have tests for them, so I think it should be possible to contribute implementations. See the tests in dlls/dssenh/tests.
I hope that helps. --Juan