精华内容
下载资源
问答
  • RSA 加密解密算法C语言 (含linux)

    热门讨论 2012-05-14 10:06:51
    RSA 加密解密算法C语言 (含linux)内含代码加实例
  • rsa加密解密算法C语言代码#include#include#include #include #include #include #define MAX 100#define LEN sizeof(struct slink)void sub(int a[MAX],int b[MAX] ,int c[MAX] );struct slink{ int bignum[MAX];/*...
    展开全文
  • RSA加密解密算法c语言程序Word版》由会员分享,可在线阅读,更多相关《RSA加密解密算法c语言程序Word版(5页珍藏版)》请在人人文库网上搜索。1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!#include#...

    《RSA加密解密算法c语言程序Word版》由会员分享,可在线阅读,更多相关《RSA加密解密算法c语言程序Word版(5页珍藏版)》请在人人文库网上搜索。

    1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!#include#include#include/将十进制数转换成二进制,用于检验大素数p和qint zhuan_huan(int b,int a,int k)int t,temp=-1;while(b0)t=b%2;temp+;atemp=t;b=b/2;return temp;/欧几里得算法,用于判断加密指数e是否符合要求int gcd(int n,int b)int r1=n,r2=b,r;while(r20)r=r1%r2;r1=r2;r2=r;return r1;/扩展欧几里得算法求乘法逆元,即求解密指数dint extend(i。

    2、nt n,int b)int q,r,r1=n,r2=b,t,t1=0,t2=1,i=1;while(r20)q=r1/r2;r=r1%r2;r1=r2; r2=r;t=t1-q*t2;t1=t2;t2=t;if(t1=0) return t1%n;else传播优秀Word版文档 ,希望对您有帮助,可双击去除!while(t1+i*n)=0;i-)x=d;d=(d*d)%n;if(d=1)&(x!=1)&(x!=n-1)return 0;if(bi=1)d=(d*a)%n;if(d!=1)return 0;elsereturn 1;/快速计算模指数int js_mod(int a,int b,。

    3、int n)int x=0,y=1,k,i,s1000;k=zhuan_huan(b,s,1000);for(i=k;i=0;i-)x=2*x;y=(y*y)%n;if(si=1)x+;y=(y*a)%n;return y;/主函数。void main()int p,q,e,d,n,yn,m1000,c10000;/c10000存放加密后的数字密文,m1000存放解密后的数字明文,即英文明文在zimu_biao69中的下标。int i,j;/i,j用于循环遍历数组传播优秀Word版文档 ,希望对您有帮助,可双击去除!int mi_yue;/用户输入的密钥int count=1;/统计输入密钥的。

    4、次数,count3时将不允许用户再输入。char min_wen1000,re_min_wen1000;/分别为用户输入的明文、密文,解密后的明文。/密钥生成char zimu_biao69=abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789.?!;printf(请输入您要发送的明文文件(小写英文表示):n);printf(*n);gets(min_wen);printf(*n);printf(n加密开始,请按要求操作。nn);printf(请输入第一个大素数p:n);while(1)scanf(%d,&p);if(。

    5、Witness(2,p)=1)printf(您输入的第一个大素数 %d 符合要求n,p);break;elseprintf(您输入的 %d 不是素数,请重新输入:n,p);printf(请输入第二个大素数q:n);while(1)scanf(%d,&q);if(Witness(2,q)printf(您输入的第二个大素数 %d 符合要求n,q);break;elseprintf(您输入的 %d 不是素数,请重新输入:n,q);n=p*q;yn=(p-1)*(q-1);printf(请输入加密指数(整数)e,且03)printf(n您已%d次输入的密钥错误,将不允许继续输入n,count-1);break;。

    展开全文
  • rsa加密解密算法C语言代码

    热门讨论 2010-12-26 13:03:28
    rsa加密解密算法C语言代码 #include #include #include <stdlib.h> #include <time.h> #include #include #define MAX 100 #define LEN sizeof(struct slink) void sub(int a[MAX],int b[MAX] ,int c[MAX] ); ...
  • #include<stdio.h> #include<string.h> #include <stdlib.h> #include <time.h> #include <math.h> #include <malloc.h> #define MAX 100 #define LEN sizeof(struct slink) void sub(int a[MAX],int b[MAX] ,int c
  • C语言编程实现经典非对称加密算法——RSA加密算法
  • RSA解密算法c语言实现

    千次阅读 2020-11-07 00:23:46
    void jiami(int e,int n,int len,int *zminw,int *miw)//加密算法 { int e1=e; for(int i=0;i<len;i++){ int r=1; e=e+1; while(e!=1) { r=zminw[i]*r; r=r%n; e--; } miw[i]=r; e=e1;} } void

    c语言实现代码如下:

    #include<stdio.h>
    #include<string.h>
    void jiami(int e,int n,int len,int *zminw,int *miw)//加密算法
    {
    	int e1=e;
    	for(int i=0;i<len;i++){
    int r=1;
        e=e+1;
    while(e!=1)
    {
        r=zminw[i]*r;
        r=r%n;
        e--;
    }
    miw[i]=r;
    e=e1;}
    }
    void jiemi(int d,int n,int len,int *miw,int *jmw)//解密算法
    {
    	int d1=d;
    	for(int i=0;i<len;i++){
    	int r=1;
    	d=d+1;
    while(d!=1)
    {
      r=r*miw[i];
      r=r%n;
      d--;
    }
    jmw[i]=r;
    d=d1;}
    }
    void mwcf(int *miw,int len,int *bj,int *len2)//将密文转化为个位数的数组
    {
    	int k=0,j,h=0;
    for(int i=0;i<len;i++){
    	if(miw[i]>100&&miw[i]<110) 
    	{int a=miw[i]/100;int b=0;int c=miw[i]%100;k+=3;
    	 for(j=h;j<k;j++) {
          *
    
    ```c
    if(j==h) bj[j]=a; *斜体样式*
    	  if(j==h+1) bj[j]=b;
    	  if(j==h+2) bj[j]=c;}
    	h=k;
    	}
    	if(miw[i]<100&&miw[i]>10)  {int a=miw[i]/10;int b=miw[i]%10;k+=2;
    	for(j=h;j<k;j++){
        if(j==h) bj[j]=a;
    	if(j==h+1) bj[j]=b;}
    	h=k;
    	}
    	if(miw[i]>110){int a=miw[i]/100;int b=(miw[i]%100)/10;
    	int c=(miw[i]%100)%10;k+=3;
    	for(int j=h;j<k;j++){
    	if(j==h) bj[j]=a;
    	if(j==h+1) bj[j]=b;
    	if(j==h+2) bj[j]=c;}
        h=k;
    	}
    	if(miw[i]<10) {k+=1;bj[h]=miw[i];h++;}
    }
    *len2=k;
    }
    void miwzh(int *bj,char *miw3,int len2)//密文转化为字符串形式
    {
    for(int i=0;i<len2;i++)
    {
    miw3[i]=bj[i]+'0';
    }
    }
    int main()//0<minwen<n,也就是说明文M需要大于零,并且小于指数n。
    {
    int p=7,q=19;int fn,e,d=0,n;
    
    long int minwen,miwen,jmh;//单个数字加密测试
    char minw[1000],len,jmw1[1000],miw3[1000];//明文、长度、解密后的明文、密文的字符串表示
    int zminw[1000],miw[1000],jmw[1000];//ascall码值、密文、解密后的ascall码值
    int bj[1000],srmw[1000],len2;//才分后的密文、输入的带空格式密文、拆分后的长度
    char srdmiw[1000];//输入的字符串式密文
    n=p*q;    //pq的乘积
    fn=(p-1)*(q-1);    //n的欧拉函数φ(n)的值
    printf("φ(n)=%d,请输入一个与Φn互为质数且小于φ(n)的数e:",fn);
    scanf("%d",&e);
    for(int k=1;true;k++)  //计算模反元素d
    	{for(;(e*d-1)<=k*fn;d++)
    	{if((e*d-1)==k*fn)  break;}
         if((e*d-1)==k*fn)  break;
        }
    int t2;int k2;
    for(;true;){
    printf("1.加密明文       2.解密已加密明文       3.退出\n");
    printf("请选择操作:");
    scanf("%d",&t2);
    if(t2==1)
    {printf("请输入要加密的明文(一串字母):");
    scanf("%s",minw);
    len=strlen(minw);
    for(int i=0;i<len;i++)
    {zminw[i]=(int)minw[i];}//将明文转化为ascall码值
    jiami(e,n,len,zminw,miw);
    printf("加密后的密文:");
    for(int i=0;i<len;i++)
    printf("%d",miw[i]);
    putchar('\n');	
    mwcf(miw,len,bj,&len2);
    printf("拆分后的密文:");
    for(int i=0;i<len2;i++)
    	printf("%d",bj[i]);
    putchar('\n');}
    if(t2==2){                              
    printf("请输入要解密的密文:");
    miwzh(bj,miw3,len2);
    getchar();
    for(int i=0;i<len2;i++)
    	scanf("%c",&srdmiw[i]);
    printf("miw3的输出:");
    for(int i=0;i<len2;i++)
     printf("%c",miw3[i]);
    putchar('\n');
    printf("srdmiw的输出:");
    for(int i=0;i<len2;i++)
    	printf("%c",srdmiw[i]);
    putchar('\n');
    k2=0;//每一次循环都还回k2的值
    for(int i=0;i<len2;i++)
    {if(miw3[i]==srdmiw[i]) k2++;}
    if(k2==len2)  
    {
    jiemi(d,n,len,miw,jmw);
    printf("解密后的明文(ascall码值):");
    for(int i=0;i<len;i++)
    	printf("%d",jmw[i]);
    putchar('\n');
    for(int i=0;i<len;i++)
    	jmw1[i]=(char)jmw[i];
    printf("解密后的明文原文:");
    for(int i=0;i<len;i++)
    	printf("%c",jmw1[i]);
    putchar('\n');}
    else  printf("没有任何明文加密后为此密文。\n");}
    if(t2==3)  break;}
    return 0;
    }
    运行结果如下:
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201107002115605.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubm0L20wXzUxMTg0MzI3,size_16,color_FFFFFF,t_70#pic_center)
    
    
    
    展开全文
  • RSA算法C语言加密解密完整C语言程序
  • RSA加密算法C语言实现

    千次下载 热门讨论 2008-01-10 11:26:01
    RSA加密算法C语言实现
  • //// main.cpp// RSA//// Created by liujan on 10/21/14.// Copyright (c) 2014 liujan. All rights reserved.//#include #include "cmath"using namespace std;long long p = 1949, q = 3413;long long N = p ...

    //

    // main.cpp

    // RSA

    //

    // Created by liujan on 10/21/14.

    // Copyright (c) 2014 liujan. All rights reserved.

    //

    #include

    #include "cmath"

    using namespace std;

    long long p = 1949, q = 3413;

    long long N = p * q;

    long long e = 13007, d = 511;

    //对a的b次幂取模 m(大数取模)

    long long Mod(long long a, long long b, long long m){

    long long r = 1;

    for (long long j = 0; j < b; j++){

    r = (r * a) % m;

    }

    return r;

    }

    //对输入信息进行rsa编码

    long long * rsaEncode(string message){

    size_t length = message.length();

    long long *ascii = new long long[length]; //存储信息的每个字符

    long long *code = new long long[length]; //存储每个字符的rsa编码

    for (size_t i = 0; i < length; i++){

    ascii[i] = message[i];

    }

    for (size_t i = 0; i < length; i++){

    code[i] = Mod(ascii[i], e, N ); //C=M^e (modN)

    }

    return code;

    }

    //根据rsa编码得到原来的信息

    string rsaDecode(long long code[], size_t n){

    long long *ascii = new long long[n];

    string message = "";

    for (size_t i = 0; i < n; i++){

    ascii[i] = Mod(code[i], d, N); //M=C^d (modN)

    message += ((char)(ascii[i]));

    }

    return message;

    }

    int main(int argc, const char * argv[]) {

    string message = "Hello World!";

    size_t length = message.length();

    long long *a = rsaEncode(message);

    string newmessage = rsaDecode(a, length);

    cout << newmessage << endl;

    return 0;

    }

    展开全文
  • rsa加密解密c语言算法Here you will learn about RSA algorithm in C and C++. 在这里,您将了解C和C ++中的RSA算法。 RSA Algorithm is used to encrypt and decrypt data in modern computer systems and other ...
  • RSA加密算法c语言

    2015-06-03 00:29:47
    个人编的RSA加密程序,要想了解具体算法说明或者其他加密算法请关注我的博客----适合任何对算法理解不透彻的密码初学者和爱好者。
  • RSA加密算法C语言实现

    2019-11-27 20:42:07
    RSA加密算法C语言实现,int范围内可行。主要运用扩展的欧几里得算法,快速模幂算法。由于采取int四则运算,因此此版本不能进行1024bit密钥的加密。满足无限长密钥的C语言代码将稍后上传。
  • RSA加密解密算法—编程实战 转载于:https://www.cnblogs.com/liuys635/p/11181277.html
  • 小数模拟RSA加密算法,选择两个素数,计算n = p*q, sum = (p-1)*(q-1),选择整数e,使得e与sum互素,计算d,使得d = e^(-1) mod sum 公钥Pk = {e,n} 私钥Sk = {d,n} 加密(用Pk):  明文:M 解密(用Sk): ...
  • RSA加密算法(C语言实现)

    万次阅读 多人点赞 2015-06-02 22:07:27
    RSA算法流程说明----适合密码学初学者看
  • RSA加密解密算法

    千次阅读 2019-02-27 20:08:09
    本次课程设计即完成RSA算法签名验证。 1.1.1 任务要求 (1)产生两个奇数,判断是否是素数。 (2)计算得到n=pq的值和φ(n)的值。 (3)设定加密用的参数e=17,用辗转相除法求得解密用的参数d。 (4)设默认要加密的...
  • RSA加密算法C语言

    千次阅读 2016-11-04 20:11:26
    RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html RSA算法原理(二)#include int candp(int a,int b,in
  • RSA解密c语言实现).zip
  • 1.该程序是基于OpenSSL的使用纯C语言来实现RSA解密的,在Linux环境下开发完成,建议在Linux环境下使用(在Windows环境下需要自行修改); 2.该程序具有生成RSA密钥对、RSA公钥加密RSA私钥解密的功能,支持手动...
  • 非对称加密RSA算法c语言实现

    千次阅读 2019-12-01 16:04:05
    相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密 (privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对...
  • 一、源文件三个rsa.h , rsa.c, main.c//rsa.h#include #define MAX_NUM 63001#define MAX_PRIME 251//! 返回代码#define OK 100#define ERROR_NOEACHPRIME 101#define ERROR_NOPUBLICKEY 102#define ERROR_GENERROR ...
  • RSA算法解密C语言实现

    千次阅读 2019-12-29 21:17:33
    RSA算法解密C语言实现一. 实现的功能二. 源代码 一. 实现的功能 用户输入明文 自动随机生成较大的数p和q,并对它们进行素性检测,检测成功之后,程序继续 计算Φ(n)的值,并求出它的所有因子 随机生成比Φ(n)...
  • RSA混合密码系统.vc++ RSA解密算法,visual c++
  • 加密解密算法 DES RSA

    2011-08-18 17:15:10
    各种加密解密算法均给出你了C语言实现,包括DES算法、RSA算法等
  • RSA算法C语言代码(最新整理)》由会员分享,可在线阅读,更多相关《RSA算法C语言代码(最新整理)(5页珍藏版)》请在人人文库网上搜索。1、include #include #include #include #include char s100,*c;intn,e,d,i,C,j,...
  • 博文---信息安全实践二之密码与隐藏技术2【数字水印&RSA加密算法实现】 RSA加密算法的实现,利用C语言改正博文中的错误程序。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,718
精华内容 687
关键字:

rsa加密解密算法c语言

c语言 订阅