RSA-шифрование на C
От: temik Беларусь  
Дата: 27.05.03 04:25
Оценка:
кто-нибудь делал сабж на сях? Киньте исходничек, плиз. Курсач горит.
Re: RSA-шифрование на C
От: m.a.g. Мальта http://dottedmag.net/
Дата: 27.05.03 06:12
Оценка:
Здравствуйте, temik, Вы писали:

T>кто-нибудь делал сабж на сях? Киньте исходничек, плиз. Курсач горит.


Странные у вас курсовики... У нас RSA на C — это одно из заданий для зачета.

тут
... << RSDN@Home 1.0 beta 7a 1.0.1227.39074>>
Re[2]: RSA-шифрование на C
От: temik Беларусь  
Дата: 27.05.03 06:29
Оценка:
Здравствуйте, m.a.g., Вы писали:

MAG>Здравствуйте, temik, Вы писали:


MAG>Странные у вас курсовики... У нас RSA на C — это одно из заданий для зачета.


rsa-лишь часть курсача. А сам курсач-- почтовый сервер с шифрованием мессаг по RSA. Сеть сделал, а с RSA никак разобраться не могу. Числа сильно длинные
Re[3]: RSA-шифрование на C
От: m.a.g. Мальта http://dottedmag.net/
Дата: 27.05.03 06:47
Оценка:
Здравствуйте, temik, Вы писали:

T>rsa-лишь часть курсача. А сам курсач-- почтовый сервер с шифрованием мессаг по RSA. Сеть сделал, а с RSA никак разобраться не могу. Числа сильно длинные


Ой. А зачем еще одно изобретение велосипеда? imap+ssl не помогали? Или у вас курсовик не предполагает того, чтобы работа не была уже кем-то проделана?

Мой курсовик недавно чуть не запинали, пока я не доказал, что связка XSLT+WebServices не является дублированием ASP.NET...
... << RSDN@Home 1.0 beta 7a 1.0.1227.39074>>
Re: RSA-шифрование на C
От: ilnar Россия  
Дата: 27.05.03 09:55
Оценка:
Здравствуйте, temik, Вы писали:

T>кто-нибудь делал сабж на сях? Киньте исходничек, плиз. Курсач горит.


есть на C++
http://www.rsdn.ru/File/982/rsa-cpp.zip
Re[4]: RSA-шифрование на C
От: temik Беларусь  
Дата: 28.05.03 04:39
Оценка:
Здравствуйте, m.a.g., Вы писали:

MAG>Ой. А зачем еще одно изобретение велосипеда? imap+ssl не помогали? Или у вас курсовик не предполагает того, чтобы работа не была уже кем-то проделана?

Именно не предполагает. Генерацию ключа вобще на асме надо реализовать
Re[4]: Где ошибка?
От: temik Беларусь  
Дата: 01.06.03 20:14
Оценка:
Где тут ошибка? считает правильно(проверял), а результат шифровки/дешифровки неправильный. Или может на ключи есть ограничения?

int crypt(int number,int power,int mod)
{
    int count,divcount,numcp,module,modcp;
    
    module=mod;
    modcp=module;
    numcp=number;
    int mull;
    mull=number;
    
    //int mas[65535],mas2[65535],mas3[65535];
    int  *mas,*mas2,*mas3;
    mas=new int[65535];
    mas2=new int[65535];
    mas3=new int[65535];
    count=0;
    divcount=0;
    while(numcp)
    {
        count++;
        numcp=(numcp/10);
    }
    while(modcp)
    {
        divcount++;
        modcp=(modcp/10);
    }
    for(int i=0;i<65535;i++)
    {
        mas[i]=0;
        mas2[i]=0;
        mas3[i]=0;
    }
    for(i=0;i<count;i++)
    {
        mas[i]=(number%10);
        mas2[i]=(number%10);
        number=(number/10);
    }
    
//начало возведения в степень
    for(int p=2;p<=power;p++)
    {
    //начало умножения
    for(int m=2;m<=mull;m++)
    {
    for(i=0;i<count;i++)
    {
        mas[i]+=mas2[i];
        if(mas[i]>=10)
        {
            mas[i]=(mas[i]%10);
            mas[i+1]+=1;
            if((i+1)>(count-1))
            {
                count++;
            }
        }
    }

    //конец умножения
    }
    for(i=0;i<count;i++)
    {
        mas2[i]=mas[i];
    }

//конец возведения в степень
}
//cout<<mas[0]<<mas[1]<<mas[2];

    
//for(int fff=1;fff<=170;fff++)

    int sum;
    sum=0;

        for(int ad=0;ad<count;ad++)
            {
                if(ad<5)
                {
                sum+=((int)pow(10,ad)*mas[ad]);
                sum=sum%module;
                }
                else
                {
                    int ab;
                    ab=ad;
                    int tmpsum;
                    tmpsum=0;
                    tmpsum=10*mas[ad];
                    tmpsum=tmpsum%module;
                    for(ab=2;ab<=ad;ab++)
                    {
                        tmpsum=((tmpsum*10)%module);
                    }
                    sum+=tmpsum;
                }
                sum=sum%module;
            }
        
            
delete[] mas;
delete[] mas2;
delete[] mas3;    

    cout<<'\n'<<sum;
    return sum;
    }
Re: RSA-шифрование на C
От: Fox007 Россия http://nalobin.ru
Дата: 02.06.03 05:25
Оценка:
Здравствуйте, temik, Вы писали:

T>кто-нибудь делал сабж на сях? Киньте исходничек, плиз. Курсач горит.


Поищи на filesearch.ru по ключевому слову rsaref2.
Re[5]: Где ошибка?
От: Вадим Никулин Россия Здесь
Дата: 02.06.03 12:37
Оценка:
Ну вааще!!!!!
Ну зачем тебе куча массивов, если все можно в одной переменной сделать!!!
Просто после каждого умножения приводишь по модулю — и все!!!

Возведение в степень — подозрительное.

Ограничения есть — ключ должен быть взаимно прост с (p-1)*(q-1), где q*p=n.
А вот еще интересно, как ты дешифруешь?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.