区块链概念算法
区块:能够看作是一页一页的帐单,上面记录若干条数据安全
区块链:能够看作是帐本,里面按照时间顺序将若干个帐单 每一个区块中包含两个最重要的值,本身的hash值,和上一个区块的hash值网络
详解:区块链
区块链是一串使用密码学方法相关联产生的数据块,每个区块中包含上一个区块的hash值,用于验证其信息的有效性(防伪)和生成下一个区块加密
Hash算法spa
Hash算法:能够将任意数据 生成 固定长度的16进制字符串blog
常见算法:md5 , sha1 , sha256 , sha512等,都是摘要算法md5
密码学字符串
一.对称加密:hash
使用 同一个密匙 进行加密和解密,这种加密方法称为 对称加密 也成为单密匙加密
算法:DES , 3DES , AES , TDEA , Blowfish , RC2 , RC4 , RC5 , IDEA , SKIPJACK
1.特色:
a.加解密使用相同的密匙
b.高效,使用于大量数据的加密场景
c.算法公开,安全性取决于密匙大小,但密匙越大效率越低,须要权衡在安全和效率中作权衡
2.缺点
算法自己安全,但使用场景不够安全,由于解密和加密都是使用同一个密匙
二.非对称加密
使用 匹配的一对密匙来分别进行加密和解密,这两个密匙是公开密匙(公钥)和私有密匙(私钥)
算法:RSA、ECC、Elgamal、背包算法、Rabin、D-H 等
非对称加密使用方法
用法1. 公钥加密 - 用来针对互联网上加密数据传递
将本身的公钥公布给外界,而后拿到公钥的人必须使用对应私钥来解密
注意:公钥加密的数据只能用对应的私钥解密,同理,私钥加密的数据只能用对应的公钥解密
用法2. 私钥签名 - 目的是为了将明文公布给别人,同时证实是本身发的
用本身的私钥对明文进行hash值,对hash进行加密,连同明文一同发送给指定的人,
该人使用个人私钥进行解密,解密后的明文hash值和接受到的明文的hash值进行对比,若是是同样的,就能证实密文是 我发的
特色:
安全性高
加解密复杂,效率低
小结
~对称加密 加密与解密 使用的是一样的密钥,因此速度快,但因为须要将密钥在网络传输,因此安全性不高。
~ ~ 非对称加密使用了一对密钥,公钥与私钥,因此安全性高,但加密与解密速度慢。
~ ~ ~ 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密协商,而后发送出去,接收方使用私钥进行解密获得对称加密的密钥,而后双方可使用对称加密来进行沟通