小学生晋级之非对称加密算法-RSA

1 RSA加密算法简介

 
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。
RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。


RSA 加密算法机制详细描述

详见:http://blog.csdn.net/blackkey2008/article/details/44039229


2 OpenSSL 进行RSA加解密

2.1 OpenSSL 简介

SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。

SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

在OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包。OpenSSL漏洞不仅影响以https开头的网站,黑客还可利用此漏洞直接对个人PC发起“心脏出血”(Heartbleed)攻击。据分析,Windows上有大量软件使用了存在漏洞的OpenSSL代码库,可能被黑客攻击抓取用户电脑上的内存数据。

 

2.2 Windows 下OpenSSL 安装详解

2.2.1 安装环境

1、操作系统:Windows 7 Service Pack 1

2、C++编译器:VC++

2.2.2 程序包下载

1、下载ActivePerl  5.10.1.1007(最新的版本或较低的版本也可以):

下载地址:http://www.activestate.com/activeperl/downloads/

(当前的最新版本为ActivePerl5.10.1.1007 ,只要按照Windows下一般程序的安装步骤进行即可~~~在此就不赘述了)

 

2、下载 openssl-0.9.8m(当然也可以最新的版本)并解压。

下载地址:http://www.openssl.org/source/

 

2.2.3 ActivePerl和OpenSSL的安装

2.2.3.1 安装Perl

只要按照Windows下一般程序的安装步骤进行即可~~~在此就不赘述了

(我的安装目录为C:\perl)

使用管理员权限运行“CMD”命令,使用cd命令进入C:\perl\eg目录下,执行“perlexample.pl”命令,若显示“Hello fromActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。

如下图:

 

2.2.3.2 安装编译OpenSSL三方库

解压缩OpenSSL后,进入OpenSSL目录,下面有两个文件INSTALL.W32和INSTALL.W64,用记事本方式打开,你可以看到详细的关于安装的解释。

总结安装步骤

1、> perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir

2、> ms\do_ms

3、> nmake -f ms\ntdll.mak

 

如果编译成功,最后的输出都在OpenSSL的根目录下out32dll文件夹中,该文件夹中包括可执行文件、dll和lib文件、我们要用到的为: libeay32.dll,libeay32.lib, ssleay32.dll, ssleay32.lib ;把他们放到PATH环境变量对应的一个目录里就可以了。

 

2.3 OpenSSL-RSA加解密示例

下载地址:http://download.csdn.net/detail/blackkey2008/8469209

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值