История изменений
Исправление rubic, (текущая версия) :
f('ABCD', k, n) = 'WXYZ'
f() - чоткая криптография
k - секретный ключ
n [1..60] - вариант (для размерности)
'ABCD' - вхлоп
'WXYZ' - выхлоп
1) нигде 55млн ключей хранить и рыться в них не надо
2) т.к. криптография чоткая, коллизий нету
Для валидации берешь первую часть ключа, суешь в f() и, меняя n от 1 до 60, смотришь что вышло. Если совпадает со второй частью, ключ валидный
Исходная версия rubic, :
f('ABCD', k, n) = 'WXYZ' f() - чоткая криптография k - секретный ключ n [1..60] - вариант (для размерности) 'ABCD' - вхлоп 'WXYZ' - выхлоп
1) нигде 55млн ключей хранить и рыться в них не надо 2) т.к. криптография чоткая, коллизий нету
Для валидации берешь первую часть ключа, суешь в f() и, меняя n от 1 до 60, смотришь что вышло. Если совпадает со второй частью, ключ валидный