Существует ли (простой) способ шифрования данных, чтобы его расшифровка заняла определенное количество процессорных часов?Может быть, серия шифрований с короткими ключами, переменная односторонняя функция или что-то еще?
Возможно, она не очень полезна, но как будет называться эта схема шифрования и есть ли инструменты для нее?
edit:
Чтобы получить непостоянные результаты для времени перерыва грубой силы, разве я не должен использовать много раундов с обратной связью xor?
Я только что придумал этот алгоритм (для симметричного блочного шифра с равным значением и длиной ключа) ... возможно, это не имеет смысла
round 1
create a zero-block
create a random-block-1
encipher value:zero-block with key:random-block1 => gives lock-output-1
round 2
create a zero-block
create a random-block-2
encipher value:zero-block with key:random-block2 => gives temp
xor temp with random-block-1 => gives lock-output-2
and so on
Операция xor с random-block-1 была бы там, так что процедура разблокировки должна будет найтиrandom-block-1, прежде чем он сможет начать перебор на lock-output-2.
lock-output-1 + lock-output-2 .. lock-output-N будет полным выходом блокировки.Когда процедура разблокировки обнаружила N блоков ключей, каждый из которых дает ноль во всех блоках вывода блокировки, она может использовать N блоков ключей в целом для расшифровки фактических данных.
Тогда мне также потребуетсяформула для расчета количества раундов, дающих максимальное отклонение, например, 10% для требуемого количества процессорных часов.
Я предполагаю, что там должен существовать подобный алгоритм.