没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
使用指南
密码基础
本节介绍一些必须事先了解的密码学知识和密码算法。密码算法都是公开
的,保密应该依赖于密钥的保密,而不是算法的保密。
对称加密
网络中分组和报文一般以明文方式传输。为了避免被偷听而泄露,需要加
密。传统上使用对称算法加密,后来出现了非对称算法,即公钥算法。
对称加密算法中,明文,密钥,密文,加密算法,解密算法:
加密 (,)
解密 (,)
为了方便一般使。在理解上方便,可以认为。
主要问题在于达成一致密钥的困难性。由于密钥需要保密,因此需要事先
秘密约定,或者用额外的安全信道来传输。
主要的对称算法有、、等。
密钥协商协议
是一个用来在公开信道协商密钥的协议。协议依赖这样一个计算上
困难的数学问题,即下式中求是容易的,而知道求是困难的。该问题叫离
散对数问题。
!"#
、$双方各自选择秘密数和%,交换& !"#和&% !%
"#,并各自分别计算&%!"#和%&!%"#。事实上
%,而且,他人从&得不到。
该协议简单有效,不依赖于任何事先的秘密约定,广泛用在'()*+等
很多需要在线协商密钥的场合。但是该协议中没有关于通信双方身份的鉴别,
因此存在中间人攻击。
,公钥算法
密钥分为加密钥和解密钥两部分:-./,公开发布,且从难于
推导出。
加密 (,)
解密 (,)
下面介绍的算法是公钥算法的典型代表和事实标准。
选取随机大素数和0,选定计算#满足#1-/-0/2,记0,
则公钥-./,私钥-#./。公钥要发布,私钥要保密。加密消息:
加密 !"#(
解密 (!#"#
算法是基于因子分解问题的困难性的。另有基于离散对数问题的
3类等公钥算法。
数字签名
算法可以用来签名。
用户对消息的签名是通过用户对执行了一种特定的操作,这种操作的结
果能够被公开地验证,也能抗伪造。
对消息的签名4定义为:
签名 !#"#4
验证 4!"#5
6算法
为了使用方便和提高速度,一般不是直接对签名,而是对的散列值签名。
这要求找和有相同散列值的消息7是困难的。
主要的函数有86和等。
9完整性
为了发现对消息的篡改,可以对消息做数字签名。
对于明文传输,也可以给明文增加带1的校验值,这叫8码。
对于密文传输,也可以在加密前给明文增加不带1的值,然后加密。
:8
用某种4;算法结合1计算8的算法和标准。可以理解为
8-844 ./<4;-844 ==/
发送时发送844 ==8-844 ./,接收方考察是否还满足该
结构特征,如果不满足就认为有破坏完整性的篡改企图发生。
与之相对,对密文的完整性保护是这样的:
+(844 ==4;-844 /.)
>混合密码体制
由于公钥算法太慢,因此实际使用的时候常用公钥算法传输会话密钥,再
用对称算法和会话密钥加密批量数据。
签名也必须使用公钥算法。对称算法不能用来签名。
?公钥的发布问题
公钥的发布是公钥体制的核心。一般设立权威中心,由中心以数字签名的
方式签发公钥,即证书。证书中包含的信息主要有公钥、持有人信息、密钥用
途说明、有效期、签发人信息和签发人的数字签名。
@身份鉴别
如何鉴别通信的对方是否是所期望的人呢?
如果有了对方的证书)公钥,则可让对方签名来看看。如果签出能被这个公
钥验证的名,则对方有对应私钥,是真的;否则就是假冒的。
. 介绍
是使用非常广泛的的开源实现。由于其中实现了为所用
的各种加密算法,因此也是被广泛使用的加密函数库。
-(AB"(1CB/安全协议是由+C4(公司首先提出,最初
用在保护+D C"B浏览器和E%服务器之间的FF通信-即FF/。后来
协 议 成 为 传 输 层 安 全 通 信 事 实 上 的 标 准 , 并 被 'FG 吸 收 改 进 为
F-FB4"BCB(ABC/协议。
)F协议位于F协议和应用层协议之间,为传输双方提供认证、加密
和完整性保护等安全服务。作为一个协议框架,通信双方可以选用合适的
对称算法、公钥算法、8算法等密码算法实现安全服务。
的工作原理
见 ;CC<))#D"BC4((")C(;)4(ABC)44)
;"HCH"B14;C。
,
是著名的的开源实现,是用语言实现的。
的前身是,一个由B(&"A 开发的的开源实现,
支持D)D,和FD。
伴随着协议的普及应用,被广泛应用在基于F)"(1C的网
络程序中,尤其是和(;相结合,是很多电子商务网站服务器的
典型配置。
,. 编译和安装
开放源代码,这对学习、分析和各种密码算法提供了机会,
也便于在上面进一步开发。
,获得
到的网站即可下载当前版本的源代码压缩包。
当前版本"44@?>CB I,只有,8多,比较精简。解压缩后得到一
个目录"44@?>,共有约>@@个文件,68。其中(BC"子目录中是众
多密码算法实现,44子目录中是协议的实现。
在A中解压缩:
JCBIK"44@?>CB I
在E#"H4中可以使用HI或HBB。
,编译工具
编译需要B和编译器。在E#"H4下如果要用加密算法的汇
编代码实现,还需要4或4汇编器。-汇编代码可以比代码显著提高
密码运算速度/
B在E#"H4下推荐使用(CDB。
编译器可以使用 ((。在E#"H4下可以使用*4A22编译器。
汇编器推荐使用4。
这些工具所在目录必须加入到F环境变量中去。
,,编译和安装步骤
剩余10页未读,继续阅读
资源评论
- wangxianz16892015-08-13不是很全面 有Demo就好了
- liwen199512015-03-16下载下来研究下 水平果然还是不够……
- wxj200711412015-01-16C#的使用说明呢
- dong_KeyBoy2013-09-02命令不够全面,我需要的没有,没有C#使用说明kellenHuang2014-07-27你需要哪方面的?如果你想要,看我是否能提供给你
- 阿双20092013-07-12各种加解密算法以及工作原理介绍的倒是很详细,但没指出如何在.Net项目中实现这些算法,又如何在项目调用OpenSSL库?
kellenHuang
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功