Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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 для шифрования текста шифром Атбаш.