Вступление
Шифр Цезаря — один из древнейших шифров. При шифровании каждый символ заменяется другим, отстоящим от него в алфавите на фиксированное число позиций. Шифр Цезаря можно классифицировать как шифр подстановки, при более узкой классификации — шифр простой замены.
.
Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки. Естественным развитием шифра Цезаря стал шифр Виженера. С точки зрения современного криптоанализа, шифр Цезаря не имеет приемлемой стойкости.
Пример
Шифрование с использованием ключа k = 3. Буква С «сдвигается» на три буквы вперед и становится буквой «Ф». Твердый знак, перемещённый на три буквы вперед, становится буквой «э», и так далее:
Оригинальный текст:
Съешь же ещё этих мягких французских булок, да выпей чаю.
Шифрованный текст
Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб.
Исходный программный код
В программе используется переменная в которой забиты все символы англ. и русского алфавита, знаки препинания, пробел и символ новой строки.
public static string abc = @"`1234567890-=\][poiuytrewqasdfghjkl;'/., mnbvcxzQWERTYUIOPLKJHGFDSAZXCVBNMйцукенгшщзхъэждлорпавыфячсмитьбюЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ" + Environment.NewLine;
Символ '@'нужен для отключения '\]' последовательности символов.
Вся логика программы сосредоточена в этой строчке:
Data2 += abc[abc.IndexOf(Data[i]) + key];
В переменную Data2 мы заносим шифрованную букву, которую вычисляем из ключа key.
Пример
Hello world!
Первая буква (при i = 1) - 'H'. Ищем под каким номером она стоит в нашем алфавите abc - abc.IndexOf('H'). Допустим под номером 30. К этому числу + 3 = 33. Дальше присваиваем Data2 += abc[33];
Исходники лежат здесь -
скачать с upload.com.ua - http://upload.com.ua/get/901647108/ и здесь - скачать с rapidgator.net - http://rapidgator.net/133591/Caesar_cipher_implementation.rar.html
Исходники c# скачать - блог Павел Белоус - блог по программированию на C# .NET, C++
Немного о идее
Сегодня исходники по C# скачать бесплатно практически не возможно. Но мне пришла идея разместить исходники программ, что я делал в универе, здесь на сайте. Скачать можно с файлообменника, просто нужно подождать минуту - и вуааля - скачивайте и сдавайте вашему преподавателю, или эксперементируйте с исходниками... Оставляйте комментарии или давайте идеи - буду пробовать написать и выложить исходники. Также планирую в дальнейшем выложить для скачивания исходники по C++. Вообщем пожелайте мне удачи. :)
Комментариев нет:
Отправить комментарий