Ask for mentor - Improve Bcrypt

Kaiyi Zhang zky.own.star at gmail.com
Fri May 10 00:25:55 CDT 2013


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.lang at 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.star at 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.
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20130510/7e9bfd19/attachment-0001.html>


More information about the wine-devel mailing list