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

Тема в разделе "Delphi - FAQ", создана пользователем zloygeniy, 6 апр 2009.

  1. zloygeniy

    zloygeniy Гость

    Метод шифрования:Сама схема очень напоминает шифр Цезаря.Каждой букве соответствует некая цифра,это цифра будет показывать на сколько позиций будет происходить смещение алфавита для каждой конкретной буквы.Обратное преобразование происходит подобным образом,только каждый раз алфавит сдвигаем в другую сторону.
    Пример:При ключе шифрования к=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
    Заранее огромное спасибо
     
Загрузка...

Поделиться этой страницей