Hi Juan Lang, Thank you for your suggestion, I accept that there is a misconception with my Bcrypt proposal. There are more things i need to learn, So I expect to join the wine project. people here are very enthusiastic, your suggestion and Markek Chmiel's generous. the DH and DSS is strange to me, But i want to try. According to your suggestion, i think DH and DSS is a better choice. my chinese name is Zhang Kaiyi. you can me either as you want. Thanks again.
2013/5/10 Juan Lang <juan.l...@gmail.com> > 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 > > > On Thu, May 9, 2013 at 8:35 PM, Kaiyi Zhang <zky.own.s...@gmail.com>wrote: > >> Hello everyone: >> >> I am Kaiyi Zhang,A Computer Science and Engineering student from china, >> my major is information security. My nickname in #winehackers is >> KaiyiZhang. I heard the GSOC and I'm very interested in this, wine is >> tempting to me.I have submitted my wine application before the deadline of >> GSOC. However, There are some exams which takes a lot of time, So lack of >> communication with the wine developers. I know it is late to apply for >> GSoC, however, I'm still interesting to the cryptography work in Wine even >> if I'm not accept as an official GSoC2013 student. Cryptography work is >> difficult, and Wine is difficult, so cryptography in Wine is double >> difficult for a beginner like me, could I ask for a mentor for the >> cryptography work even if my proposal is not accepted? To my dear kindly >> future mentor: I don't know how to thank you, but I'll work hard on >> contributing to the Wine project as more as I can. Sincerely appreciate. >> >> >> My idea is bcrypt improvement, I think it's very suitable for me, I >> learned the information security. Cryptography is one of my courses. I >> once development a Elliptic curve cryptography Demonstration system which >> makes the ECC Graphical. And i found there is blank in bcrypt, I want to do >> some improvement in this. I know there it's difficult for me to develop. >> but i can code some test code firstly. I read the >> dlls/rsaendh/tests/rsaenh.c: test_hashes(),test_des(),test_rsa() etc. and >> test the code on ubuntu successfully. >> >> Here is my plan: >> >> Week 1 - Week 2 >> - Get the Winedebug and document more adept >> - Get more information about bcrypt >> - Bcrypt Wiki: http://en.wikipedia.org/wiki/Bcrypt >> - A Future-Adaptable Password Scheme: >> http://static.usenix.org/events/usenix99/provos/provos_html/node1.html >> - File of Bcrypt: http://bcrypt.sourceforge.net/ >> - Read the Document of MSDN about Bcrypt and code some examples >> - MSDN about Bcrypt: >> http://msdn.microsoft.com/en-us/library/windows/desktop/aa833130(v=vs.85).aspx >> >> Week 3 - Week 5 >> -Read some wine tests code and run some tests like: >> - the basic encryption dll/crypt32/ >> - Understand the bcrypt algorithm, there is a lot of code for learning >> like: >> - A Future-Adaptable Password Scheme: >> http://static.usenix.org/events/usenix99/provos/provos_html/node1.html >> - https://github.com/rg3/bcrypt >> - https://code.google.com/p/py-bcrypt/source/browse/bcrypt/bcrypt.c >> >> Week 6 - Week 11 >> - Code the BCrypt. According to the MSDN The Steps of Bcrypt >> - Open the Algorithm Provider >> - Get or Set Algorithm Properties >> - Create or Import a key >> - Perform Cryptiographic Operations >> - Close the Algorithm Provider >> There is a cross platform Bcrypt at http://bcrypt.sourceforge.net. >> if it is possible we can use it and its license compatible with the wine >> lgpl license. >> - add stub functions for Tests functions() and code the Tests >> functions(). The dlls/rsaenh/tests/rsaenh.c is a good reference. encrypt >> the pdData and compare with the right value. stub BCryptCreateHash() >> BCryptHashData() BCryptDuplicateHash() BCryptDuplicateHash >> BCryptDestroyHash() for test_hashes(). stub BCryptGenerateSymmetricKey() >> BCryptKeyDerivation() BCryptDestroyKey() for test_key_derivation(). stub >> BCryptGenRandom() for test_gen_random(). >> >> Week 12 - End >> - There are also some more cryptions need to tests, I can do more >> improvement these >> >> Thank you. >> >> >> >> >