![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
1 | |
Нужна хеш-функция для программы на языке С++14.06.2010, 22:36. Показов 8687. Ответов 11
Метки нет Все метки)
(
К моей программе необходимо прикрутить функцию для вычисления хеша. Подскажите, пожалуйста, работоспособный исходник хеш-функции для программы на языке С++.
0
|
|
14.06.2010, 22:36 | |
Ответы с готовыми решениями:
11
Хеш-функция и хеш-таблица Конвертер для перевода программ на языке PHP в текст программы на языке Assembler Для формирования хеш-адреса использовать хеш-функцию универсального хеширования
|
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
|
|
15.06.2010, 09:36 | 2 |
1
|
![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
15.06.2010, 14:35 [ТС] | 3 |
0
|
2832 / 1641 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
15.06.2010, 15:11 | 4 |
0
|
![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
15.06.2010, 18:01 [ТС] | 5 |
0
|
![]() 2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
15.06.2010, 18:32 | 6 |
Хорошо, тогда сформулируй, в чем разница между хеш-функцией и контрольной суммой.
0
|
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
|
|
15.06.2010, 18:55 | 7 |
0
|
![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
16.06.2010, 09:12 [ТС] | 8 |
Контрольные суммы
Несложные, крайне быстрые и легко реализуемые аппаратные алгоритмы, используемые для защиты от непреднамеренных искажений, в том числе ошибок аппаратуры.
По скорости вычисления в десятки и сотни раз быстрее, чем криптографические хеш-функции, и значительно проще в аппаратной реализации. Платой за столь высокую скорость является отсутствие криптостойкости — лёгкая возможность подогнать сообщение под заранее известную сумму. Также обычно разрядность контрольных сумм (типичное число: 32 бита) ниже, чем криптографических хешей (типичные числа: 128, 160 и 256 бит), что означает возможность возникновения непреднамеренных коллизий. Простейшим случаем такого алгоритма является деление сообщения на 32- или 16- битные слова и их суммирование, что применяется, например, в TCP/IP. Как правило, к такому алгоритму предъявляются требования отслеживания типичных аппаратных ошибок, таких, как несколько подряд идущих ошибочных бит до заданной длины. Семейство алгоритмов т. н. «циклических избыточных кодов» удовлетворяет этим требованиям. К ним относится, например, CRC32, применяемый в аппаратуре Ethernet и в формате упакованных файлов ZIP. Криптографические хеш-функции
Среди множества существующих хеш-функций принято выделять криптографически стойкие, применяемые в криптографии. Для того, чтобы хеш-функция H считалась криптографически стойкой, она должна удовлетворять трем основным требованиям, на которых основано большинство применений хеш-функций в криптографии:
* Необратимость: для заданного значения хеш-функции m должно быть вычислительно неосуществимо найти блок данных X, для которого H(X) = m. * Стойкость к коллизиям первого рода: для заданного сообщения M должно быть вычислительно неосуществимо подобрать другое сообщение N, для которого H(N) = H(M). * Стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару сообщений ~(M, M'), имеющих одинаковый хеш. Данные требования не являются независимыми: * Обратимая функция нестойка к коллизиям первого и второго рода. * Функция, нестойкая к коллизиям первого рода, нестойка к коллизиям второго рода; обратное неверно. Следует отметить, что не доказано существование необратимых хеш-функций, для которых вычисление какого-либо прообраза заданного значения хеш-функции теоретически невозможно. Обычно нахождение обратного значения является лишь вычислительно сложной задачей. Атака «дней рождения» позволяет находить коллизии для хеш-функции с длиной значений n битов в среднем за примерно 2n / 2 вычислений хеш-функции. Поэтому n-битная хеш-функция считается криптостойкой, если вычислительная сложность нахождения коллизий для неё близка к 2n / 2. Для криптографических хеш-функций также важно, чтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хеша не должно давать утечки информации даже об отдельных битах аргумента. Это требование является залогом криптостойкости алгоритмов хеширования, хеширующих пользовательский пароль для получения ключа.
0
|
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
|
|
16.06.2010, 10:24 | 9 |
RNT, это тоже самое что спорить какой стол подходит для кухни - круглый или обеденный, или какая машина надёжнее - дизельная или хэтчбэк. Ты доказываешь что "криптографическая хеш-функция" это настоящая "хеш-функция", а остальные нет.
"контрольная сумма" = "хеш-сумма". "Криптографические хеш-функции" тоже вычисляют хеш-сумму (или контрольную сумму, или просто "хеш"). А назвали их криптографичискими из-за большей надёжности и стойкости. Кстати из твоего первого сообщения совершенно непонятно для чего тебе нужна хеш-функция - проверять пароли, файлы или просто для быстрого поиска по ключу.
2
|
![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
16.06.2010, 21:40 [ТС] | 10 |
Нужна криптографическая хэш-функция.
Объясню зачем это нужно. Подробнее можно узнать прочитав эту тему . Я нашел интересный способ хранения паролей от любого количества учетных записей при помощи хэш-функции. Минус такого способа в том, что хэш-функция выводит шестнадцатеричный код, который в качестве пароля ненадежен, т.к. используются только 16 разных символов. Я сделал программу, которая разбирает вывод хэш-функции, два подряд идущих символа (т.е. один байт) преобразовает в одну букву алфавита или цифру. Например, такой результат хэш-функции e332a76c29654fcb7f6e6b31ced090c7 преобразовывает в такой 6ibhugs3khhi34x2 Длина строки уменьшается в два раза, но зато пароль становится надежным. Поэтому мне нужна криптографическая хэш-функция, способная выдать строку достаточной длины. Связываться с ненадежными контрольными суммами я не хочу т.к. для хранения паролей их не следует использовать.
0
|
![]() 3146 / 366 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
|
|
17.06.2010, 18:30 [ТС] | 12 |
0
|
17.06.2010, 18:30 | |
Помогаю со студенческими работами здесь
12
На каком языке написана эта программи и для чего нужна папка Browser Хеш функция Хеш функция Хеш функция на си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |