Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
ФГБОУ ВПО «Горно-Алтайский государственный университет»
(г. Горно-Алтайск, Россия)
СОЗДАНИЕ АЛГОРИТМА ДЛЯ ШИФРА ЗАМЕНЫ
В СРЕДЕ TURBO PASCAL
В статье рассматривается создание алгоритма в среде Turbo Pascal для шифрования текста шифром Атбаш, который является одним из древнейших для иврита.
Шифр замены один из наиболее известных и часто используемых шифров в криптографии. Иначе его называют шифром подстановок. Он характеризуется тем, что отдельные части сообщения (это могут быть буквы или слова) заменяются на другие символы, числа, буквы и т. д. При этом замена осуществляется так, чтобы потом было возможно по шифрованному сообщению восстановить исходное.
Историческим примером шифра замены служит шифр Атбаш. Правило шифрования заключается в замене i-той буквы алфавита буквой с номером n – i + 1 , где n – число букв в алфавите.
Шифров замены существует огромное количество, немалую часть из них можно подвести под одну последовательность действий, которая не сложно программируется в среде Turbo Pascal.
Итак, во-первых, необходимо задать функцию, которая шифрует поступающий текст, с использованием типа string, предназначенного для обработки цепочки символов (слов или предложений). Далее зададим цикл, в котором будет происходить само преобразование текста, предварительно задав необходимые переменные.
var i: integer;
begin
clrscr;
for i:=1 to length(kod) do
Kod[i]:=
Далее представим описание самого шифра. Это может быть как процедура смещения на несколько символов, так и замена на определенные комбинации букв, чисел или знаков. Завершаем цикл:
<имя шифра>:=Kod;
end;
Итак, мы получили процедуру, которая будет проводить определенные действия с символами заданного текста:
function <имя шифра>(Kod:string):string;
var i: integer;
begin
for i:=1 to length(Kod) do
Kod[i]:=<действия для шифрования>;
<имя шифра>:=Kod;
end;
Далее, мы создали часть программы, отвечающую за считывание текста и отправку его на шифрование. Остается только вывести на экран получившейся шифрованный текст.
Подводя итог проделанной работы, получаем работающую программу:
uses crt;
function <имя шифра>(Kod:string):string;
var i: integer;
begin
clrscr;
for i:=1 to length(Kod) do
Kod[i]:= <действия для шифрования>;
<имя шифра>:=Kod;
end;
var t:string;
begin
readln(t);
readln;
writeln(<имя шифра>( (t));
readln
end.
Как уже говорилось раньше под данную последовательность действий подойдет огромное количество шифров замены. Мы же использовали её для написания шифра Атбаш. Его математическая модель выглядит следующим образом: n – i + 1, где n – число букв в алфавите.
При написании программы был использован не стандартный алфавит, а все символы в среде turbo Pascal (в количестве 256). Так же были использованы функции ord (возвращает порядковое значение выражения перечисляемого типа) и chr (возвращает символ, соответствующий числу). Получили:
uses crt;
function Atbash(Kod:string):string;
var i: integer;
begin
clrscr;
for i:=1 to length(Kod) do
Kod[i]:=Chr(256-Ord(Kod[i]));
Atbash:=Kod;
end;
var t:string;
begin
readln(t);
readln;
writeln(Atbash(t));
readln;
end.
В целом у нас происходит преобразование каждого символа исходного текста в численное значение, после чего из количества символов используемого алфавита вычитается данное численное значение. В самом конце результат преобразуется обратно в символы. Для дешифрования необходимо просто еще раз прогнать текст через данную программу.
Таким образом, мы рассмотрели создание алгоритма в среде Turbo Pascal для шифрования текста шифром Атбаш.


