Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 63, средняя оценка - 4.90
MrKawaii
1 / 1 / 0
Регистрация: 14.05.2012
Сообщений: 12
#1

Шифрование текста - C++

27.05.2012, 12:06. Просмотров 9815. Ответов 16
Метки нет (Все метки)

Здравствуйте, пытаюсь зашифровать слово, через ключ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main()
{
    char str[] = "qwe";   // "пример"
    char key[] = "a2c";  // "пример"
 
    for(int i=0; i<3; i++)
       str[i] = str[i]^key[i];
        cout << str;
 
    return 0;
}
Получаются разные символы типо сердечек и тому подобное, так и должно быть?
И как сделать обратно, то есть расшифровать полученное в исходный текст?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 12:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шифрование текста (C++):

Шифрование текста, табличная замена текста - C++
Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом - его шифром. Выбрать некоторую...

Шифрование текста - C++
необходимо создать программу что бы зашифровать и расшифровать данный текст путем замены буквы на следующую по алфавиту. помогите...

Шифрование текста. XOR - C++
Помогите с шифрование текста...с числоми вроде получалось. Что значит эта ошибка и как ее испрвить?..) #include &lt;iostream&gt; #include...

Курсовая: шифрование текста. - C++
Здравствуйте. В связи с рядом причин(главная конечно лень xD ), свою курсовую я умудрился взять только сейчас. Сдача через 2 недели....

Шифрование и дешифрование текста - C++
Народ вот програма для шифрования текста мне нужно переделать так штоб били подпрограми: 1) на меню пользователя cout&lt;&lt;&quot; Меню...

Шифрование текста в файле - C++
проблема в то что в процессе работы программа должна считывать текст в файле и кодировать его. Прога работает нормально,т.е. кодирует...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Topotun
89 / 48 / 7
Регистрация: 16.09.2012
Сообщений: 207
17.09.2012, 20:48 #2
Да, так и должно быть. Чтобы расшифровать слово, нужно выполнить обратную операцию.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.09.2012, 20:52 #3
"Наложить" гамму на шифртекст повторно, учитывая тождество
x ^ y ^ y = x
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 294
17.09.2012, 20:56 #4
Не хочу новую тему создавать, напишу сюда. Хочу написать свой криптор на С++ который будет кодировать другие программы, либо файлы. Какие кодировки можете посоветовать? Или как это вообще реализовать?. У меня есть книга хорошая "Аграновский А.В., Хади Р.А - Практическая криптография, алгоритмы и их программирование - 2009", но я не знаю с чего начинать. Может найдется человек который уже делал что-нибудь подобное и подскажет?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.09.2012, 21:14 #5
Цитата Сообщение от DebieCooepr Посмотреть сообщение
Хочу написать свой криптор на С++ который будет кодировать другие программы, либо файлы.
шифрование и кодирование - разные вещи.

Цитата Сообщение от DebieCooepr Посмотреть сообщение
Какие кодировки можете посоветовать?
смотрите в сторону государственных стандартов. не просто так эти алгоритмы возведены до такой степени, например

цифровая подпись ГОСТ Р 34.10-2001 на эллиптических кривых
блочный симметричный шифр ГОСТ 28147-89
блочный симметричный шифр (американский гос.стандарт) AES
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 294
17.09.2012, 21:27 #6
П.С. Я никак не могу понять один момент, каким образом криптор работает с каким-нибудь файлом или программой?. Я вот подумал, а не придется ли мне сразу получить каким-нибудь образом исходный код какова-нибудь файла, закриптовать, и что дальше?) Мне ведь этот зашифрованный файл еще и открывать придется и он должен будет расшифроваться при запуске. Или как-то по другому?
Topotun
89 / 48 / 7
Регистрация: 16.09.2012
Сообщений: 207
17.09.2012, 21:27 #7
Если ты хочешь кодировать-декодировать файлы, то их без труда можно найти введя в гугл один запрос. Если хочешь шифровать, то нужно ознакомиться с методами шифровки и определить, что для тебя приемлемо (шифрование с открытым ключом и тп). Ну а от этого дальше плясать.
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 294
17.09.2012, 21:37 #8
Мне нужен именно собственноручный криптор, а не готовенький код в интернете). С ознакомлением проблем не будет, у меня много литературы по этому поводу + гугл. Короче говоря, я хочу написать свою программу для криптозащиты.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
17.09.2012, 21:37 #9
Я использовал шифрацию по ключу, запоролся на записи в файл.

