2013-06-04 7 views
2

Hashlib команда,ли C# шифрование библиотеки hashlib правильно в его реализации

Я не уверен, возвращает ли библиотека SHA-3 (Keccak) правильное шифрование. Я использовал последнюю версию исходного кода (ревизия, 78295), загруженный из CodePlex, но это не соответствует вектор и результат обеспечивается в (SHA-3 страницы) Википедии

Когда я использую следующий код

IHash hash = HashFactory.Crypto.SHA3.CreateKeccak512(); 
HashResult res = hash.ComputeString("", System.Text.Encoding.ASCII); 
string dd = res.ToString(); 

в моем VS 2012 IDE, я получаю результат, как

DF987CFD-23FBC92E-7E87FAAC-A300EC3F-AA1DBADC-678E8EE9-4A830968-F22D9209-64AB402D-C5D0F7B2-0C9644BE-08056555-C789D295-8BDA3DF9-8C94BACC-EA25D3C1 

Это на самом деле должен вернуться:

0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e 

В соответствии со следующим сообщением Simple implementation of SHA-3 Keccak hashing to the wrong output in C#? Дэвид ответил, что последняя кодовая база должна вернуть правильный результат. Я не уверен, что изменения на месте.

Когда я использовал тестовый вектор, который был взят из файла ExtremelyLongMsgKAT_512.txt

abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno 

и используя код

hash.ComputeString("abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno").ToString(); 

результат также отличается от ожидаемого. Тест векторный файл говорит, результат будет:

3E122EDAF37398231CFACA4C7C216C9D66D5B899EC1D7AC617C40C7261906A45FC01617A021E5DA3BD8D4182695B5CB785A28237CBB167590E34718E56D8AAB8 

Однако фактический результат был

"B9942109-EB762527-FB384E14-7EDA2DAA-71CA782F-4819B53E-E13C1C13-1C572D99-2B387FA7-212FF624-6EED988D-31AFB23B-4D1B7C44-BC38F908-46EE25F4-AABD5920" 

ответ

0

Пока я не могу говорить за Hashlib, ExtremelyLongMsgKAT_512.txt утверждает, что вход должен быть повторен 16777216 раз. В моем порту на https://bitbucket.org/jdluzen/sha3 я включил большинство встроенных тестов, в том числе очень длинные.

+0

Да, похоже, что после многих повторений хэш, который я получил, показывает правильно. но проблема в том, что она проработала около 3 часов, чтобы закончить – Bepenfriends

+0

Это чертовски долгое время! Я работаю в режиме Release, с отладчиком, и он занимает около минуты на i5. Что-то еще происходит? – joe

+0

вы можете поделиться фрагментом кода, который вы использовали, может быть, мои петли/повторения могут быть ошибочно выполнены. Также я на AMD – Bepenfriends

 Смежные вопросы

  • Нет связанных вопросов^_^