<div>Hello everyone:</div><div><br></div><div>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><br></div><div><br></div><div>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><br></div><div>Here is my �plan:</div><div>�</div><div>Week 1 - Week 2�</div><div>- Get the Winedebug and document more adept</div><div>- Get more information about bcrypt</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>- Bcrypt Wiki: <a href="http://en.wikipedia.org/wiki/Bcrypt">http://en.wikipedia.org/wiki/Bcrypt</a></div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>- A Future-Adaptable Password Scheme: <a href="http://static.usenix.org/events/usenix99/provos/provos_html/node1.html">http://static.usenix.org/events/usenix99/provos/provos_html/node1.html</a></div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>- File of Bcrypt: <a href="http://bcrypt.sourceforge.net/">http://bcrypt.sourceforge.net/</a></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>- Read the Document of MSDN about Bcrypt and code some examples</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>- MSDN about Bcrypt: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa833130(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa833130(v=vs.85).aspx</a></div>

<div><br></div><div>Week 3 - Week 5</div><div>-Read some wine tests code and run some tests like:</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>- the basic encryption dll/crypt32/</div><div>- Understand the bcrypt algorithm, there is a lot of code for learning like:</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>- A Future-Adaptable Password Scheme: <a href="http://static.usenix.org/events/usenix99/provos/provos_html/node1.html">http://static.usenix.org/events/usenix99/provos/provos_html/node1.html</a></div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>- <a href="https://github.com/rg3/bcrypt">https://github.com/rg3/bcrypt</a>�</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>- <a href="https://code.google.com/p/py-bcrypt/source/browse/bcrypt/bcrypt.c">https://code.google.com/p/py-bcrypt/source/browse/bcrypt/bcrypt.c</a></div>

<div><br></div><div>Week 6 - Week 11</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>- Code the BCrypt. According to the MSDN The Steps of Bcrypt</div><div>� � � � - Open the Algorithm Provider</div>

<div>� � � � - Get or Set Algorithm Properties</div><div>� � � � - Create or Import a key</div><div>� � � � - Perform Cryptiographic Operations</div><div>� � � � - Close the Algorithm Provider</div><div>� � There is a cross platform Bcrypt at �<a href="http://bcrypt.sourceforge.net">http://bcrypt.sourceforge.net</a>. if it is possible we can use it and its license compatible with the wine lgpl license.</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </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><br></div><div>Week 12 - End</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- There are also some more cryptions need to tests, I can do more improvement these</div><div><br></div><div>Thank you.�</div>

<div><br></div>