<div dir="ltr">Hi Kaiyi Zhang,<div><br></div><div>(or is Zhang Kaiyi?)</div><div><br><div style>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.</div>
<div style><br></div><div style>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.</div>
<div style><br></div><div style>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.</div>
</div><div style><br></div><div style>I hope that helps.</div><div style>--Juan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 9, 2013 at 8:35 PM, Kaiyi Zhang <span dir="ltr"><<a href="mailto:zky.own.star@gmail.com" target="_blank">zky.own.star@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">Hello everyone:</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">

<br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">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.</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
<br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">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.</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Here is my �plan:</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">�</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Week 1 - Week 2�</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">- Get the Winedebug and document more adept</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">



- Get more information about bcrypt</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap"> </span>- Bcrypt Wiki:�<a href="http://en.wikipedia.org/wiki/Bcrypt" style="color:rgb(17,85,204)" target="_blank">http://en.wikipedia.org/wiki/Bcrypt</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- A Future-Adaptable Password Scheme:�<a href="http://static.usenix.org/events/usenix99/provos/provos_html/node1.html" style="color:rgb(17,85,204)" target="_blank">http://static.usenix.org/events/usenix99/provos/provos_html/node1.html</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- File of Bcrypt:�<a href="http://bcrypt.sourceforge.net/" style="color:rgb(17,85,204)" target="_blank">http://bcrypt.sourceforge.net/</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- Read the Document of MSDN about Bcrypt and code some examples</div>
<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- MSDN about Bcrypt:�<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa833130(v=vs.85).aspx" style="color:rgb(17,85,204)" target="_blank">http://msdn.microsoft.com/en-us/library/windows/desktop/aa833130(v=vs.85).aspx</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Week 3 - Week 5</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">-Read some wine tests code and run some tests like:</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">



<span style="white-space:pre-wrap">     </span>- the basic encryption dll/crypt32/</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">- Understand the bcrypt algorithm, there is a lot of code for learning like:</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- A Future-Adaptable Password Scheme:�<a href="http://static.usenix.org/events/usenix99/provos/provos_html/node1.html" style="color:rgb(17,85,204)" target="_blank">http://static.usenix.org/events/usenix99/provos/provos_html/node1.html</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>-�<a href="https://github.com/rg3/bcrypt" style="color:rgb(17,85,204)" target="_blank">https://github.com/rg3/bcrypt</a>�</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>-�<a href="https://code.google.com/p/py-bcrypt/source/browse/bcrypt/bcrypt.c" style="color:rgb(17,85,204)" target="_blank">https://code.google.com/p/py-bcrypt/source/browse/bcrypt/bcrypt.c</a></div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Week 6 - Week 11</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">    </span>- Code the BCrypt. According to the MSDN The Steps of Bcrypt</div>
<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">� � � � - Open the Algorithm Provider</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
� � � � - Get or Set Algorithm Properties</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">� � � � - Create or Import a key</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">



� � � � - Perform Cryptiographic Operations</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">� � � � - Close the Algorithm Provider</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">



� � There is a cross platform Bcrypt at �<a href="http://bcrypt.sourceforge.net/" style="color:rgb(17,85,204)" target="_blank">http://bcrypt.sourceforge.net</a>. if it is possible we can use it and its license compatible with the wine lgpl license.</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">        </span>- 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().�</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Week 12 - End</div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><span style="white-space:pre-wrap">       </span>- There are also some more cryptions need to tests, I can do more improvement these</div>



<div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">
Thank you.�</div>
<br><br>
<br></blockquote></div><br></div>