Рейтинг:0

Убедитесь, что зашифрованный текст удовлетворяет фиксированному секретному полиному.

флаг uz

Существует ли алгоритм шифрования, который может гарантировать, что при заданных входных данных он будет генерировать зашифрованный текст таким образом, который всегда будет удовлетворять фиксированному многочлену?

Я могу быть гибким на входной стороне, но выходная сторона должна быть фиксирована на конечном или бесконечном наборе векторов, которые удовлетворяют полиному степени $д$.

Полином является секретным. Те, кто шифрует, не знают, что такое точный многочлен. Открытый текст слишком мал, размером с одно 128-битное целое число.

kelalaka avatar
флаг in
$X^q-X$ над $\mathbb F_q$. https://en.wikipedia.org/wiki/Finite_field#Polynomial_factorization
флаг uz
@kelalaka проблема в том, что мне не нужно поле/кольцо из нескольких многочленов. Мне, вероятно, нужно поле координат, удовлетворяющее фиксированному многочлену.
Рейтинг:0
флаг dz

Обычно мы хотим, чтобы вывод шифрования выглядел случайным, поэтому я сомневаюсь, что существует какая-либо функция шифрования, которую вы хотите.

Но я думаю, что вы можете достичь своей цели с помощью двухэтапного процесса.

  1. Зашифруйте свои данные с помощью AES, используя соответствующий режим, такой как CBC или GCM. Этот этап отвечает за безопасность.
  2. Преобразуйте каждый блок зашифрованного текста AES в нужную вам форму. Здесь вы можете использовать любой алгоритм, который преобразует 128-битное целое число в векторный формат, соответствующий вашей цели. Вероятно, было бы удобно, если бы это могло обрабатывать 128-битные блоки, но если это слишком велико, вы можете разбить блок, скажем, на четыре 32-битных блока и обрабатывать каждый из меньших блоков отдельно. Затем получатель преобразует каждый вектор обратно в 32-битные блоки и объединяет четыре последовательных 32-битных блока, чтобы воссоздать исходный 128-битный блок зашифрованного текста AES, и передает этот блок соответствующему алгоритму дешифрования AES. На этом этапе данные только преобразуются в нужный формат и не предназначены для повышения безопасности.

В качестве примера алгоритма этапа 2 предположим, что мы хотим, чтобы наш вывод был значением у в многочлене у = х2 + 3. Итак, мы берем наш 128-битный блок зашифрованного текста AES с как целое число, вычислить о = с2 + 3, затем используйте о как наш окончательный результат. (Я подозреваю, что этот пример не совсем то, к чему вы стремитесь, но, надеюсь, укажет вам правильное направление).

Примечание. Убедитесь, что ваш алгоритм преобразования является обратимым (чтобы любой входящий о может быть однозначно преобразован обратно в исходный с) или расшифровка не будет работать должным образом.

флаг uz
Мне не нужна расшифровка. Но мне нужно убедиться, что зашифрованный текст генерируется с использованием ожидаемого обычного текста. Если это координата в многочлене, то это изменчивость.
флаг uz
Кроме того, шифровальщик не должен знать, что такое полином. Данные открытого текста малы, как одно 128-битное целое число. Я думаю, что это не упоминается в вопросе, поэтому я должен обновить.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.