Аппаратные и программные средства защиты информации. Андрианов В.П. - 6 стр.

UptoLike

Составители: 

6
(сложение или вычитание с контролем выхода за границы типа данных)
соответствующих элементов массива ключа.
3.5 Ключ шифрования перед записью в файл преобразуйте с помощью алгоритма
шифрования XOR. Пример модуля консольного приложения с реализацией подобного
алгоритма приведен ниже.
program Crypt;
{$APPTYPE CONSOLE}
uses Windows;
var
key, text, longkey, result : string;
i : integer;
toto, c : char;
F : TextFile;
begin
writeln('Enter the key:');
readln(key);
writeln('Enter the text:');
readln(text);
for i := 0 to (length(text) div length(key)) do
longkey := longkey + key;
for i := 1 to length(text) do
begin
// XOR алгоритм
toto := chr((ord(text[i]) xor ord(longkey[i])));
result := result + toto;
end;
writeln('The crypted text is:');
writeln(result);
write('Should i save it to result.txt ?');
read(c);
if c
in ['Y','y'] then
begin
AssignFile(F,'result.txt');
Rewrite(F);
Writeln(F,result);
CloseFile(F);
end;
end.
3.6. Разработайте приложение, в котором зашифрованный текст хранится в файле
текстового формата вместе с ключом.
Перед записью в файл зашифрованного текста и ключа предварительно
перемешайте записываемые массивы (в получаемом массиве выделяются
фиксированные позиции для хранения символов ключа; для корректной сборки ключа
необходимо указать длину ключа в символах и шаг фиксированных позиций, т.е. через
сколько символов шифрованного текста находятся символы ключа; указанные
признаки можно записать в качестве первых двух байтов файла или же в других
позициях файла).
Расшифровка содержимого файла состоит из следующих шагов:
- считывание характеристик ключа,
- сборка ключа,
- расшифровка текста.
                                                                                   6
(сложение или вычитание с контролем         выхода     за   границы   типа   данных)
соответствующих элементов массива ключа.


3.5 Ключ шифрования перед записью в файл преобразуйте с помощью алгоритма
шифрования XOR. Пример модуля консольного приложения с реализацией подобного
алгоритма приведен ниже.

program Crypt;
{$APPTYPE CONSOLE}

uses Windows;

var
  key, text, longkey, result : string;
  i : integer;
  toto, c : char;
  F : TextFile;
begin
  writeln('Enter the key:');
  readln(key);
  writeln('Enter the text:');
  readln(text);

  for i := 0 to (length(text) div length(key)) do
    longkey := longkey + key;

  for i := 1 to length(text) do
  begin
    // XOR алгоритм
    toto := chr((ord(text[i]) xor ord(longkey[i])));
    result := result + toto;
  end;
  writeln('The crypted text is:');
  writeln(result);
  write('Should i save it to result.txt ?');
  read(c);
  if c in ['Y','y'] then
  begin
    AssignFile(F,'result.txt');
    Rewrite(F);
    Writeln(F,result);
    CloseFile(F);
  end;
end.

3.6. Разработайте приложение, в котором зашифрованный текст хранится в файле
текстового формата вместе с ключом.
      Перед записью в файл зашифрованного текста и ключа предварительно
перемешайте записываемые массивы (в получаемом массиве выделяются
фиксированные позиции для хранения символов ключа; для корректной сборки ключа
необходимо указать длину ключа в символах и шаг фиксированных позиций, т.е. через
сколько символов шифрованного текста находятся символы ключа; указанные
признаки можно записать в качестве первых двух байтов файла или же в других
позициях файла).
      Расшифровка содержимого файла состоит из следующих шагов:
- считывание характеристик ключа,
- сборка ключа,
- расшифровка текста.