Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Tiger Hash или TTH, Неполучаеться правильно вычислить хэш. 
V
    Опции темы
Ak47black
  Дата 3.3.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Помогите понять как можно правильно вычислить TTH для файла, а конкретней - это хэш используеться популярной P2P файлообменной програмой DC для проверки на целосность файла.
Скачал "DCPcrypt Cryptographic Component Library" но то там получаеться он неправильный например
Tiger: 3A5D52DF686A6B0E652FD16B34E3FE9133A13DF2540CFF1C а должег быть AWWJMOHTSSI3YRNKBBEQVIDDPFNEN2H3JMZ77IQ, видно что что-то не так.
Пробовал найти кусок кода в Dc++(это проект с открытым кодом), но там очень запутано и из такого большого проекта мне трудно выдирнуть и перевести на delphi.
Вообшем жду любой помоши и высказываний  smile .
PM MAIL   Вверх
MetalFan
Дата 3.3.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



ты бы хоть ссылки дал. на сорцы dc, на DCPcrypt и т.п....


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 3.3.2007, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Только что нашол http://www.cs.technion.ac.il/~biham/Reports/Tiger/ - тут source на "Си" только я его немогу понять как на delphi переделать.


Это сообщение отредактировал(а) Ak47black - 3.3.2007, 18:09
PM MAIL   Вверх
Ak47black
Дата 3.3.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



PM MAIL   Вверх
MetalFan
Дата 4.3.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



хм... TTH немного по-другом, чем сам Tiger Hash, у вычисляется... вычисляется хэш для частей по 1024 байта и затем через дерево Меркли вычисляется Root TTH. 
на сколько я понял)
видимо придется тебе переносить алгоритм на делфи самому.
для делфи ни примеров не компонент не нашел.



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 4.3.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



smile  Да ты угадал. Я шас сижу с C# перевожу. Я вчера это понял тож  smile .

Добавлено @ 14:27 
Думал сразу что там Tiger Hash ,а окозалось что там какоето еше дерево.
PM MAIL   Вверх
MetalFan
Дата 4.3.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



интересная задачка оказалась)
накидал я тут вроде бы работающий модуль для вычисления TTH.
еще актуально? ;)

Это сообщение отредактировал(а) MetalFan - 4.3.2007, 18:50


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 4.3.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Ну да.  smile 
Давай что там у тебя.

Добавлено @ 19:44 
MetalFan, Может ты там это все дабро переделал на Dll? Я то неуменею в C# так сделать.

Это сообщение отредактировал(а) Ak47black - 4.3.2007, 19:37
PM MAIL   Вверх
MetalFan
Дата 4.3.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(Ak47black @  4.3.2007,  19:36 Найти цитируемый пост)
Давай что там у тебя

а по-вежливей? ;) мне то не особо то и надо было этим заниматься. просто на интерес.


Цитата(Ak47black @  4.3.2007,  19:36 Найти цитируемый пост)
Может ты там это все дабро переделал на Dll? Я то неуменею в C# так сделать

какое длл? просто паскалевкий юнит с классом-аналогом содранным с того примера на шарпе


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 4.3.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Цитата

какое длл? просто паскалевкий юнит с классом-аналогом содранным с того примера на шарпе 

Я чтото невъехал где ты его взял  smile .
Цитата

а по-вежливей? ;) мне то не особо то и надо было этим заниматься. просто на интерес.

Pleazzzzzzzzzzzzzzz  smile .


MetalFan, как думаешь а через Dll-ку получиться у меня ?
PM MAIL   Вверх
MetalFan
Дата 4.3.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(Ak47black @  4.3.2007,  19:55 Найти цитируемый пост)
Я чтото невъехал где ты его взял

сам написал, еклмн. подожди, щаз соптимизирую и выложу


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 4.3.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



 smile  Waiting ......

Это сообщение отредактировал(а) Ak47black - 4.3.2007, 21:58
PM MAIL   Вверх
MetalFan
  Дата 4.3.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Вот, лови) только его еще до ума надо довести.
на больших файлах медленно работает.


Присоединённый файл ( Кол-во скачиваний: 147 )
Присоединённый файл  TTH_OnDelphi_By_MetalFan.rar 29,85 Kb


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 4.3.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



smile нефига себе, круто спасибо тебе огромное. Хмм ,а если не секрет большой откуда ты взял инфу или сидел переводил какие-то куски?

