Ищем одностороннюю функцию с небольшим входом и длинным выходом

Я ищу алгоритм, который является односторонней функцией, такой как хеш-функция. И алгоритм принимает небольшой ввод (серверные биты, менее 512 бит) и сопоставляет его с длинным выходом (1 КБ или более). Вы знаете алгоритм или функцию, подобную этой?


person perfectpei    schedule 09.04.2013    source источник
comment
вы повторяете каждый бит 10 раз... ;-) нет, честно говоря, я не вижу причин делать это   -  person fixagon    schedule 09.04.2013


Ответы (3)


Из теоремы Шеннона вы не Вы не получите никакой защиты, имея зашифрованный текст большего размера, чем ваш обычный текст, если только ключ (или процедура создания зашифрованного текста) не отличается для любого ввода. Даже в этом случае вам нужно будет назначить только одну клавишу (или механизм) для каждого входа x иначе вы нарушите определение функции. Итак, если вы примените механизм шифрования f: X (множество входов) -> Y (множество выходов), то |Y| <= |X|.

Все это говорит о том, что если ваш ввод меньше 512 бит, вы ничего не получите, производя 1KB вывода. Теперь я рекомендую вам использовать одну из функций, перечисленных на вики-странице односторонней функции

person UmNyobe    schedule 09.04.2013
comment
Спасибо за ваш ответ. Если у меня есть файл (например, 1 Мбит), и я использую одну или несколько односторонних функций с 512-битными входными данными для генерации данных длиной 1 Мбит, тогда файл XOR размером 1 Мбит с данными 1 Мбит, могу ли я рассматривать результат XOR как зашифрованный текст? - person perfectpei; 22.04.2013

Keccak имеет вывод переменной длины (хотя и не оценивается в SHA-3), его "утверждение безопасности отделено от длина вывода. Существует минимальная длина вывода...", а хэш-функция Skein имеет переменную вывод до 16 эксабайт

person jbtule    schedule 09.04.2013

Какими бы ни были ваши причины, вы можете вычислять хэши одних и тех же небольших данных, используя разные алгоритмы, а затем объединять эти хэши. Если вывод недостаточно велик, вычислите хэши хэшей и добавьте их.

Как указано в других ответах, это не имеет большого смысла с точки зрения безопасности.

person Eugene Mayevski 'Callback    schedule 09.04.2013
comment
Спасибо за ваш ответ. Если у меня есть файл (например, 1 Мбит), и я использую одну или несколько односторонних функций с 512-битными входными данными для генерации данных длиной 1 Мбит, тогда файл XOR размером 1 Мбит с данными 1 Мбит, могу ли я рассматривать результат XOR как зашифрованный текст? - person perfectpei; 22.04.2013
comment
@perfectpei звучит как переизобретение алгоритма RC4, который очень похож на вашу идею. Также кажется, что алгоритм, как я вижу из вашего описания, можно довольно легко обратить вспять. Если вам нужны комментарии по поводу алгоритма, который вы пытаетесь изобрести, лучше спросить crypto.stackexchange.com. - person Eugene Mayevski 'Callback; 22.04.2013