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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2011, 12:29   #1
Opex911
Пользователь
 
Регистрация: 06.10.2010
Сообщений: 13
По умолчанию Случайное перемешивание

Всем доброго времени суток. Была поставлена задача некоторое сообщение зашифровать и потом расшифровать методом случайного перемешивания, или шифром перестановки,как я понял точного определения нет. НО, имеется суть так сказать задачи..Для начала есть некий алфавит ,состоящий из маленькиз букв английского алфавита,вроде по таблице ASCII это 97-122 элементы,образно S={a..z};
S'=mix(S);
далее вводим текст, буквы которого состоят из элементов строки S, то бишь все английское..Все элементы текста входят в множество S,вот так правильнее. Далее идет так: text'=crypt(S',text) то бишь как я понимаю, S' это некий ключ,если проводить аналогию с шифром цезаря..в итоге при помощи этого ключа мы шифруем наш текст перемешанным алфавитом и выводим полученный результат. В шифре цезаря используется функция сдвига, здесь же надо перемешивание..Можно все это распределить по файлам,например алфавит пихаем в один файл, перемешанный в другой, шифрованный и дешифрованный тексты в третьем,ну в общем на усмотрение..Собственно в той же программе сунуть дешифратор, text=decrypt(S',text') и вывести, и желательно чтобы не желе и фарш было на экране а цивильненько так, типа нажимая кнопочку один мы пишем текст
на 2 шифруем
на 3 смотрим получившийся результат
на 4 дешифруем
на 5 выход из программы
ну что-то можно объеденить.по усмотрению тут действовать можно)Чем проще будет написано,тем лучше)если бесплатно-вообще шикарно,а если за деньги-знайте меру)
Opex911 вне форума Ответить с цитированием
Старый 13.09.2011, 13:04   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

каковы сроки?
counter вне форума Ответить с цитированием
Старый 13.09.2011, 14:00   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

у меня лаба была по защите информации.... шифрование табличным методом с одним ключевым словом... только здесь без расшифровки...
Вложения
Тип файла: rar 2_Tablichnyj_metod.rar (41.5 Кб, 12 просмотров)
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 13.09.2011, 23:46   #4
Opex911
Пользователь
 
Регистрация: 06.10.2010
Сообщений: 13
По умолчанию

все это желательно до субботы,я ценю вашу помощь и предложенную программу, но есть одна программа..я вижу код понимаю его-легко и доступно могу преподнести его другому человеку,но сам допетрить как и чего делается-не получается(
Opex911 вне форума Ответить с цитированием
Старый 14.09.2011, 01:40   #5
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

духи совсем барзеют.... дуй во фриланс с такими запросами.... там помогут... уж наверняка...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 14.09.2011, 05:44   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Эй, Орех - ты бы хоть язык упомянул бы для приличия что ли..

Прога на несколько строк, пишется в 6 сек. Из интересного вижу тут только получение ключа перемешиванием.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 14.09.2011, 09:19   #7
Opex911
Пользователь
 
Регистрация: 06.10.2010
Сообщений: 13
По умолчанию

фу ,блин,совсем забыл точно. Язык программирования Pascal
Opex911 вне форума Ответить с цитированием
Старый 14.09.2011, 12:05   #8
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Opex911 Посмотреть сообщение
фу ,блин,совсем забыл точно. Язык программирования Pascal
Вот тебе код, разбирайся и делай из него "не желе и фарш" )).

Код:
// encrypting with random permutations
// by TinMan, programmersforum.ru

var
  Key,Yek,s: string;
  i,j,AlphaLen: integer;
  c: char;

procedure Crypt(var s: string; k: string);
var
  i: integer;
begin
  for i:=1 to Length(s) do
    if s[i] in ['a'..'z'] then s[i]:= k[Ord(s[i])-Ord('a')+1]
end;

begin
  // create a random encryption key
  Randomize;
  Key:= 'abcdefghijklmnopqrstuvwxyz';
  AlphaLen:= Length(Key);
  for i:=AlphaLen downto 2 do begin
    j:= Random(i)+1;
    c:= Key[i];
    Key[i]:= Key[j];
    Key[j]:= c
  end;
  WriteLn('Encryption Key: ',Key);

  // enter text here
  s:= 'now, is the winter of our discontent made glorious summer by this sun of york!';
  Writeln('Clear text:');
  Writeln(s);

  // encrypting
  Crypt(s,Key);
  Writeln('Encrypted text:');
  Writeln(s);

  // creating the decryption key
  SetLength(Yek,AlphaLen);
  for i:=1 to AlphaLen do Yek[Ord(Key[i])-Ord('a')+1]:= Chr(i+Ord('a')-1);
  Writeln('Decryption Key: ',Yek);

  // decrypting
  Crypt(s,Yek);
  Writeln('Decrypted text:');
  Writeln(s);

  Readln
end.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 16.09.2011, 22:08   #9
Opex911
Пользователь
 
Регистрация: 06.10.2010
Сообщений: 13
По умолчанию

преогромнейшее спасибо)прям выручил)все шикарно)
Opex911 вне форума Ответить с цитированием
Старый 23.09.2011, 10:44   #10
Opex911
Пользователь
 
Регистрация: 06.10.2010
Сообщений: 13
По умолчанию

в общем только сейчас понял в чем же еще одна проблема..как такового дешифратора здесь нет...при запуске программы он выдает мол вот вам перемешанные алфавит, далее вводим слово..ну тут в примере готовая фраза, далее он зачем то еще раз что то делает с алфавитом..получается абракадабра еще одна и выдает шифрованный текст под видом дешифрованного..пытался по аналогии с шифратором сам лично сделать дешифратор-пришел в тупик...где-то что-то не срабатывает..не понимает того,что я хочу(если не сложно,не мог ли бы вы пересмотреть это все и дополнить? я уже чуть ли не волосы с головы выдираю из-за того что не могу просечь как же доделать дешифратор...
Opex911 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемешивание двухмерного массива stenl1 Общие вопросы C/C++ 10 22.11.2016 06:26
Перемешивание массива revaldo666 Общие вопросы C/C++ 6 19.01.2011 15:04
Перемешивание строк gamer123 Общие вопросы Delphi 17 25.08.2010 20:10
Перемешивание строк Черничный БД в Delphi 3 15.07.2008 14:11
Перемешивание с внутренними цепочками igrok85_85 Помощь студентам 1 02.05.2008 18:20