密码学基础知识及fabric中的PKI

常用的密码学 --------参考文档

散列函数(也称哈希函数)算法 对称加密算法 非对称加密算法
MD5,SHA DES,3DES,AES RSA,DSA,ECC(椭圆加密算法)

ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全

一,(散列算法)Hash 算法

散列算法(Hash Algorithm),又称哈希算法,杂凑算法。以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点

对不同的关键字可能得到同一散列地址,即key1≠key2,而f(key1)=f(key2),这种现象称碰撞。

*散列算法总结

特点 常用Hash函数 Hash有哪些流行的算法
正向快速;逆向困难;输入敏感; 冲突避免 直接取余法;乘法取整法;平方取中法 MD5,SHA

二、对称加密算法

DES :安全性不高
3DES:3DES因密钥长度变长,安全性有所提高,但其处理速度不高
AES:AES较于3DES速度更快、安全性更高

分组密码

分组密码(block cipher):是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组(block)。一个分组的比特数就称为分组长度(block lenght)。例如 DES和3DES的分组长度都是64比特。AES的分组长度为128比特。

流密码(stream cipher):是对数据流进行连续处理的一类密码算法。流密码中一般以1比特、8比特、或32比特等为单位进行加密和解密。

迭代的方法就称为分组密码的模式(mode)
ECB模式:Electronic CodeBook mode(电子密码模式)
CBC模式:Cipher Block Chaining mode(密码分组链接模式)
CFB模式:Cipher FeedBack mode(密文反馈模式)
OFB模式:Output FeedBack mode(输出反馈模式)
CTR模式:CounTeR mode(计数器模式

三、非对称加密算法

  • 公钥密码( public-key cryptography),又称为非对称密码,密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。
  • 加密密钥和解密密钥的区别
    发送者只需要加密密钥
    接收者只需要解密密钥
    解密密钥不可以被窃听者获取
    加密密钥被窃听者获取也没问题
    解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发给发送者就可以解决密钥配送问题了,而根本不需要配送解密密钥。

*公钥通信流程
我们还是假设Alice要给Bob发送一条消息,Alice是发送者,Bob 是接收者,而这次窃听者Eve依然能够窃听到他们之间 的通信内容。

公钥通信流程.png

  • 中间人攻击虽然不能破译RSA,但却是一种针对机密性的有效攻击。所谓中间人攻击,就是主动攻击者Mallory混入发送者和接收者的中间,对发送者伪装成接收者,对接收者伪装成发送者的攻击方式,在这里,Mallory就是“中间人”。

中间人攻击.png

要防御中间人攻击,还需要一种手段来确认所收到的公钥是否真的属于Bob,这种手段称为认证。在这种情况下,我们可以使用公钥的证书。------数字签名

四、数字签名

  • 公钥密码机制
    公钥密码包括一个由公钥和私钥组成的密钥对,其中公钥用于加密,私钥用于解密。用公钥加密所得到的密文只有 用与之对应的私钥才能正确解密。
  • 数字签名
    数字签名中也同样会使用公钥和私钥组成的密钥对,不过这两个密钥的用法和公钥密码是相反的,即用 私钥加密 相当于 生成签名,而用 公钥解密 则相当于验证签名。

数字签名的方法
1)直接对消息签名

Alice需要事先生成一个包括公钥和私钥的密钥对,而需要验证签名的Bob则需要得到Alice的公钥。在此基础上,签名和验证的过程如下:

签名和验证过程

2)对消息的散列值签名

先用单向散列函数求出消息的散列值,然后再将散列值进行加密(对散列值签名)就可以了。

应用

1,网站应用 ---浏览器里面的锁
2,代码签名 ---可执行文件里面的数字证书。
根证书可以被轻易添加或者修改,

五,PKI公钥基础设施---双密钥对(加解密,签名密钥对)

公钥证书:公钥:用户的基本信息+
认证机构( Certification Authority. Certifying Authority, CA )施加数字签名
公钥基础设施( Public-Key Infrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。公钥基础设施( Public-Key Infrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。

PKI的组成要素主要有以下3个

  • 用户一使用PKI的人
  • 认证机构一颁发证书的人
  • 仓库一保存证书的数据库
    由于PKI中用户和认证机构不仅限于“人”(也有可能是计算机),因此我们可以给他们起一个特殊的名字,叫作实体( entitiy)。实体就是进行证书和密钥相关处理的行为主体。

六、Hyperledger Fabric 中CA的权限认证

IBM 微课堂HyperLedger Fabric 的隐私和安全

你可能感兴趣的:(密码学基础知识及fabric中的PKI)