@ryzhakpyth
Программист - Недоросль

Надежен ли данный шифр?

Я недавно придумал шифр, основанный на простой замене при помощи функции вида D(x) = f(x) mod n на отрезке [a,b] с приращением h(Приращение, в данном случае, - изменение величины. Т.е. ключ каждый раз увеличивается на h, пока значение переменной входит в заданный интервал), где f(x) - случайная функция, дающая при любом x целые значения; Например: 25x^2+2x-2 или (x^x)mod n и т.д.; n - кол-во символов в алфавите. Помогите, пожалуйста, определить его надежность.
Псевдокод(для функции f(x)=x^3, n=17;a=0,b - стремится к бесконечности;h = 1):
Input len;//Шифрование
n = 17;
for i = 0 to len{
Input message;
NewMessage = ((message*message)+h)mod(n);
h++;
Output NewMessage;
}
//Дешифрование
For c =0 to len{
message = (sqrt(NewMessage)-h)mod(n);
h++;
Output message;
}
  • Вопрос задан
  • 519 просмотров
Решения вопроса 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Атака "дней рождения" работает на каждом символе с шагом в n ((f(x)+hn) mod n = f(x) mod n), дальше статистика и до свидания.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@cicatrix
было бы большой ошибкой думать
Никогда не придумывайте ничего из области криптографии, пока у вас не будет хотя бы докторской степени по математике. В качестве разминки для ума - можно, но боже вас упаси нести эту отсебятину в коммерческие продукты.
По той же причине, что я озвучил выше, никто здесь, скорее всего, не сможет провести анализ вашего алгоритма на криптографическую стойкость.
Не знаю, может быть, ваш алгоритм гениален и никто за всю историю компьютерной криптографии до него не додумался, не смотря на то, что над изобретением шифров трудились лучшие математики планеты, но я сильно в этом сомневаюсь.
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
Как определить надёжность алгоритма, если не написан алгоритм дешифрования?
Ответ написан
profesor08
@profesor08
Надежность такая-же как и у любого другого такого-же шифра. Данные можно зашифровать и расшифровать обратным алгоритмом. Как бы ты не прятал это в коде, можно будет найти.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы