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

  • Автор темы zloygeniy
  • Дата начала
Z

zloygeniy

#1
Метод шифрования:Сама схема очень напоминает шифр Цезаря.Каждой букве соответствует некая цифра,это цифра будет показывать на сколько позиций будет происходить смещение алфавита для каждой конкретной буквы.Обратное преобразование происходит подобным образом,только каждый раз алфавит сдвигаем в другую сторону.
Пример:При ключе шифрования к=1254 слово
"information" преобразуется в
I N F O R M A T I O N
1 2 5 4 1 2 5 4 1 2 5
I P K S R O F X I Q S
т.е шифруется как ipksrofxiqs

Текст программы примерно следущий,но препод требует чтобы было создано 2 кнопки-шифровать и дешифровать и вообще чтобы все было красиво и с подписями.Помогите чем можете,текст проги примерно следущий:
Program Shifr_Gronsfeld;
Uses crt;
Const n=5;
Type cifra=0..9;
Var i,k:integer; kod:array[0..n-1] of cifra; a:char;


10
function Shifr(a:char; c:cifra):char;
var i:integer;
begin Shifr:=chr(ord('А')+(ord(a)-ord('А')+c) mod 32)
end;{Shifr}
Begin
Textbackground(7); Textcolor(blue); Clrscr;
write('Введите ключ для шифра Гронсфельда: '); readln(k);
for i:=n-1 downto 0 do
begin kod:=k mod 10; k:=k div 10 end;
writeln('Введите текст:');
i:=0;
while not eoln do
begin
read(a);
if a in ['А'..'Я']
then begin write(Shifr(a,kod[i mod n]));inc(i) end
else write(a);
end;
readkey
End.{Shifr_Gronsfeld}

Всё надо сделать в TP 7.0
Заранее огромное спасибо