Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифрование текста алгоритмом Цезаря (на С), Не могу свпомнить 2 функции 
:(
    Опции темы
sergejzr
Дата 11.8.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



'\0' - Конец строки
'\n' - переход


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
GriGor1Z
Дата 12.8.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.8.2006

Репутация: нет
Всего: нет



Просто если бы я использовал постоянный ключ для шифрования, это было бы ооочень просто. А так я использую ключ, введенный пользователем. А для дешифровки этого файла надо знать этот ключ другому пользователю...
PM MAIL   Вверх
Pilligrim
Дата 13.8.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



Ключ - это число?
Я думаю, что ненамного сложнее ты сделал)
PM MAIL   Вверх
En_t_end
Дата 13.8.2006, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



GriGor1Z, 
Цитата(GriGor1Z @  12.8.2006,  18:08 Найти цитируемый пост)
Просто если бы я использовал постоянный ключ для шифрования, это было бы ооочень просто. А так я использую ключ, введенный пользователем. А для дешифровки этого файла надо знать этот ключ другому пользователю...

Чтобы не было не поняток. Информация зашифрованная таким алгоритмом ломается(точнее подбирается ключ) перебором, причем кол-во переборов не больше 255 smile
PM MAIL ICQ Skype GTalk Jabber   Вверх
Pilligrim
Дата 13.8.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



Вот-вот,En_t_end, я это же и имел ввиду)))
PM MAIL   Вверх
sergejzr
Дата 13.8.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Всё зависит от цели. Если надо просто скрыть текст от любопытных глаз, то способ достаточен. Например кому нужна твоя переписка с девушкой? А некоторые вещи не хотелось бы, чтобы папа её прочитал. Но если пап - хакер, тогда конечно придётся переходить к более сложным методам.
ПС:
Кстати, если брать не по байту, а по int, то папе придётся 2^32-1 раз перебирать. smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
En_t_end
Дата 13.8.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



sergej.z, 
Цитата(sergej.z @  13.8.2006,  22:25 Найти цитируемый пост)
Кстати, если брать не по байту, а по int, то папе придётся 2^32-1 раз перебирать.

ИМХО нет, все равно если щифровать символ ASCII ты его хоть на сколько раз увеличивай/уменьшай получается, что диапазон шифрованного символа от 0 до 255, то есть 255,254 -переборов. Это как по круговой арене бегать, или как 480 градусов в радианы переводить smile Из-за мною упомянутого битового переполнения даже ключ вида 4230000 при добавлении его к байту ASCII даст новый байт, в который может влезть число от 0-255, а ключ можно подобрать, хоть и не 4230000, но тоже верный в диапазоне от 1-255.

Добавлено @ 18:55 
Цитата(sergej.z @  13.8.2006,  22:25 Найти цитируемый пост)
Всё зависит от цели. Если надо просто скрыть текст от любопытных глаз, то способ достаточен. Например кому нужна твоя переписка с девушкой? А некоторые вещи не хотелось бы, чтобы папа её прочитал. Но если пап - хакер, тогда конечно придётся переходить к более сложным методам.

Даже если "пап" хакер можно воспользоватся не сложным методом с применением 1-килобайтного символьного кода) smile Если у папы нет мощного кластера под рукой и пары деньков, то не сужденно ему прочитать что-либо smile

Это сообщение отредактировал(а) En_t_end - 13.8.2006, 18:48
PM MAIL ICQ Skype GTalk Jabber   Вверх
Pilligrim
Дата 13.8.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



En_t_end, пусть мимо топика, но расскажи(очень уж интересно) про "несложный метод"))
PM MAIL   Вверх
sergejzr
Дата 13.8.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(En_t_end @  13.8.2006,  16:43 Найти цитируемый пост)
ИМХО нет, все равно если щифровать символ ASCII ты его хоть на сколько раз увеличивай/уменьшай получается, что диапазон шифрованного символа от 0 до 255, то есть 255,254 -переборов.

Хм. И то верно smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Pilligrim
Дата 13.8.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



А можно так:
Код

char c;
int d,
     password;//пароль пользователя
FILE* in,//незашифрованно
          out;//зашифрованное
in = fopen("in.txt","r");//например
out = fopen("out.txt","r");//например
c='b';
while(c!='\0')
     {scanf(file,"%c",c);
       d = int(c) + password;
       fwrite(NULL,4,1,out);
     }


Вот это уж взламывать будет подольше пап-хакер)))
PM MAIL   Вверх
En_t_end
Дата 13.8.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Pilligrim, 
Вариант с 4-байтами даже для современной домашней машины как орешки щелкать smile
PM MAIL ICQ Skype GTalk Jabber   Вверх
zkv
Дата 13.8.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Просто интересно стало, если потребуется расшифровать такого рода файл, то организовать перебор вариантов несложно, но как потом програмно определить какие варианты могут быть "человеческим" текстом?  Не слишком весело просматривать даже 2^32 фрагментов (только для int) 
PM MAIL   Вверх
rek74
Дата 13.8.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.8.2006

Репутация: нет
Всего: нет



Код

char key;
.....
ifstream from(filename,ios::binary);
while(from.get(tmp))
          {
          ++tmp=tmp++ +key; 



поидее самый простой способ. 


PM MAIL   Вверх
Pilligrim
Дата 13.8.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



En_t_end, это я просто со сложением сказал. Пусть сделает по какой-л. формуле: синусы, косинусы. Выбор огромен. И взламывать будет дольше. Тем более, что после записи в файл out, можно еще и побитовую инверсию, провести,а может и или/и. Еще раз повторю:  Выбор огромен.
PM MAIL   Вверх
sergejzr
Дата 13.8.2006, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(zkv @  13.8.2006,  19:05 Найти цитируемый пост)
Не слишком весело просматривать даже 2^32 фрагментов (только для int)  

Да и практически невозможно. Мы ставили различные комбинации фильтров, но всё равно текста слишком много. Местами появлялось даже чтото читаемое, но при ближайшем рассмотрении оказывался мусор.

PS:
А если ещё и не знаешь, на каком языке шифровка....

 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.