Добавлено @ 22:25 
Просто я хочю подробней изучить   smile .

Это сообщение отредактировал(а) Ak47black - 4.3.2007, 22:26
PM MAIL   Вверх
MetalFan
Дата 4.3.2007, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Ak47black, ну там же в заголовке написано, что откуда взято)
алгоритм по ссылке, что ты давал. просто "перенес" на делфи. только до ума б его довести немного.
вычисление tiger hash - компонент(что ты тоже упоминал в начале темы), получение base32 тоже сперто)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
RA
Дата 5.3.2007, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



В своё время выдрал из KOLHashes


Реализация, так сказать в одной функции

Это сообщение отредактировал(а) RA - 5.3.2007, 00:25

Присоединённый файл ( Кол-во скачиваний: 43 )
Присоединённый файл  Function.zip 13,05 Kb
PM   Вверх
MetalFan
Дата 5.3.2007, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



RA, ну во первых эти функции вычисляют просто  Tiger Hash, а не TTH. и в base32 не переводят)
а содрано это из компонент, что тут упоминались уже.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
RA
Дата 5.3.2007, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



MetalFan, да  smile ,  я по названию темы давал ответ, сори если что не то........
PM   Вверх
MetalFan
Дата 5.3.2007, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



RA, все ок, просто тема немного не правильно названа)
автору нужно было не просто Tiger Hash, а Tiger Tree Hash (aka TTH). это, как уже выяснили, немного другая вещь.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 5.3.2007, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



MetalFan, 
RA, 
Все у меня с вычислением TTH нормально. Но вот тут сталкнулся с проблемой связаной коствено. Может подскажите, надеюсь модератор небудет возражать.
Вообшем тут я работаю с DC протоколом и там мне нужно вычеслить и отправить TTHL.
Вот нашол инфы.
Цитата

This feature indicates support for the "tthl" namespace for $ADCGET. This namespace allows transfer of the intermediate (leaf) hashes used to calculate the TTH root hash. Those hashes allow verfication of segments of the associated file.

Я как понимаю из кода MetalFan, можно вытянуть это какием-то путём? Я смотрел и предпологаю что в модуле uTTH переменная FLeafList содержит (leaf) hashes. Но там просто строки(из обычных символов), а по сниферу я определил что DC отправляет ну чтото на подобии
Цитата

$ADCSND tthl TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 912|‡mEJs.›№ЖzњМ]РьLѕ$3Пefn"‰\Пџ†YЕтVr2b
ѓ<†ЋPШ·,›j;ж3зЌTж-RоёЛЯюUЬ0Вµ

Тоесть тут не только буквы, (небуквой я сшитаю например: '‡')
Вообшем может что-нибудь подскажите  smile 
PM MAIL   Вверх
MetalFan
Дата 5.3.2007, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



нет, в FLeafList уже содержаться IH (Internal Hashes - хэши пар изначальных хэшей(LF-Leaf Hash)).
нет там "просто строк из обычных символов". нигде. в самом "конце" Root hash преобразуется в строковое base32 представление.
но, FYI(for u information)
1) хэши кусков исходного файла помечаются в первом байте $00. IH(Internal Hashes) помечаются в первом байте $01.
2) на сколько я понимаю из 
Цитата
$ADCSND tthl TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 912...

тебе надо отослать LH 912 куска (т.е. с 911*1024 по 912*1024 байт исходного файла).

з.ы. не совсем ясно, какие параметры имеются на входе $ADCSND.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 5.3.2007, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



MetalFan, там как-бы идет пересылка по такому принципу (я изучал трафик) 
>> RECV <<  - это я (Uploader)
>> SEND <<  - это кому посылаю (Downloader)
Цитата

>> RECV << 
$ADCGET tthl TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 -1| 
 // Получаем запрос
