Теперь использование хеш алгоритмов MD55_rand и MD55_seed, не подверженно атаке "Радужных таблиц" и атаке "в лоб" / перебором.
Для каждого скрипта MD55_rand генерируются свои входные параметры, что делает код каждого скрипта уникальным.
(При каждой загрузке генерируется уникальная версия/код скрипта. Хеш одинаковой строки на разных версиях скрипта вернет разный результат.)
В скрипте MD55_seed - код неизменен. При генерации hash нужно 2 значения:
Cтрока, хеш которой мы хотим получить, и seed - число для рандомизации хеша. Для КАЖДОГО SEED, хеш значение БУДЕТ РАЗНЫМ.
В MD55_rand, хеши одной и той же строки, будут разными на разных параметрах/версиях скрипта (код уникальный для каждого скрипта).
Это делает не возможной атаку перебором (для MD55_rand), так не понятно что ломать? Нужно сначала украсть скрипт.
Даже если у вас с хостинга украдут скрипт, они не смогут получить исходные строки, пароли,
и все то что вы хешировали MD55_rand, так как им потребуется перебрать следующее количесво вариантов:
~19,2221576~ за одну итерацию.
Точные расчеты стойкости к взлому хеш алгоритма MD55 смотрите ниже.
MD55_rand version: F8437A6175F57AF01B39ABAE43ECD388
Информация к размышлению...
Число атомов в нашей Галактике – 10⁶⁷,
Во всей Вселенной = 10⁷⁷.
Элементарных частиц во Вселенной = 10⁸⁰,
Число фотонов = 10⁹⁰.
Число 10¹⁰⁰ = «Гугол».
Количество неповторяющихся шахматных партий (Число Шеннона) = min 10¹¹⁸
Если всю обозримую Вселенную заполнить протонами (составная часть атома), то их в нее поместится ~= 10¹²²
Точные расчеты стойкости к взлому хеш алгоритма MD5
Для 8-символьного пароля , составленного из первых 126 символов ASCII, доступно 63 527 879 748 485 376 - 6.316 (6.3^16 степени) возможных комбинаций.
Для 254 символов используемых в пароле количество возможных комбинаций возрастает до 3.1197404206452396269181179483338784624356931078212499213965... × 10^533 - 31.19533 (31.19^533 степени),
Если создать текстовый файл, содержащий все эти пароли, то он займет квинтилоны экзобайт. (Шутка, он займет - 51.88 798 байт.) В современном мире это не возможно. И в несовременном тоже )) Хотя, кто знает...Точные расчеты стойкости к взлому хеш алгоритма MD55_rand
Вероятность взлома для MD55_rand (для любой длинны строки, так как, строка использует двоичные данные и дополняется до длинны ~ 600-800 байт, где 1 байт = 255 символов).
Возьем 655 байт длинну строки и 1 байт = 255 символов
для них количество возможных комбинаций увеличивается до (255^655 степени), 255 655 = 1.922286802257155603760055820393633894450382571504890060733... × 10^1576 = 19,2221576
☀☀☀ Это только за 1 итерацию/проход ☀ У нас таких проходов 100 ☀ Нужно это число 19,2221576 умножить само на себя 100 раз. ☀☀☀Получается вероятность взлома MD55_rand перебором, от слова - НИКОГДА... Совсем ;)
Посчитайте на досуге!
(255^655)^100 ="таких чисел не бывет")) посмотреть число, внимание! компьютер может перегреться при открытии такого большого числа :)
Это без учета вариаций текста!
Кто сможет, посчитайте точное количество вариаций,
и поделитесь с нами своими результатами в комментариях!
Заранее благодарим Вас!