Четверг, 12.06.2025, 13:03
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Примеры шифрования [8]
Шифрование методом Льюиса, Шифрование методом Атбаш, Шифрование методом Цезаря, Квадрат Полибия, Шифр Вижинера, Шифр Гронсфельда, Шифрование с помощью решетки, Шифр Хилла (с длиной блока = 2),
Наш опрос
Оцените мой сайт
Всего ответов: 135
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Шифрование текстов на паскале » Примеры шифрования

Квадрат Полибия
const
  TPolibius: array['A' .. 'E', 'A' .. 'E'] of char = (
  ('A', 'B', 'C', 'D', 'E'),
  ('F', 'G', 'H', 'I', 'K'),
  ('L', 'M', 'N', 'O', 'P'),
  ('Q', 'R', 'S', 'T', 'U'),
  ('V', 'W', 'X', 'Y', 'Z')
  );
function PolibiusEncipher(toCode: string): string;
var
  i: integer;
  ix, jx: char;
  s: string;
begin
  s := '';
  for i := 1 to length(toCode) do begin
 
  for ix := 'A' to 'E' do
  for jx := 'A' to 'E' do
  if TPolibius[ix, jx] = toCode[ i ] then begin
  s := s + ix + jx; break;
  end;
 
  end;
  PolibiusEncipher := s
end;
 
function PolibiusDecipher(toDecode: string): string;
var
  i: integer;
  s: string;
begin
  s := '';
  i := 1;
  while i <= length(toDecode) do begin
  s := s + TPolibius[toDecode[ i ], toDecode[succ(i)]];
  inc(i, 2);
  end;
  PolibiusDecipher := s
end;
 
var
  s: string;
 
begin
  s := PolibiusEncipher('POLIBIUS');
  writeln(s);
  writeln('s = ', PolibiusDecipher(s));
end.



Категория: Примеры шифрования | Добавил: Student (29.07.2009)
Просмотров: 9815 | Рейтинг: 3.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
  • Курсовая работа
  • www.des.h19.ru - портал для вас и Вашего ПК



    Rambler's Top100 WOlist.ru - каталог качественных сайтов Рунета