Пример генератора ключей, зависящего от входных данных

Чтоб было понятней, рассмотрим простенький пример такого алгоритма.

Пусть xn - это очередной код в исходных данных, kn - текущий ключ, kn+1 - следующее значение ключа, yn - зашифрованый код xn. Q(a,b) - некая коммутативная функция, т.е. такая, что q(a,b)==q(b,a). (a,b,c) - некая целочисленная функция.гда итерацию по (де)кодированию можно описать так:

n := xn xor

kn;n+1 := F( kn, Q( xn, yn ), n );

Если для функции F() понятно, что её имплементация в общем-то ограничена лишь нашей фантазией и здравым смыслом, то про Q(), вероятно, вам хочется увидеть подробностей, а именно, каким таким условиям она должна соответствовать, чтобы быть коммутативной. Самый простой способ этого достичь - использовать аргументы только парами в коммутативных операциях, например xor, сложение, умножение. Примеры:

(a,b) = ((a xor

b) or

1) * (( a + b ) xor

1).

Как видите, придумать свою супер-пупер функцию Q() совсем не сложно. Другое дело, нужно ли её делать сложной? Думаю, что особого смысла в её переусложнении нет.

Прочтите также:

Моделирование автоклава с ПИД-регулятором
Современный этап развития автоматизации технологических процессов характеризуется усложнением задач автоматического регулирования и управления, значительным увеличением числа регулируем ...

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

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

Основные разделы

Copyright © 2008 - 2019 www.techmatch.ru