| 
 
 
 
 Легенда:
  новое сообщение 
  закрытая нитка 
  новое сообщение 
  в закрытой нитке 
  старое сообщение   | 
Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
Новичкам также крайне полезно ознакомиться с данным документом.
|  | Чуть дополню  05.02.17 16:32  Число просмотров: 3148 Автор: leo <Леонид Юрьев> Статус: Elderman
 |  
| t1ha имеет достаточно регулярную структуру, что должно упрощать анализ. Например в сравнении с FarmHash. 
 t1ha должна очень хорошо работать на E2K и IA64.
 
 Технически, кроме переносимого варианта t1ha, также доступны еще несколько.
 Например, t1ha_local() в случае x86_64 использует все доступные фичи процессора.
 |  | <theory> |  
| Хэш-функция t1ha  05.02.17 16:26 Автор: leo <Леонид Юрьев> Статус: Elderman
 |  
| Кратко о t1ha: 1. новый быстрый не-криптографический переносимый хэш для 64-битных систем.
 2. почти вдвое быстрее FarmHash (и всех прочих) на коротких ключах, на больших чуть быстрее или сопоставим.
 3. t1ha проходит все тесты SMHasher, как и другие подобные.
 
 Цель дизайна t1ha в получении предельно быстрого, короткого (64 бита), переносимого софтверного хэша с приемлемым (reasonable) качеством.
 Поэтому в t1ha интенсивно используется 64-битное умножение, но нет как таковых внутренних раундов.
 
 У t1ha очень неплохие показатели качества, а с учетом затраченных тактов процессора они пожалуй превосходны.
 В текущем понимании, по качеству t1ha уступает только "тяжелым" хешам с много-раундовой организацией.
 В остальных случаях, тесты дают основания считать, что t1ha выигрывает как по качеству, так и по скорости.
 
 При дизайне t1ha в главные цели не входила устойчивость к преднамеренной генерации коллизий.
 Такая устойчивость требует многораундовой обработки, что приводит к кратному снижению производительности.
 Целевая задача не позволяла жертвовать производительностью, поэтому было решено сначала добиться максимальной стойкости без потери производительности и перехода к многорайндовой обработке, а уже после подумать о более медленном и стойком варианте.
 
 В этом главное отличие t1ha от SipHash.
 Тем не менее, t1ha гораздо более устойчива к атакам чем многие другие быстрые функции.
 При этом следует отметить, что требуется дальнейший анализ как перемешивания вида mux64(rot64(a + b, s1), p4) + mix(a ^ b, p0), так и в t1ha в целом, на предмет "вскрытия" seed для последующей генерации коллизий.
 
 Результаты такого анализа позволят оценить возможность создания стойкой версии t1ha, с минимальным количеством раундов.
 
 t1ha на github
 |  
|  | Чуть дополню  05.02.17 16:32 Автор: leo <Леонид Юрьев> Статус: Elderman
 |  
| t1ha имеет достаточно регулярную структуру, что должно упрощать анализ. Например в сравнении с FarmHash. 
 t1ha должна очень хорошо работать на E2K и IA64.
 
 Технически, кроме переносимого варианта t1ha, также доступны еще несколько.
 Например, t1ha_local() в случае x86_64 использует все доступные фичи процессора.
 |  
 
 
 |  |