Вариант 78
2. Найти ключи и получить открытый текст фразы
"+лж1,тоуъ8м870ш8тое0",
если известно, что был использован аффинный шифр с модулем 55, и стали известны следующие символы открытого
текста:
"**чн**+**ой***"
3. Найти ключ и получить открытый текст фразы
"с.+я+быо+лче+ьнго.др",
если известно, что был использован перестановочный шифр с длиной блока 5, и стали известны следующие символы
открытого текста:
"чень+"
4. Найти ключ и получить открытый текст фразы
"о+пнзд+ее+онпвытус+ил",
если известно, что был использован перестановочный шифр с длиной блока 3
5. Дешифровать сообщение
"и5вд806"щ:",
если известно, что была использована SP-сеть (Рис. 1) c длиной блока 5, подстановкой из задачи 2, и перестановкой из
задачи 3.
6. Дешифровать сообщение
"0юi3iцщ?дй(!!3"ъ",
если известно, что был использован шифр Файстеля с длиной блока 8 и ключами:
k1=14, k2=6, k3=16, P=4,2,3,1,
Шифр Файстеля приведен на Рис. 2.
7. Проверить постулаты Голомба для последовательности:
"000100110000000"
//Pascal ABC.NET v3.0 сборка 1111
var
a,i,b,r,n,j,bug:integer;
s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
beginreadln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.
Пример ввода:
Домашняя работа на завтра.
2
Пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{Таким образом, фразу "Домашняя работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}