Что делал:

1. Функция создания ключа. Ключ желательно подлиннее, поскольку чем длиннее ключ, тем сложнее найти его. Генерация в массив char, например. unsigned char key[32] - 512-битный ключ.

2. Функция шифрации/дешифрации. Включает некоторые битовые обратимые операции, так же опционально еще что-то (например может добавлять в ключ MAC-адрес если нужно привязать файл к компьютеру)

Способы шифрации:

1. Логическая операция xor.
2. Ассемблерная операция ror (сдвиг вправо с переносом вылетающего бита влево, на пустое место)
3. Перенос местами байтов в участке кода.

Из файла считываются строки == ключу, шифруются и записываются в память. После чего входящий файл многократно перезаписывается рандомными данными (чтобы избежать восстановления) и затем заполняется шифрованными байтами.
Topotun
89 / 48 / 7
Регистрация: 16.09.2012
Сообщений: 207
17.09.2012, 21:39 #10
Например ты читаешь какой нибудь текст в программе через криптор и хочешь его зашифровать, ты считываешь файл, затем переводишь всё в биты (нолики и единички ) и только потом можно использовать шифрование, так как все алгоритмы шифрования основываются на изменении бит по какому либо правилу. Ну вот если простым языком, то как то так.
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 294
17.09.2012, 21:41 #11
"Посредством криптора шифруется оригинальный программный файл и в его начало записывается код, при запуске выполняющий расшифровку и выполнение зашифрованной программы."
Во, нашел в интернете. Вот что я хочу написать и услышать совета бывалых)
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
17.09.2012, 21:57 #12
Цитата Сообщение от DebieCooepr Посмотреть сообщение
"Посредством криптора шифруется оригинальный программный файл и в его начало записывается код, при запуске выполняющий расшифровку и выполнение зашифрованной программы."
Во, нашел в интернете. Вот что я хочу написать и услышать совета бывалых)
Это только один способ, когда ключ прячется в файле. Я решил для начала хотя бы шифровать на ключ, не задумываясь о способах его прятания и считывания, чего и тебе желаю.
Ну а так, в принципе, можно ключ прятать и в файле. Только чтобы его не шифровать нужно его байты раскидать по файлу в заранее известные места, ну и, разумеется, размер файла в таком случае должен быть больше чем максимальный номер байта.

То есть, допустим, 32-битный ключ, байты в [7][3][10][12] номерах. Размер файла не меньше 12 байт.

Еще возможен алгоритм, когда ключ ставится в начало файла, затем идет шифрация всего остального, а сам ключ шифруется на заранее известные байты (допустим, на последние).
Topotun
89 / 48 / 7
Регистрация: 16.09.2012
Сообщений: 207
17.09.2012, 22:50 #13
Предлагаю ознакомиться сначала с основами криптографии, а потом уже от простого к сложному идти.
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 294
18.09.2012, 00:39 #14
Я уже достаточно узнал) Счас начну знакомиться с основами, дойду до сложного, тему подыму.) Просто мы в универе криптографию вобще не проходим, решил просто для себя, для общего развития так сказать).
Спасибо всем за помощь.
windows98a
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 2
13.06.2013, 14:33 #15
Пример хорошего шифрования
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 14:33
Привет! Вот еще темы с ответами:

Написать программу: шифрование текста - C++
Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно...

Задача на шифрование текста, язык Cи. - C++
Произвести шифрование текста согласно вводимому ключу , который представляет из себя последовательность символов ( изначально 1,2,3,4,5,6...

Шифрование текста путем замены символов - C++
Здравствуйте! Нужна Ваша помощь. Нужно провести шифрование предложения заменой символов в си++. Есть работа в Паскале, а как в си++сделать...

Шифрование текста методом замены букв - C++
Ребята, помогите. Завтра сдавать отчет, а я похерил исходники. Осталась сама программа, а дизассемблеровать сложно и нет времени. А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.06.2013, 14:33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru