алгоритм подстановки
Как выполнить алгоритм шифрования подстановки в ASP.NET используя код C#?
Пожалуйста, предоставьте мне пример синтаксиса кода....
2 ответа:
На самом деле ROT13 является вариантомшифра Цезаря , идея которого заключается в том, чтобы переместить букву обычного текста на N позиций дальше в алфавите. Ни алгоритма ROT13 или шифр Цезаря является безопасным. Почему?
В основном можно определить силу шифрования как объем работы, которую необходимо выполнить для взлома данного зашифрованного текста. Так что же мы должны сделать, чтобы сломать их ? :
- ROT13 - > мы просто сдвигаем назад каждый символ на 13 позиций в алфавите. (Никакой безопасности вообще).
- Цезарь шифр ->
for N=1 to 26 do:
shift each character by N positions back in the alphabet.
If a lot of common English words (the, and, that,...) - encryption is cracked.
Так что в случае Цезаря еще 26 итераций для взлома зашифрованного текста-это настолько малое число, что мы можем смело утверждать, что шифр Цезаря также не имеет защиты. (Но, конечно, это немного лучше, чем ROT13).Если вы хотите немного более полезный шифр подстановки - тогда используйте шифр Вигенера. В отличие от шифров ROT13/Caesar-шифр Вигенера не использует фиксированный алфавит в операции шифрования. (Он использует несколько алфавитов по переключение их в требуемом порядке). Вот почему Вигенер более надежен, чем РОТ13/Цезарь. Еще Виженера-это слабое шифрование и сопоставима с гаммирования шифрование. Почему Виженера слабо ? В основном потому, что он уязвим для частотного анализа (Конечно, сначала нужно угадать/найти длину ключа). Вот он vigenere C# code (вместе с Caesar/ROT13).
Удачи!