文献综述:
大数据和云计算技术的落地,为每一个接触的人带来了福利,数据的存储、计算、整合及利用为许多企业带来了商机,也为个人提供了更便捷的服务。但同时也给信息的安全带来了很大的挑战。
近几年,用户信息的泄密事件频繁发生。仅仅2014年一年就出过几起甚是严重的大事件。
3月,在线旅游服务平台携程网被爆出其支付系统存在技术漏洞,安全支付日志可下载,导致大量用户银行卡信息泄露。4月,国内两家大型物流公司内部系统被黑客攻击,导致1400多万条快递用户的信息被泄露 。5月,电商网站eBay要求近1.28亿用户重置其个人账户密码,因为黑客可能从中获取用户信息。9月,众多好莱坞女星的iCloud账户被破解,从而引起了全球轰动的“好莱坞艳照门”事件。12月,铁路客户服务中心12036网站被爆出大量用户数据泄露并在网上传播售卖。而这些事件仅是泄密事件中具有代表性的。
2015年3月5日,李克强总理在政府工作报告中专门指出“发展和规范网络空间,确保国家安全和公共安全”,将矛头直指信息安全的漏洞问题。
守护我们的信息安全需要不断的努力,其中包括各种加密手段。其中RSA加密算法是第一个能同时用于加密和数字签名的算法,经过30多年的考验,被普遍认为是目前最优秀的公钥方案之一。
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯在一个内部文件中提出了一个相应的算法,但他的发现被列入机密,一直到1997年才被发表。RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。
RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。(n,e1),(n,e2)就是密钥对。其中 (n,e1)为公钥,(n,e2)为私钥。RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;e1和e2可以互换使用,即:A=B^e2 mod n;B=A^e1 mod n。由此我们可以看出,RSA的安全性依赖于大数的因子分解。因为这个大数是由两个质数相乘得到的,所以当这两个质数足够大时,解密时需要分解的大数的分解难度就会很大。这就使该算法的解密难度相当的大,使得用该算法加密的信息不会轻易被盗取。
C 是一种使用非常广泛的计算机语言,它所支持的面向对象的概念将问题空间直接的映射到程序空间,为程序员提供了一种完全不同思维方式的编程方法,使得开发人机交互型的应用程序更为简单、快捷。此次将使用C 语言来实现RSA加密算法。
拟研究或解决的问题:
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。