Здравствуйте. В общем суть вопроса указана в заголовке. У нас в университете модуль, было задано зашифровать с помощью шифра Цезаря свои данные (ФИО и дату рождения) и детально описать процедуру.
И вот возникают сомнения по поводу компетентности преподавателя в вопросе шифра Цезаря. Везде в интернете искал - нигде цифры, неважно что это - дата, номер и т.д. - не сдвигаются с помощью этого простого алгоритма шифрования.
Также хотелось бы узнать немного про алгоритм RSA, ибо во втором задании необходимо зашифровать ФИО с помощью этого алгоритма. И детально описать процедуру - каким образом генерируются открытый и закрытый ключи (hex)? Каким образом происходит шифрование? И можно ли вручную зашифровать данные как это было с алгоритмом Цезаря, или всё же придется воспользоваться онлайн-шифровальщиками?
Спасибо.
А что мешает сдвинуть и цифры на определенное количество позиций?
Другое дело - толка в этом мало, так как он легко ломается. Скажем - в числе дней первая цифра может быть 0,1,2,3, а первая цифра номера месяца - вообще либо 0 либо 1, год - если 4 цифры - то первые две найти тоже несложно, что позволяет легко найти на сколько позиций сдвигать.
Честно говоря если сдвигать дату именно как каждую цифру, в итоге это вообще на дату не будет похоже и да, можно будет сразу понять на сколько именно было произведено смещение.
Мне просто интересно имелось ли ввиду смещение именно каждой цифры даты, либо же номера.
Например если входные данные:
01.01.2001
то сдвиг на +4 будет
45.45.6445 либо 05.05.2006
Хотя, скорее всего первое же, вы правы.
Второй вариант - циклически сдвинуть отдельно число, отдельно месяц и отдельно год на имеющийся ключ. Т.е. скажем ключ=23, исходные данные = 23.04.2021, получаем 46.27.2044, циклически ограничиваем (31 день 12 месяцев) = 15.03.2044. Все равно будут попадаться некорректные даты вроде 31.04.20хх или 29.02.2003, но по ним уже не так легко будет найти исходную дату.