这学期刚学密码学,RSA算法相对简单,于是写了这个小软件.开发环境:VC++6.0。
RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。
数据加密算法RSA的关键在于大素数的生成,本软件采取数组形式解决大素数的存储和运算问题,可生成超过1024位的十进制数的大素数,以应用于数据加密。
RSA的缺点主要有:产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。分组长度太大,为保证安全性,n 至少也要 600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。
对于明文是字母、数字、符号、汉字的各种组合都能正确加密解密
标签:
密码
上传时间:
2016-08-14
上传用户:qq521