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

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

Войти
Регистрация
Восстановить пароль
 
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
#1

Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге - C++

17.10.2012, 22:07. Просмотров 558. Ответов 13
Метки нет (Все метки)

Шифр RSA. Вроде бы все прочла ,что связано с этой темой,ну и как бы написала программу,но она при компилировании выдает ошибки. Я не понимаю ,что это за ошибки,тк глюканутый компилятор-он просто подчеркивает строчку и не пишет из-за чего ошибка.
Я была бы очень благодарна ,Если бы мне разъяснили именно ошибку в моей программе. (не судите строго,на с++ только месяц)
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
61
#include <math.h>
#include <gmp>
#include <stdio.h>
#include <stdlib.h>
//ÔóГ*êöèè øèôðîâГ*Г*ГЁГї ìåòîäîì RSA
int gcd (double a, double b)
{
  double c = 0.;
  while ( b != 0 )
  {
      double (c) = double(a)/ double(b);
        a = b;
        b = c;
  }
  if ( a < 0. ) {return (-1.)*a;}
  else { return a;}
}
//ÑîçäГ*Г*ГЁГҐ Г§Г*êðûòîãî êëþ÷Г* ГЇГ® îòêðûòîìó e
void RSA_key(double p, double q, double e, double &result)
{
    
    //e Гў Г±ГІГҐГЇГҐГ*ГЁ -1 ГЇГ® ìîäóëþ (p-1)(q-1)
    result=pow(e, (p-1)*(q-1));
}
 
//Г‡Г*øèôðîâГ*Г*ГЁГҐ ñîîáùåГ*ГЁГї msg äëèГ*îé msg_len êëþ÷îì e ГЇГ® ìîäóëþ n
void RSA_encrypt(double e, double n, double msg[],double msg_len,
                 double crypt_msg[])
{
    //äëÿ ГЄГ*æäîãî áëîêГ* ñîîáùåГ*ГЁГї
    for(int i=0; i<msg_len; i++)
    {
        //âîçâîäèì Гў Г±ГІГҐГЇГҐГ*Гј e ГЇГ® ìîäóëþ n
        crypt_msg[i]=pow_mod(msg[i],e,n);
    }
}
 
//ГђГ*ñøèôðîâГ*Г*ГЁГҐ ñîîáùåГ*ГЁГї crypt_msg äëèГ*îé msg_len êëþ÷îì d ГЇГ® ìîäóëþ n
void RSA_decrypt(double d, double n, char crypt_msg[], double msg_len,
                 double decr_msg[])
{
    //äëÿ ГЄГ*æäîãî áëîêГ*
    for(int i=0; i<msg_len; i++)
    {
        //âîçâîäèì Гў Г±ГІГҐГЇГҐГ*Гј d ГЇГ® ìîäóëþ n
        decr_msg[i]=pow_mod(crypt_msg[i],d,n);
    }
}
int main(void){
    char s[]="Hello my dear son!";
    double p,q;
    printf("vvedite p and q\n");
    scanf("\np=%lf\n",&p);
    scanf("\nq=%lf\n",&q);
     n = p * q;
     m = (p - 1) * (q - 1);
   RSA_key(p,q,gcd (n,m), &result);
    RSA_encrypt(gcd (n,m),n,s[],msg_len,crypt_msg[]);
    printf("%s\n",RSA_encrypt(gcd (n,m),n,s[],msg_len,crypt_msg[]));
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 22:07     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге
Посмотрите здесь:

C++ Не могу понять где ошибка ?
Не могу понять где ошибка C++
Не могу понять где ошибка C++
не могу понять где ошибка в 9 строке C++
C++ Не могу понять где у меня ошибка с використанням if
C++ Не могу понять где ошибка!
C++ Не могу понять где ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 22:47     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #2
C++
1
2
3
4
5
     n = p * q;
     m = (p - 1) * (q - 1);
   RSA_key(p,q,gcd (n,m), &result);
    RSA_encrypt(gcd (n,m),n,s[],msg_len,crypt_msg[]);
    printf("%s\n",RSA_encrypt(gcd (n,m),n,s[],msg_len,crypt_msg[]));
что такое n,m,result,msg_len,crypt_msg[]
и где это все объявлено?
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 22:52  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #3
n,m -числа ,которые помогают создать закрытый ключ.и да,я их забыла объявить =((

Добавлено через 3 минуты
но ошибку он начинает выдавать уже с этой строчки
C++
1
2
if ( a < 0. ) {return (-1.)*a;}
  else { return a;}
я правда очень мало знаю об этом языке ,легче было бы на паскале все это написать ,но у нас принимают только на с++(
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 22:54     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #4
Цитата Сообщение от Lokomoss Посмотреть сообщение
n,m -числа ,которые помогают создать закрытый ключ.и да,я их забыла объявить =((
а остальное?
result, msg_len, crypt_msg[]
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 22:57  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #5
аналогично ,для создание закрытого шифра
msg_len-длина шифр строки
crypt_msg[] -зашиф строка
result- парметр шифрования
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 22:58     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #6
функция gcd должна возвращать double, наверное
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 23:02  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #7
кстати да, я что-то не заметила этого. спасибо,но все равно ошибки остались .
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 23:06     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #8
без
C++
1
2
3
crypt_msg
msg_len
pow_mod
все компилируется.
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 23:08  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #9
проблема в том,что без них я не высчитаю этот ключ и не смогу зашифровать,смысл тогда всей программы? или я не понимаю,что вы имеете в виду
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 23:11     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #10
Я имею ввиду где эти переменные объявлены?
result еще забыл написать
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 23:16  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #11
мне до них еще бы добраться,я постепенно пытаюсь устранять ошибки,например ,мой комплиятор не знает функцию возведение в степень числа по такому-то модулю -_-

Добавлено через 3 минуты
просто я ее за какой-то час слепила , сидела ,висла на этих ошибках ,но так и ничего не поняла,решила,что здесь разъяснят ,хоть кто-нибудь,кому не лень.
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
17.10.2012, 23:20     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #12
Если у Вас ничего не объявлено, функции не написаны, что толку исправлять ошибки?
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
17.10.2012, 23:24  [ТС]     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #13
разобраться вообще ,толк есть,понять ,что надо подучить и начать изучать
для всех,кто прогает на этом языке ,написать эту прогу не доставит труда,как я думаю, как мне написать аналогичное ,но на паскале.
а тут по-другому, я дезориентирована .и хочу понять,что там не так!как это делается и т.п.
я хочу научиться этому , так что толк есть . на ошибках я учусь. пусть будет их много,но они мои, б-на них я пойму,где мои пробелы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2012, 01:33     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге
Еще ссылки по теме:

Где ошибка в коде?Не могу понять C++
C++ Не могу понять где ошибка
Не могу понять где ошибка в программе C++
Не могу понять где ошибка C++
С++ ошибка в проге, но не могу понять какая ошибка( C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
12728 / 7188 / 802
Регистрация: 27.09.2012
Сообщений: 17,730
Записей в блоге: 2
Завершенные тесты: 1
18.10.2012, 01:33     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге #14
А что мешает взять книжку и по книжке учиться? Писать простенькие программы для закрепления материала.
Yandex
Объявления
18.10.2012, 01:33     Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге
Ответ Создать тему
Опции темы

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