>> SEND << 
$ADCSND tthl TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 912|‡mEJs.›№ЖzњМ]РьLѕ$3Пefn"‰\Пџ†YЕтVr2b
ѓ<†ЋPШ·,›j;ж3зЌTж-RоёЛЯюUЬ0Вµ­Y;Ћ:Љ5!цЁF# ( З;БінDя!Ѕ–\sORб]ўbNb‚¶ўsw+%ЁOх`1P!ѓy1х¤(„Eѕ
% ‰`П.ЪяѕЭRQhЄe…51ObnaК—@@љёжlщЬЄЌr•YЇ»Ь‰jz»хѓpф‰ЙДѕ"^KlЗ4)W5Яn§дAф†'ФfаRеXЌЖvKЪ˜Iч?ПKdЁуџix№иВXP|Мт“ ќ#Ы­$:(‹Е uћї®Рm_њв8Ш|Uy`4Д§юпг СЩN'Уs{(G¬SЌьйрќ·яЗљIs NЂУх–‚ьЂўI/M°}Яџ<Ъlu5йу2_y¶ГµИ‰ф+s…2ч
¶щGѓsђuЃћrЁр¶юІ¤(Ѓ ВЎ5)K'Ыe,}IзmџуUF¬ДzЙЯЃЭ‹ш жк"
@wLЄЉ‡©NN1j;,r<щҐThк’Д­ЩёлМ’ЦG›)^F.xxtq °ж‹бi¶sЛ ьЯ­-?<MљBыX…Сў9№РcфпRЈy(mЦ '3ЉЬЯЧCП6и Љ№лaґ1[d°u†gчCу3AШaн“dв    $·ш?KMџх
AFюыѓАс)&!!'°[+]QMLаsХ¦ґM“Anюб0Hb?<ф\*1№eй_ьЗѓ/Vв+УЃ0<Ѕї
R    s§vиBп?RэIњіG.…»]ЂТ›cќ1ычЖxUaЗП|EеРгґtю5…ёќ(uЫяyа=ЩЬПОРЇќ%e=]сЛgPшв§3¬eЎ7OР{ћЊGt­П– L{Љ„”•
ЂНЌџ•з<…|„ћј,I„ґd#мооЏв\»єuЇo2х6H’Гхч‰Vm•Шжk.к(Lї/*щикЇ‘sg5єb&ІлШры¶ТKr>a6N?–ЂIвЬћHг§<Н$рqЛ    [З*‰9g®ЁP±:бB8b&МR‚`>¦cT—”f™Le˜#Ч2ўЎ‹Ба°E Е6Д’Хk]0‡5GъГ–WP·?Tб№јл.ґѓЙЃЧ±zy.|›Ьуnх$ЉeъFq
 // тут Отсылаем Вот этот неизвестный для меня TTHL, я должен послать Downloadеру и высшитать его по отсылаемому файлу
>> RECV << 
$ADCGET file TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 2445312 ZL1  |
//тут получаем разрешение для посылки файла
>> SEND << 
$ADCSND file TTH/7AZ23T2SBHUFFPWCP3LWG2SFSWLQMFTZU62SSPY 0 2445312 ZL1| 
 // тут после '|' отсылаем первый чанк файла размером 40906 байт


Добавлено @ 23:35 
О протоколе reference http://www.teamfair.info/DC-Protocol.htm

Добавлено @ 23:39 
Вот только что я нашол о TTHL 
Цитата

Supporting this means supporting the upload of tth leaf data. Instead
of transfering the file itself, the TTH data of all leaves is transferred
in binary. The size transferred back is the number of bytes of leaf data,
from this and the file size the receiving client can calculate which
level (tree depth) the sending client is offering. The receiver should
obviosly check that the received leaf data is correct by rebuilding the
tree and checking that it's recorded root matches.

С кэша взял так как страница не сушествует
Цитата

This feature indicates support for the "tthl" namespace for $ADCGET. This namespace allows transfer of the intermediate (leaf) hashes used to calculate the TTH root hash. Those hashes allow verfication of segments of the associated file.

DC++ с открытым кодом http://dcplusplus.sourceforge.net/download/

Добавлено @ 23:41 
В DC++ скорей всего можно выдирнуть. Только я в Криптографии плохо орентируюсь (точнее еше недоходил до обучения).А так в интернете только это все нашол.

Это сообщение отредактировал(а) Ak47black - 5.3.2007, 23:47
PM MAIL   Вверх
MetalFan
Дата 6.3.2007, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(Ak47black @  5.3.2007,  23:33 Найти цитируемый пост)
Вот только что я нашол о TTHL

ну тык в чем проблема? все понятно написано вроде как...

и вообще, на вопрос, поднятый заголовке темы, ответ дан.

создавай новую тему, в сетях, по работе с протоколом DC.
+ хотелось бы узнать, что такое ты пишешь ;)

Это сообщение отредактировал(а) MetalFan - 6.3.2007, 09:01


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 6.3.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



MetalFan, Вот тут создал http://forum.vingrad.ru/act-ST/f-86/t-139947/unread-1.html
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.