,RSA和DES算法的优缺点、比较?

用户投稿 103 0

关于“rsa_php类”的问题,小编就整理了【3】个相关介绍“rsa_php类”的解答:

RSA和DES算法的优缺点、比较?

密码是一种可以防止信息泄漏的技术.就体制而言,一般分为两类:对称密码体制和非对称密码体制。本设计从众多加密算法中选用了DES、RSA,以及基于DES和RSA的混合体制来实现对文件的加密与解密。DES和RSA两种算法各有优缺点:DES算法处理速度快,而RSA算法速度慢很多;DES密钥分配困难,而RSA简单;DES适合用于加密信息内容比较长的场合,而RSA适合用于信息保密非常重要的场合;混合密码体制则是综合了前两者的优点而设计

RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?

其实公钥和私钥都可以用来加密或解密---只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。

例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。

因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。

但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。

那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。

如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。最后再说一下数字签名。数字签名无非就两个目的:证明这消息是你发的;证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。

那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。

当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。其实概念很简单:小明想秘密给小英发送消息小英手里有一个盒子(publickey),这个盒子只有小英手里的钥匙(privatekey)才打得开小英把盒子送给小明(分发公钥)

如何用C语言程序实现RSA算法?

加密的时候,输入Y,然后输入要加密的文本(大写字母)

解密的时候,输入N,然后输入一个整数n表示密文的个数,然后n个整数表示加密时候得到的密文。

/*RSAalgorithm*/

#include

#include

#include

#defineMM7081

#defineKK1789

#definePHIM6912

#definePP85

typedefcharstrtype[10000];

intlen;

longnume[10000];

intchange[126];

charantichange[37];

voidinitialize()

{inti;

charc;

for(i=11,c='A';c

{change[c]=i;

antichange[i]=c;

}

}

voidchangetonum(strtypestr)

{intl=strlen(str),i;

len=0;

memset(nume,0,sizeof(nume));

for(i=0;i

到此,以上就是小编对于“rsa_php类”的问题就介绍到这了,希望介绍关于“rsa_php类”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!