IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Метод шифрации
Angelok
сообщение 24.11.2007 19:58
Сообщение #1


Гость






Помогите с задачкой! Я начала решать следующим способом: перевожу коды в 2-ую систему и применяю xor, но у меня получаются одинаковые новые коды. Пожет кто-нибудь решал похожую?
Вот задачка: Один из методов шифрации сообщения является метод шифрования наложением гаммы. Алгоритм шифрования: берётся некоторое случайное число в диапазоне от 127 до 255 – это гамма. Код каждого символа строки заменяют кодом, получившимся в результате операции: новый код = старый код XOR гамма. Зашифруйте и дешифруйте сообщения пользователя.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Angelok
сообщение 24.11.2007 20:18
Сообщение #2


Гость






Вот что я сделала:
Код
Uses crt;
Var a,b,st,st1,a1,a2:string;
      x,i,k,t,r,y,cod,q: integer;
Begin
       Clrscr;
       Randomize;
       Writeln ('Введите строку');
       Readln(a);
       x:=127+random(128);
       Repeat
                  t:=x mod 2;
                  x:=x div 2;
                 str(t;st);
                 b:=b+st;
      Until x=0;
      Writeln(''Выберите что нужно сделать со строкой');        
      Writeln('1: зашифровать');
      Writeln('2: дешифровать');
      Reapeat
      readln(k);
      Until (k=1) or (k=2);
       q:=1;
       case k of
             1: While q> length(a) do
                  Begin
                          t:=ord(a[i]);
                          a1:='';
                          a2:='';
                              Reapeat
                                    r:=t mod 2;
                                   t:=t div 2;
                                   str(r,st1);
                                   a1:=st1+a1;
                             Until  t=0;
                             For  i:=1 to length(a1) do
                                  begin
                                          val(a1[i], x, cod);
                                           val(b[i],y,cod);
                                          str((x xor y), st);
                                          a2:=a2+st;
                                  end;
                            For i:=length(a2) downto 1 do
                             Write(a2[i]);
                             Write(' ');
                             q:=q+1;
                  end;
  2: begin
      end;
   Readkey;
end.
 К началу страницы 
+ Ответить 
compiler
сообщение 24.11.2007 21:31
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


решение тут (шифруется/дешифруется файл)





--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 3:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"