С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
3 / 3 / 1
Регистрация: 20.12.2009
Сообщений: 45
1

RSA

01.05.2011, 23:06. Показов 2526. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
бьюсь головой об стол с перерывами на обед...
вот код:
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
bool prost(int z)
{
    for(int i=2; i<=sqrt((float)z); i++)
        if(z%i == 0)
            return false;
    return true;
}
 
int NOD(int a,int b)
{
    if(a==b)
        return a;
    else
        if(a>b)
            return NOD(a-b,b);
        else
            return NOD(b-a,a);
}
void __fastcall TForm2::FormCreate(TObject *Sender)
{
    int eler,proverka;
    bool flag=false;
    srand((unsigned)time(NULL));
    do
        p = rand()%99+2;
    while(!prost(p));
    do
        q = rand()%99+2;
    while(!prost(q));
    Label2->Caption = "p = "+IntToStr(p)+"; q = "+IntToStr(q)+"; ";
    n = p*q;
    eler = (p-1)*(q-1);
    do
    {
        do
            e = rand()%99+2;
        while(e>eler);
        if(NOD(e,eler)==1)
            flag=true;
    }
    while(flag==false);
    Label2->Caption = Label2->Caption + "e = "+IntToStr(e)+"; ";
    flag=false;
    do
    {
        do
        {
            d = rand()%99+2;
            proverka = (e*d)%((p-1)*(q-1));
        }
        while(proverka!=1);
        if(NOD(e,d)==1)
            flag=true;
    }
    while(flag==false);
    Label2->Caption = Label2->Caption + "d = "+IntToStr(d)+";";
}
функция прост проверяет простое ли число
функция нод проверяет взаимнопростые числа или нет
и вот то ли я тупой, то ли не правильно понимаю описание этого алгоритма с википедии...
доходит до генерации Д и уходит в бесконечный цикл.
прошу помощи
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
01.05.2011, 23:06
Ответы с готовыми решениями:

Шифрование RSA
Доброго всем времени суток. Делаю курсовую работу по криптографии - реализация алгоритма RSA. Вот...

RSA шифрование
Здравствуйте уважаемые форумчане. Знаю, есть темы подобные моей, но использовать готовое, когда...

PolarSSL RSA
Помогите разобраться с криптобиблиотеками PolarSSL (сейчас она уже называется mbed TLS), а именно с...

шифр RSA
Добрый день, люди добрые помогите )) не могу понять в чем ошибка... сам алгоритм Два больших...

2
Jupiter
01.05.2011, 23:09
  #2

Не по теме:

Цитата Сообщение от fawr Посмотреть сообщение
for(int i=2; i<=sqrt((float)z); i++)
круто на каждой итерации вычислять корень

0
3 / 3 / 1
Регистрация: 20.12.2009
Сообщений: 45
02.05.2011, 13:53  [ТС] 3
целую руки за столь полезное замечание!!!!
однако от исправления этой нерациональности работать не начнёт...
жду помощи дальше

Добавлено через 4 часа 6 минут


Добавлено через 10 часов 22 минуты
0
02.05.2011, 13:53
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
02.05.2011, 13:53
Помогаю со студенческими работами здесь

RSA - иероглифы
Привет всем! Возникла проблема. Есть программа на RSA (честно, помогали люди) - но почему - то при...

RSA шифрование
Народ кому не жалко выложите алгоритм шифрования методом RSA нужен самописный а не с помощью...

Ключи RSA
Помогите, пожалуйста, разобраться с ключами для криптосистемы RSA :) А конкретнее с их генерацией,...

шифрование RSA
Помогите пожалуйста с задачей: Составить программу на языке программирования С++, которая...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru