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

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

Войти
Регистрация
Восстановить пароль
 
Salvators
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 13
#1

Работа с файлами - C++

13.10.2013, 19:41. Просмотров 337. Ответов 2
Метки нет (Все метки)

Здравствуйте. В моей программе нужно зашифровать файл любого расширения, например jpg (я взял). Проблема в том, что: значения которые я получаю из файла - они типа char, использованный шифр Эль-Гамаля работает только с числами. Вопрос: как зашифровать данные типа char по этому шифру.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
ifstream Fread;
    int i, gcd=0, r, e;
    long long cB, dB, k;
    int m;
    long long p, q, g=0;
    Fread.open("C:\\проги\\ris.jpg", ios::binary|ios::in|ios::ate);
    size_t raz = Fread.tellg();
    vector <char> result(raz);
    Fread.seekg(0, ios::beg);
    Fread.read(&result[0], raz);
    Fread.close (); 
    
            while(1)
            {
              cout<<"Введите p"<<endl;
              cin>>p;
              if(prost(p)) // проверка на простоту
                break;
              else cout<<"Не простое"<<endl;
             }
            q=(p-1)/2;
            for(i=2; i<=p-1; i++)
            {
               g=i;
               if (mod(g, p, q)!=1)  break;
            } 
            cout<<g<<endl;
            while(1)
            {
              cout<<"Введите сB: "<<endl;
              cin>>cB;
              if (vzprost(p-1, cB, gcd) == 1) // проверка на взаимную простоту чисел
                 break;
               else cout<<"Числа сB и (р-1) - не взаимно простые. Попробуйте еще раз!"<<endl;
            }
            dB=mod(g, p, cB);
            while(1)
            {
                cout<<"Введите k (от 1 до "<<p-2<<"): "<<endl;
                cin>>k;
                if( k>=1 && k<=(p-2))
                    break;
                else
                    cout<<"Такое k не подходит. Попробуйте еще раз"<<endl;
            }
            ofstream Fwrite;
            Fwrite.open ("C:\\проги\\ris1.jpg", ios::binary|ios::out);
            r = mod(g, p, k); //вычисление g в степени k по модулю p
            Fwrite << r << ",";
            for(size_t i=1;i<raz;i++) 
            {
                e = (result[i] * mod(dB, k, p)) % p;
                Fwrite << e << ",";
            }
            Fwrite.close ();
 
            P = p;
            CB = cB;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 19:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами (C++):

Работа с файлами C++ - C++
Условие: Скопировать из файла F1 в файл F2 все строки, в которых содержится два одинаковых слова. Определить номер слова, в котором больше...

Работа с файлами - C++
Здравствуйте. Недавно начал программировать на c++ (знаю php, поэтому было легко). И дошло до того, что нужно работать с файлами. Поначалу...

Работа с файлами - C++
Открыть каталог, проверить файлы на обычность, проверить в именах файлов наличие знака $, и если он есть заменить на размер файла. ...

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

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

работа с файлами - C++
мне бы надо на C........... помогите пожалуйста, а то чет не могу разобраться #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

2
Salvators
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 13
13.10.2013, 19:43  [ТС] #2
Вот сам проект. Очень нужна ваша помощь))
0
Вложения
Тип файла: rar MZSKI_2.rar (2.61 Мб, 4 просмотров)
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 23:40 #3
Цитата Сообщение от Salvators Посмотреть сообщение
Проблема в том, что: значения которые я получаю из файла - они типа char, использованный шифр Эль-Гамаля работает только с числами.
char - это тоже число, однобайтовое.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 23:40
Привет! Вот еще темы с ответами:

Работа с файлами - C++
Помогите пожалуйста с этой задачей: даны файлы f и g, компоненты которых являются целыми числами. Записать в файл h сначала компоненты...

Работа с файлами - C++
Хотелось бы разобраться как работать с файлами. Придумал программу самую простенькую, хочу загнать ее в файл. #include &lt;stdio.h&gt; ...

Работа с файлами в С++ - C++
Дан текстовый файл. Нужно напечатать все строки, длина которых равна заданному числу.

Работа с файлами - C++
Скажите поожалуйста как сделать что бы программа могла читать и записывать в любой фаил информацию т.е Могла читать из фаила и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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