openssl基本概念 openssl源码编译 RSA如何保证私钥安全 DH秘钥交换算法

2019-09-22 22:52:00
admin
原创 1130
摘要:openssl基本概念 openssl源码编译 RSA如何保证私钥安全 DH秘钥交换算法

一、openssl基本概念

BIO是IO函数的抽象,可以对应用屏蔽底层IO细节,有2种类型BIO:数据源BIO,过滤器BIO。

数据源BIO:内存、文件、网络等。

过滤器BIO:消息摘要、加密、解密等。


EVP是高级加密接口,封装了消息摘要、加密解密、签名验签等,对外提供统一接口,推荐使用EVP接口。


FIPS是美国联邦信息处理标准,其中FIPS-140-2是针对加密模块的安全要求,openssl的fips版本满足该规范。


二、openssl源码编译

编译openssl:

./config no-shared --prefix=/data/app/openssl

make

make install


编译fips:

./config no-shared --prefix=/data/app/fips

make

make install


编译fips版本的openssl:

./config no-shared fips --with-fipsdir=/data/app/fips --prefix=/data/app/openssl

make depend

make

make install


三、RSA如何保证私钥安全

p、q:随机质数,生成m和r后立即销毁

m:p*q

r: (p-1)(q-1)

e:e与r互质

d: (e*d) % r = 1

公钥由e和m组成,没有p和q无法推算出r,因此无法推导出d;

私钥由d和m组成;


四、DH秘钥交换算法

1、Alice与Bob确定两个大素数n和g,这两个数不用保密
2、Alice选择另一个大随机数x,并计算A如下:A=gx mod n
3、Alice将A发给Bob
4、Bob选择另一个大随机数y,并计算B如下:B=gy mod n
5、Bob将B发给Alice
6、计算秘密密钥K1如下:K1=Bx mod n
7、计算秘密密钥K2如下:K2=Ay mod n
K1=K2,因此Alice和Bob可以用其进行加解密

发表评论
评论通过审核之后才会显示。