0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
1

Алгоритм Диффи-Хеллмана. Ошибка вычисления

23.11.2012, 19:58. Показов 13764. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, я реализую алгоритм Диффи-Хелмана и столкнулся со следующими проблемами
1) в программе неправильно вычисляется значение k2 хотя при пересчете значений на калькуляторе k1=k2
в чем моя ошибка ? Вот код:
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
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
 
int main(int argc, char *argv[])
{ 
    int q,p,na,nb,n,rez;
   long long z1,z2 ,Ya,Yb,k1,k2;
   p=17;
   q=3;
   na=3;
   nb=8;
   z1= pow(q,na);
   z2= pow(q,nb);
   Ya=z1 % p;
   Yb =z2 % p;
   int z3= pow(Yb,na);
  int z4= pow(Ya,nb);
   k1=z3 % p;
   k2=z4 % p;
   cout<<"open key Ya = "<<Ya<<endl;
   cout<<"open key Yb = "<<Yb<<endl;
   cout<<"secret key  = "<<k1<<endl;
   cout<<"secret key  = "<<k2<<endl;
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
2) посоветуйте какую библиотеку подключить чтобы производить арифметические операции с очень большими числами (10^34)? (операционка - win7, среда разработки dev c++)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2012, 19:58
Ответы с готовыми решениями:

Алгоритм Диффи-Хеллмана на эллиптических кривых
Здравствуйте , не поможете разобраться с алгоритмом Диффи-Хелмана на эллиптических кривых? Я...

Ошибка вычислений или переполнение (протокол Диффи-Хеллмана)
привет всем!! я реализовал протокол диффи хеллмана, но он работеат только с маленькими числами,что...

Запустить исходник Диффи-Хеллмана
вот код реализации диффи хеллмана,но я не могу запустить ее: помогите разобратся)) /* * dh.c *...

Составить блок-схему, алгоритм вычисления и программу для вычисления значения кусочно заданной функции
помогите решить

8
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
23.11.2012, 20:12 2
Цитата Сообщение от ahamoth Посмотреть сообщение
z1= pow(q,na);
работает с плавающими числами а у тебя кругом целочисленные возможна ошибка округления, пройди отладчиком по шагам и посмотри где начинает врать
реализуй свою функцию возведения в степень для целочисленных типа
C++
1
2
3
4
5
6
7
int MyPow(int n1,int n2)
{
int pw=1;
for(int i=0;i<n2;i++)
  pw*=n1;
return pw;
}
1
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
23.11.2012, 20:48  [ТС] 3
а что на счет библиотеки?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
23.11.2012, 20:49 4
не слыхал про такие
может самому класс придется реализовывать
0
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
23.11.2012, 21:05  [ТС] 5
а можешь сказать что вот эта запись означает pw*=n1?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
23.11.2012, 21:07 6
Цитата Сообщение от ahamoth Посмотреть сообщение
вот эта запись означает pw*=n1?
сокращенная запись вот этого
C++
1
pw=pw*n1;
1
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
25.10.2013, 07:54 7
привет всем! а есть у кого этот алгоритм только переменные вводимые а на заданные
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
25.10.2013, 08:14 8
библиотека gmp есть.
http://gmplib.org
0
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
25.10.2013, 09:59 9
а там описывается только библиотека, а хотел бы посмотреть наглядный пример алгоритма или если это возможно простенкии и работающии исходник на с++))

Добавлено через 1 час 38 минут
gromo, а там описывается только библиотека, а хотел бы посмотреть наглядный пример алгоритма или если это возможно простенкии и работающии исходник на с++))
0
25.10.2013, 09:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2013, 09:59
Помогаю со студенческими работами здесь

Составить блок-схему, алгоритм вычисления и программу для вычисления значения кусочно заданной функции
помогите пожалуйста =) заранее благодарен =) П.5.19.Правил Запрещено создавать темы в виде ссылок...

Алгоритм Диффи-Хеллмана
необходимо реализовать алгоритм Диффи-Хеллмана на перл

Простейший алгоритм Диффи-Хеллмана
Пробую совсем просто, без заморочек, написать алгоритм ДХ, но в результате ключи почему-то...

Алгоритм Диффи — Хеллмана програмная реализацыя
(Прошу прощения за корявый русский) помогите з реализацией етого алгоритма) По заданию уменя есть...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru