Шифр Гронсфельда. Аналіз зашифрованого повідомлення при наявності визначених елементів зашифрованого або вихідного тексту

Страницы работы

Содержание работы

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

КАФЕДРА ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ ТА ПРОГРАМУВАННЯ

Розрахункове завдання

на тему: «Шифр Гронсфельда»

за курсом “ Захист інформації у комп’ютерних системах та мережах ”

                                                                              Виконав:

 ст групи КІТ-14в

Богачов О. С.

Харків 2007

1. Мета роботи

Придбання навичок   аналізу   зашифрованого   повідомлення   при

наявності визначених елементів зашифрованого або вихідного тексту.

2. Індивідуальне завдання:  Шифр Гронсфельда

3. Теоретична частина

Шифр Гронсфельда

Цей шифр складної заміни, званий шифром Гронсфельда, є модифікацією шифру Цезаря числовим ключем. Для цього під буквами початкового повідомлення записують цифри числового ключа. Якщо ключ коротший за повідомлення, то його запис циклічно повторюють. Шифртекст одержують приблизно, як в шифрі Цезаря, але відлічують за абеткою не третю букву (як це робиться в шифрі Цезаря), а вибирають ту букву, яка зміщена за абеткою на відповідну цифру ключа. Наприклад, застосовуючи як ключ групу з чотирьох початкових цифр числа e (підстави натуральних логарифмів), а саме 2718, одержуємо для початкового повідомлення ВОСТОЧНЫЙ ЭКСПРЕСС наступний шифртекст:

Сообщение

В

О

С

Т

О

Ч

Н

Ы

Й

Э

К

С

П

Р

Е

С

С

Ключ

2

7

1

8

2

7

1

8

2

7

1

8

2

7

1

8

2

Шифртекст

Д

Х

Т

Ь

Р

Ю

О

Г

Л

Д

Л

Щ

С

Ч

Ж

Щ

У

Щоб зашифрувати першу букву повідомлення В, використовуючи першу цифру ключа 2, потрібно відлічити другу по порядку букву від У в алфавіті

В

Г

Д

1

2

виходить перша буква шифртекста Д.

Слід зазначити, що шифр Гронсфельда розкривається відносно легко, якщо врахувати, що в числовому ключі кожна цифра має тільки десять значень, а значить, є лише десять варіантів прочитання кожної букви шифртекста. З другого боку, шифр Гронсфельда допускає подальші модифікації, поліпшуючі його стійкість, зокрема подвійне шифрування різними числовими ключами.

                                                                                                                  Рис.1. Схема алгоритму

Текст програми:

uses crt;

function GronsfeldEncipher(toCode, K: string): string;

var i, T, _T: integer;

begin

  for i := 1 to length(toCode) do

   begin

    _T := ord(toCode[ i ]);

      T := (Ord(toCode[ i ])+(Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))        );

    if T >= 256 then dec(T, 256);

    toCode[ i ] := Chr(T);

  end;

  GronsfeldEncipher := toCode;

end;

function GronsfeldDecipher(toDecode, K: string): string;

var i, T: integer;

begin

  for i := 1 to length(toDecode) do

  begin

    T := (Ord(toDecode[i])-(Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0')) );

    if T < 0 then Inc(T, 256);

    toDecode[ i ] := Chr(T);

  end;

  GronsfeldDecipher := toDecode;

end;

var

  i : integer;

  s, s2: string;

  source, code, dest : array[1..20] of string;

  f1, f2, f3 : text;

begin

  clrscr;

  i := 1;

  assign(f1,'source.txt');

  reset(f1);

  assign(f2,'code.txt');

  rewrite(f2);

  assign(f3,'destinat.txt');

  rewrite(f3);

  writeln('Work of Gronsfeld code');

  while not eof(f1) do

    begin

      read(f1, source[i]);

      code[i] := GronsfeldEncipher(source[i], '587219');

      write(f2, code[i]);

      dest[i] := GronsfeldDecipher(code[i], '587219');

      write(f3, dest[i]);

      inc(i);

    end;

  writeln('Done. Press any key');

  close(f1); close(f2); close(f3);

  readln;

end.

Результат роботи:

Файл до шифрування:

Global networks wide area networks, wan), which also name territorial computer networks,

Файл  після шифрування:

Ltvdbu%vlvxxwsz"xrim'csnf(uguЂtzru-)|iu+-|ppei)ftzq!wful"unwzpvp{nis"dxrx|vf{%vlv|

Файл  після дешифрування:

Global networks wide area networks, wan), which also name territorial computer networks,

Висновок: у розрахунковій роботі ознайомився з шифруванням  методом заміни, а саме — з шифром Гронсфельда. Розроблена програма шифрування – дешифрування за цим методом. Перевірена працездатність.

Похожие материалы

Информация о работе