|
Вопрос # 3 895/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
У меня к вам вопрос по WEB технологии как пользаваться Квадрад Полибий. Шифр Гронсфельда а то у меня он есть а я не понимаю как он шифрюет
отве пришлите пожалюйста на bekeev_marat@mail.ru
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим-
-
-
-
- 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
- s: string;
-
- begin
- s := GronsfeldEncipher('INFORMATION', '2178');
- writeln(s);
- writeln('s = ', GronsfeldDecipher(s, '2178'));
- end.
-
-
- /////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
- 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.
-
 |
Вопрос задал: DRUNAY (статус: Посетитель)
Вопрос отправлен: 16 марта 2010, 15:01
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 17 марта 2010, 06:38; участников в обсуждении: 1.
|
Егор (статус: 10-ый класс), 16 марта 2010, 17:23 [#1]:
Цитата (DRUNAY):
У меня к вам вопрос по WEB технологии а при чём здесь WEB-технологии?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Егор (статус: 10-ый класс), 17 марта 2010, 06:38 [#2]:
не понятен алгоритм (программа) или сам метод? или и то и другое?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|