密码学知识笔记
Visonws
这个作者很懒,什么都没留下…
展开
-
散列函数和数字签名概念
一、散列函数 也称为哈希函数,消息摘要函数,单向函数或杂凑函数。1. 作用: 不是完成数据加密和解密的工作,而是用来验证数据的完整性的技术。 如下图,通过对消息进行散列,然后把消息和散列值hashA一起发送出去,当接受者收到消息和散列值后,先对消息进行散列,如果散列值hashB和接收到的hashA相同,说明数据没有被更改过,从而保证数据的完整性。2.特性:消息的长度不受限制...原创 2018-11-17 09:58:01 · 4006 阅读 · 0 评论 -
消息摘要算法
消息摘要算法可以保证消息的完整性一 、MD算法MD算法有MD2、MD3、MD4、MD5,MD5是前面算法改进而来,如果需要使用其他算法,下面的MD5都可以转换为响应的算法1. 使用sun提供的MD5消息摘要API作如下 当然除了如下所示方法MessageDigest也提供对DigestInputStream和DigestOutPutStream做消息摘要。import java.sec...原创 2018-11-23 22:34:42 · 842 阅读 · 0 评论 -
对称加密算法
对称加密算法有DES、DESede、AES、Blowfish,以及RC2和RC4算法,还有其他第三方提供的软件包提供的Bouncy Castle 提供的IDEA算法这里面DES算是最经典的算法,DESede是DES算法的变种,AES算是DES算法的替代者;DES算法1.基于DES算法的消息传递模型2. DES算法实现Java提供的仅支持56位密匙长度,作为补充Bouncy Castle...原创 2018-11-24 10:12:55 · 3407 阅读 · 0 评论 -
非对称加密算法
非对称加密算法和对称加密算法的主要差别在于非对称加密算法用于加密和解密的密匙不同,一个公开称为公钥,一个保密称为私钥;这个算法解决了对称加密的算法的密匙分配的问题,提高了算法的安全性。常见的非对称加密算法:RSA算法1.RSA消息传递模型2 RSA算法实现3.使用Java提供的API实现 如下测试了用私钥加密,公钥解密的过程。反之也可以测试。import javax.cryp...原创 2018-11-24 11:43:49 · 324 阅读 · 0 评论 -
数字证书
一.数字证书概念1. 数字证书集合了多种密码学的算法:自身带有公钥信息,可以完成相应的加密和解密操作;同时还带有数字签名,可以鉴别消息的来源;并且自身带有消息摘要信息,可以验证证书的完整新;由于证书本身还有用户身份信息,因而具有认证性 数字证书中常用的非对称加密算法是RSA算法,签名算法是SHA1withRSA算法,消息摘要算法是SHA算法。 数字证书类似生活中的身份证...原创 2018-11-25 16:45:02 · 615 阅读 · 0 评论 -
数字签名算法
数字签名算法主要包含RSA、DSA、ECDSA三种算法1. 它的消息传递操作是:由消息发送方构建密匙对,由消息发送的一方公布公钥至消息接收方,消息发送方对消息用私钥做签名处理消息接收方用公钥对消息做验证2. RSA签名算法主要分为MD系列和SHA系列。具体实现如下:3. RSA的数字签名代码实现:DSA签名实现类似,ECDSA实现相比前两者在密匙对成功的方式上存在差别。im...原创 2018-11-24 16:52:37 · 4734 阅读 · 0 评论 -
Https原理
文章目录一、Http1.URL( Uniform Resource Locator )2.URI(Uniform Resource Identifier)3.Http特点4.HTTP协议的缺陷二、Https1.Https介绍2.Https原理一、Http1.URL( Uniform Resource Locator )URL(Uniform Resource Locator) 地址用于描述一...原创 2019-02-11 14:49:02 · 903 阅读 · 0 评论