Напалм про SHA-1
09.11.2012
|
VladD2 |
Здравствуйте, WolfHound, Вы писали:
WH>SHA1 совпадет?
Хэш есть хэш. Вероятность может и низка, но она 100% есть.
WH>А ты знаешь, что GIT использует SHA1 в качестве первичного ключа?
Я в детали не вдавался. Если это так и никаких дополнительных действий не предпринимается, то вероятность дублирования есть. Возможно они тупо добавляют время комита, что делает вероятность совпадения совсем мизерной.
WH>Что будет, если у двух исходных файлов SHA1 совпадет? Это же репозиторий GIT'а сломается...
WH>Короче на данный момент не известно ни одной коллизии SHA1.
А их кто-то проверяет?
В общем, хэш есть хэш. Уникальным его можно считать разве что условно. А изменение файла можно отслеживать и по времени или сочетании хэша и времени.
WH>SHA1 совпадет?
Хэш есть хэш. Вероятность может и низка, но она 100% есть.
WH>А ты знаешь, что GIT использует SHA1 в качестве первичного ключа?
Я в детали не вдавался. Если это так и никаких дополнительных действий не предпринимается, то вероятность дублирования есть. Возможно они тупо добавляют время комита, что делает вероятность совпадения совсем мизерной.
WH>Что будет, если у двух исходных файлов SHA1 совпадет? Это же репозиторий GIT'а сломается...
WH>Короче на данный момент не известно ни одной коллизии SHA1.
А их кто-то проверяет?
В общем, хэш есть хэш. Уникальным его можно считать разве что условно. А изменение файла можно отслеживать и по времени или сочетании хэша и времени.
09.11.2012 10 комментариев |
VD>Хэш есть хэш. Вероятность может и низка, но она 100% есть.
Спасибо кэп.
VD>Я в детали не вдавался. Если это так и никаких дополнительных действий не предпринимается, то вероятность дублирования есть. Возможно они тупо добавляют время комита, что делает вероятность совпадения совсем мизерной.
Ничего они дополнительно не делают.
И HG тоже живет на SHA1. И тоже ничего дополнительно не делает.
VD>А их кто-то проверяет?
Проверяют. Еще как проверяют. Толпы криптографов только этим и занимаются.
VD>В общем, хэш есть хэш. Уникальным его можно считать разве что условно. А изменение файла можно отслеживать и по времени или сочетании хэша и времени.
Время не нужно.
VD>В общем, хэш есть хэш. Уникальным его можно считать разве что условно. А изменение файла можно отслеживать и по времени или сочетании хэша и времени.
SHA-1 алгоритм генерирует 160-битное хеш-значение.
2^160 ~= 1.46*10^48
Т.е. вероятность того, что два разных документа будут иметь одинаковый хэш равна ~10^(-48).
Оценим вероятность падения астероида на сервер.
Если верить этому, то частота падения астероида с поперечником >50 метров — раз в 1000 лет.
Допустим, что площадь сервера порядка 1м^2.
Упростим задачу — оценим вероятность того, что за 1000 лет астероид упадет на сервер, причем его центр масс окажется внутри поверхности сервера.
Площадь Земли равна ~5*10^14 м^2. Т.е. вероятность порядка 10^(-15).
Итого, вероятность падения астероида на сервер за 1000 лет примерно в 10^33 выше, чем вероятность того, что два разных документа будут иметь одинаковый SHA-1 хэш.
PS Я нигде не ошибся?
PPS На правах шутки
A>Здравствуйте, VladD2, Вы писали:
A>PS Я нигде не ошибся?
A>PPS На правах шутки
Ошибся, при вычислениях коллизий хеша берут корень из числа значений т.е примерно 10^24 (парадокс шапок)
Хеш относильно легко подделывается, а генерация пар текстов имеющих один и тот же хеш плевое дело давно уже....
но если злой умысел можно исключить, то винт сгорит всяко быстрее даи сервер сменят...
А>Здравствуйте, artelk, Вы писали:
A>>PS Я нигде не ошибся?
A>>PPS На правах шутки
А>Ошибся, при вычислениях коллизий хеша берут корень из числа значений т.е примерно 10^24 (парадокс шапок)
А>Хеш относильно легко подделывается, а генерация пар текстов имеющих один и тот же хеш плевое дело давно уже....
Но это другая задача, она проще, чем подобрать другой текст с тем же хэшем.
А>но если злой умысел можно исключить, то винт сгорит всяко быстрее даи сервер сменят...
Был один js, его как-то поменяли (без намерения сделать так, чтобы результат имел тот же хэш). Какова вероятность?
A>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, artelk, Вы писали:
A>>>PS Я нигде не ошибся?
A>>>PPS На правах шутки
А>>Ошибся, при вычислениях коллизий хеша берут корень из числа значений т.е примерно 10^24 (парадокс шапок)
А>>Хеш относильно легко подделывается, а генерация пар текстов имеющих один и тот же хеш плевое дело давно уже....
A>Но это другая задача, она проще, чем подобрать другой текст с тем же хэшем.
А>>но если злой умысел можно исключить, то винт сгорит всяко быстрее даи сервер сменят...
A>Был один js, его как-то поменяли (без намерения сделать так, чтобы результат имел тот же хэш). Какова вероятность?
10^48
если у тебя много файлов таких то она растет как n^2
А>Хеш относильно легко подделывается, а генерация пар текстов имеющих один и тот же хеш плевое дело давно уже....
Для SHA1? Ссылку на работу можно?
А>Ошибся, при вычислениях коллизий хеша берут корень из числа значений т.е примерно 10^24 (парадокс шапок)
Что за парадокс? Что-то ничего невыгуглилось
_FR>Что за парадокс? Что-то ничего невыгуглилось
Обычно это называют парадоксом дней рождений. При чём тут шапки я не знаю.
SH>Здравствуйте, _FRED_, Вы писали:
_FR>>Что за парадокс? Что-то ничего невыгуглилось
SH>Обычно это называют парадоксом дней рождений. При чём тут шапки я не знаю.
Пришло 20 человек и побросали шапки в кучу. Когда уходили никто не помнил где, чья шапка и по этому взяли случайно.
Какова вероятность что хотя бы один взял свою шапку.
WH>>SHA1 совпадет?
VD>Хэш есть хэш. Вероятность может и низка, но она 100% есть.
WH>>А ты знаешь, что GIT использует SHA1 в качестве первичного ключа?
VD>Я в детали не вдавался. Если это так и никаких дополнительных действий не предпринимается, то вероятность дублирования есть. Возможно они тупо добавляют время комита, что делает вероятность совпадения совсем мизерной.
Да она и так, мягко говоря, настолько около нуля, что добавление времени ничего здесь не изменит.