⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 factoring.c

📁 RSA公钥加密的基本实现 bmp灰度图片加解密操作包括 RSA 的加减密算法; 素数检测算法;RSA 密钥生成算法; 应用该 RSA 密码体制加、解密; BMP 灰度图的算法; Pollard p-1
💻 C
字号:
#include <stdlib.h>
#include <stdio.h>

#include <math.h>
#include <time.h>
#include "RSA.h"

unsigned gcd(unsigned, unsigned);
unsigned GMI(unsigned long long, unsigned);
unsigned Pollard_P_1(unsigned n, unsigned B)
{
    unsigned a=2;
    unsigned j;
    srand(time(0));
    do
    {
        a=rand()%(n-3)+2;//2 <= a <= N - 2 ( with a
        for (j=2;j<=B;j++)
        {
            a = fast_exp(a, j, n);
        }
    }
    while (a==1);
    a = gcd(a-1, n);

    if (a>1&&a<n)
        return a;
    else
        return 0;
}



unsigned pollard_p(const unsigned  c,const unsigned num)
{
    int i=2,k=2;
    srand(time(0));
    unsigned x=rand()%num;
    unsigned y=x,comDiv;
    do
    {
        i++;
        if ((x=fast_exp(x,x,num)-c)<0)
            x+=num;
        if (x==y)
            break;
        comDiv=gcd((y-x+num)%num,num);
        if (comDiv>1 && comDiv<num)
            return comDiv;
        if (i==k)
        {
            y=x;
            k<<=1;
        }
    }while(1);
    return num;
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -