安装openssl有两种方式,第一种直接下载安装包,装上就可运行;第二种可以自己下载源码,自己编译。下面对两种方式均进行详细描述。
第一种方法:直接下载安装包
Window 的openssl的安装包的下载地址为:
http://slproweb.com/products/Win32OpenSSL.html
文件夹1直接使用安装包提供了:Win32OpenSSL-1_0_1g.exe,点击一路next,就可以,最后完成是出现一个选择 ,是让捐款,可以啥都不选直接 finish。
第二种方法:字节编译openssl
我参考的:http://blog.csdn.net/dragoo1/article/details/22398473。
安装使用详解可看:
http://m.blog.csdn.net/article/details?id=25806151
RSA and Openssl
1.RSA算法原理简介
详细网址:
http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
RSA算法是一个广泛使用的公钥算法。其密钥包括公钥和私钥。它能用于数字签名、身份认证以及密钥交换。RSA密钥长度一般使用1024位或者更高。RSA密钥信息主要包括[1]:
Ø n:模数=(p*q)
Ø e:公钥指数 一般 = 65537
Ø d:私钥指数 = 用公钥指数计算得到
Ø p:最初的大素数 = 随机
Ø q:最初的大素数 = 随机
Ø dmp1:e*dmp1 = 1 (mod (p-1))
Ø dmq1:e*dmq1 = 1 (mod (q-1))
Ø iqmp:q*iqmp = 1 (mod p )
其中,公钥为n和e(知道两者才能加解密);私钥为n和d。在实际应用中,公钥加密一般用来协商密钥;私钥加密一般用来签名。
协商密钥:
密钥协商:两个或多个实体协商,共同建立会话密钥,任何一个参与者均对结果产生影响,不需要任何可信的第三方(TTP)。
密钥协商协议:会话密钥由每个协议参与者分别产生的参数通过一定的计算得出。常见的密钥协商协议,如IKE。
密钥协商协议的生成方式:可分为证书型和无证书型。证书型是指在会话密钥的产生过程中,由一个可信的证书中心(CA)给参与密钥协商的各方各分发一个证书,此证书中含有此方的公钥,ID及其他信息。证书型密钥协商协议的优点是提供认证,目前PKI(公钥密码体制)广泛部署,比较成熟,应用面广,且由PKG管理公私钥对有利于统一管理,缺点是计算代价大,需要一个可信的CA,同时证书还需要维护。无证书型是指各方在进行会话密钥的协商过程中不需要证书的参与,这是目前密钥协商协议的主流种类,优点是不需要CA的参与,减少了计算量,尤其是在低耗环境下应用的更多,同时安全性也不比证书型弱。几乎没有明显的缺点,只是设计一个安全的更加低耗的无证书密钥协商方案不是很容易。
签名:
信息传输过程中,单纯采用加密来保证数据的保密性,实际上还存在缺陷,假如发送方在发送某个信息后突然反悔,声明这个信息不是其发送,进行抵赖,虽然数据传输过程中是保密的,但无法证明这个信息的发送方身份,这样不利于通信的管理.
现实中,一般采用签名的方式,使信息不可抵赖,例如,合同谈判,银行取款等,都采用了用户签名的形式,证明这个信息确实发生过,那么,在网络通信中,通常使用数字签名实现信息的不可否认性.
数字签名的签名过程,就是发送者根据待发送的信息和用自身私钥加密的数字摘要组合成数字签名.用户采用自己的私钥对信息加以处理,由于密钥仅为本个所有,这样就产生了别人无法生成的文件,也就形成了数字签名,采用数字签名,能够确认以下两点.
1.保证信息是由签名者自己签名发送的,签名者不能否认或难以否认.
2.接收方可以验证信息自签发后到收到为止未曾做过任何修改,签发的文件是真实文件.
2.学习Openssl
http://shjia.blog.51cto.com/2476475/1427138