没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Openssl 建立自己 CA 系统
本文介绍了数字证书应用相关技术,简单介绍了 SSL 通信,RSA 非对称加密算法,并
用一个简单实例介绍了 RSA 的加密与解密应用,并用 openssl 建立用户自己的 CA 系统,包
括创建 CA 的根证书和密钥,给用户签名证书,撤销用户证书,管理证书撤销列表。
关键词:SSL、RSA 简单实例、matlab 乘幂取余、OPENSSL 应用、用户 CA 建立
1.SSL 简介(百科)
SSL(Secure Sockets Layer 安 全 套 接 层 ), 及 其 继 任 者 传 输 层 安 全 ( Transport Layer
Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输
层对网络连接进行加密。
SSL 协议位于 TCP/IP
协议 与各种应用层协议之间,为数据通讯提供安全支持。SSL 协
议可分为两层: SSL 记录协议(SSL Record Protocol):它建立在可靠的 传输协议(如
TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL 握手协议
(SSL Handshake Protocol):它建立在 SSL 记录协议之上,用于在实际的数据传输开始
前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL 的数字证书认证采用非对称加密算法确保安全性。
2.RSA 简介(百科)
RSA 算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其
中一个加密,则需要用另一个才能解密。
RSA 公钥 加密算法 是 1977 年由 Ron Rivest、Adi Shamirh 和 LenAdleman 在(美国麻省
理工学院)开发的。RSA 取名来自开发他们三者的名字。RSA 是目前最有影响力的公钥 加
密算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准
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 为密文,则:B=A^e1 mod n;A=B^e2
mod n;(公钥加密体制中,一般用公钥加密,私钥解密)e1 和 e2 可以互换使用,即:
A=B^e1 mod n;B=A^e2 mod n;
3.RSA 简单应用例
取 p=13,q=19, n=p*q=247=11110111b, (p-1)(q-1)=216=2*2*3*2*3*3, 假 设取 e1=5,则
e2=(216*x)/5 + 1/5 其中 x 为任意整数进一步可取 x 为 4 得一个 e2=173,则公钥(5,247),私钥
(173,247);n 长度为 8,对明文按每 4bit 单元(为保证加密后数据不丢失,这里明文编码最大
加密单元能表示的编码数要小于 247)进行加密,加密后数据按 8bit 保存,如
原始明文=FEDCBA9876543210,用数组表示[15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0]
加密明文,加密后密文=[15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0]^5 mod 247=[97 105 52 103
7 212 16 164 11 119 161 36 243 32 1 0]
资源评论
thq0201
- 粉丝: 13
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功