Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2009, 21:14   #1
glupayastudentka
Пользователь
 
Регистрация: 17.06.2009
Сообщений: 17
По умолчанию криптография

поясните задачку, пожалуйста.. что там как все происходит поэтапно, каждый шажочек.. задача на паскале, все руже решено и работает, нужно только пояснить..

Написать программу, осуществляющую шифрование и дешифрование числового массива с помощью случайных чисел.
Пусть имеется датчик псевдослучайных чисел, работающий по алгоритму:
, где - предыдущее псевдослучайное число, - следующее псевдослучайное число, а коэффициенты a, b, с постоянны и хорошо известны. Обычно , где n разрядность процессора, a mod 4 =1, a b – нечетное.
Процесс шифрования определяется следующим образом: шифруемая последовательность складывается по модулю 2 (xor) со значениями последовательности псевдослучайных чисел. Процесс дешифрования аналогичен. этап выполнения: вывести последовательность t.
вот решение:
var n, a, b, c, i: integer;
type mas1=array[1..50] of integer;
var x, t, y:mas1;
begin
write ('n=');
readln(n);
for i:=1 to n do begin
write ('x[',i,']=');
readln(x[i]);
end;
a:=5;
b:=13;
c:=256;
write ('vvedi kluch');
readln(t[1]);
for i;=2 to n do
t[i]:=((a*t[i]+b))mod c;
writeln('psevdosluch posledovatelnost:');
for i:=1 to n do write(y[i],' ');
writeln;
for i:=1 to n do x[i]:=y[i] xor t[i];
writeln('zashifrovannaya posle:');
for i:=1 to n do write(x[i],' ');
end.
glupayastudentka вне форума Ответить с цитированием
Старый 25.06.2009, 04:10   #2
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Для кода есть тэг CODE. И код нечитабелен.
Работает? А вот у меня даже не откомпилилась.
После приведения программы к рабочему состоянию я понял, что:
1) массив y как был заполнен нулями так ими заполнен и остался
2) принцип действия - получение некоторой величины из ключа и коэффициентов a, b, c и xor шифруемого значения с ней. Ничего непонятного здесь не вижу, т.к. a xor b xor b = a. Только придётся восстановить из ключа с помощью коэффициентов то значение, с которым xor'или исходную последовательность.
Цитата:
Пусть имеется датчик псевдослучайных чисел, работающий по алгоритму:
, где - предыдущее псевдослучайное число, - следующее псевдослучайное число, а коэффициенты a, b, с постоянны и хорошо известны.
Тут явно что-то было пропущено(возможно намеренно), потому что совсем не псевдослучайный получается датчик псевдослучайных чисел.
----------------------------------------------------------------------------------------------------------------------------------
Вот ещё нашёл. Почему-то мы можем ввести только первый элемент ключа...

Последний раз редактировалось megachuhancer; 25.06.2009 в 04:16.
megachuhancer вне форума Ответить с цитированием
Старый 25.06.2009, 04:31   #3
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от megachuhancer Посмотреть сообщение
После приведения программы к рабочему состоянию
там один символ исправить, чтоб она компилировалась))

собственно, вероятнее всего, что имелось ввиду следующее

Код:
...
write ('vvedi kluch');
readln(t[1]);
for i:=2 to n do
t[i]:=((a*t[i-1]+b))mod c;
writeln('psevdosluch posledovatelnost:');
for i:=1 to n do write(t[i],' ');
writeln;
for i:=1 to n do y[i]:=x[i] xor t[i];
writeln('zashifrovannaya posle:');
for i:=1 to n do write(y[i],' ');
end.
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 25.06.2009, 05:00   #4
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Хмм... Да, действительно один символ. Я ещё и не весь код впридачу скопировал Мой косяк.
megachuhancer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
криптография glupayastudentka Помощь студентам 0 23.06.2009 21:48
Криптография helpme Помощь студентам 8 10.11.2007 14:43