区块链之加解密算法&数字证书

这篇具有很好参考价值的文章主要介绍了区块链之加解密算法&数字证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.加解密算法

数字签名

对称加密

DES(Data EncryptionStandard)

3DES(Triple DES)

AES(Advanced EncryptionStandard)

RSA加密法

DSA(Digital SignatureAlgorithm)

ECC(Elliptic CurvesCryptography)

非对称加密

签名与加密过程

非对称加密的应用

对称加密与非对称加密的结合

二.数字证书

图解


一.加解密算法

加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非对称加密的结合。

数字签名

 数字签名的基本原理就是用私钥去签名,而用公钥去验证签名

 区块链数字证书,区块链创新大赛,区块链 

对称加密

对称加密顾名思义就是加密和解密的密钥是相同的

区块链数字证书,区块链创新大赛,区块链

DES(Data EncryptionStandard)

数据加密标准,速度较快,适用于加密大量数据的场合.经典的分组加密算法,1977年由美国联邦信息处理标准(FIPS)采用FIPS-46-3,将64位明文加密为64位的密文,其密钥长度为64位(包含8位校验位)。现在已经很容易被暴力破解

3DES(Triple DES)

基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高.但现在也被认为不够安全;

AES(Advanced EncryptionStandard)

AES也为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。 在AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的分组长度可以使用128位、 192位或256位。密钥的长度不同,推荐加密轮数也不同。AES的优势在于处理速度快,整个过程可以用数学描述,目前尚未有有效的破解手段;

RSA加密法

RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的

DSA(Digital SignatureAlgorithm)

数字签名算法,是一种标准的DSS(数字签名标准),严格来说不算加密算法

ECC(Elliptic CurvesCryptography)

椭圆曲线密码编码学.ECC和RSA相比具有多方面的绝对优势,主要有:抗攻击性强.相同的密钥长度,其抗攻击性要强很多倍.计算量小,处理速度快.ECC总的速度比RSA、DSA要快得多.存储空间占用小.ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多.这对于加密算法在IC卡上的应用具有特别重要的意义.带宽要求低.当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多.带宽要求低使ECC在无线网络领域具有广泛的应用前景
现代备受关注的算法系列,基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性。最早在1985年由Neal Koblitz和Victor Miller分别独立提出。ECC系列算法一般被认为具备较高的安全性,但加解密计算过程往往比较费时;

非对称加密

非对称加密算法中,加密密钥和解密密钥是不同的,分别称为公钥(public key)和私钥(private key)。私钥一般需要通过随机数算法生成,公钥可以根据私钥生成。公钥一般是公开的,他人可获取的;私钥一般是个人持有,他人不能获取。
目前普遍认为RSA类算法可能在不远的将来被破解,一般推荐可采用安全强度更高的椭圆曲线系列算法,ECC将会是今后最重要的主流公钥加密技术。

签名与加密过程

签名是用私钥来完成的,用公钥来验签。加密是用公钥来加密,私钥来解密的。为什么会需要签名呢?

需要两个密钥来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥) ,公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。这个公钥和私钥必须是一对的,如果用公钥对数据进行加密,那么只有使用对应的私钥才能解密,所以只要私钥不泄露,那么我们的数据就是安全的。

   我们先假设A给B发送信息,A拥有自己的私钥(PRI_A)和公钥(PUB_A),B拥有自己的私钥(PRI_B)和公钥(PUB_B)。 B接收到消息,要怎样才能知道消息是谁发出的。或者换句话说,A发出一则消息,要怎样让接收方知道是A发出的。这时就需要A用PRI_A对信息进行签名,相当于生成了唯一的身份证。
区块链数字证书,区块链创新大赛,区块链

可以这样描述以上图示过程,A向B发送信息的整个签名和加密的过程:

  1. A先用自己的私钥(PRI_A)对信息(一般是信息的摘要)进行签名;
  2. A接着使用B的公钥(PUB_B)对信息内容和签名信息进行加密。

这样当B接收到A的信息后,获取信息内容的过程:

  1. 用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;
  2. 得到解密后的明文后用A的公钥(PUB_A)解签A用A自己的私钥(PRI_A)的签名。

注意,公钥是公开出去的,但是私钥只能是自己拥有。以上图示过程和签名加密机制保证了端到端的唯一确认。A的签名只有A的公钥才能解签,这样B就能确定是A发出的信息;A的加密只有B的私钥才能解密,因为是用B的公钥加密的,这样保证了信息只能被B读取。

非对称加密的应用

应用最广泛的是银行,银行把每个人的私钥存储在每个人的U盾里,这就相当于,只有解密方自己拥有自己的私钥,银行用你设置的公钥对你的账户进行加密,要解密必须用到自己U盾里的私钥。这就是非对称加密的广泛使用原理。

对称加密与非对称加密的结合

这种结合方式分为两个阶段,阶段一利用非对称加密对密钥进行加密传递给接收方,阶段二利用对称加密对明文信息进行加解密。如下图所示:

区块链数字证书,区块链创新大赛,区块链

二.数字证书

图解

(1)鲍勃有两把钥匙:一把是公钥,一把是私钥

区块链数字证书,区块链创新大赛,区块链

(2)鲍勃把公钥送给了他的朋友:帕蒂,道格,苏珊

区块链数字证书,区块链创新大赛,区块链

 (3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密效果

 区块链数字证书,区块链创新大赛,区块链

 (4)鲍勃收到信后,用私钥解密,就看到信件的内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密

区块链数字证书,区块链创新大赛,区块链

(5)鲍勃给苏珊回信,决定采用“数字签名”。他写完后,先用Hash函数,生成信件的摘要(digest)

区块链数字证书,区块链创新大赛,区块链

 (6)鲍勃将这个签名,附在信件下面,一起发给苏珊

区块链数字证书,区块链创新大赛,区块链

 (7)苏珊收到信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的

区块链数字证书,区块链创新大赛,区块链

 (8)苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信没被修改过

区块链数字证书,区块链创新大赛,区块链

(9)复杂的情况出现了:道格想要欺骗苏珊,他偷偷地使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际上拥有的是道格的公钥,但是她还认为这是鲍勃的公钥。因此,道格可以冒充鲍勃,用自己的私钥做成“数字签名”,发信给苏珊,让苏珊用假的鲍勃公钥进行解密

区块链数字证书,区块链创新大赛,区块链

(10)后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找“证书中心CA”,为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成“数字证书” 

区块链数字证书,区块链创新大赛,区块链

(11)鲍勃拿到数字证书后,就可以放心了。以后再给苏珊写信,只要在签名的同时,附上数字证书就可以了 

区块链数字证书,区块链创新大赛,区块链

 (12)苏珊收到信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就可以证明“数字签名”是否真的属于鲍勃

详细了解数字证书,查看维基百科:https://zh.wikipedia.org/wiki/%E5%85%AC%E9%96%8B%E9%87%91%E9%91%B0%E8%AA%8D%E8%AD%89文章来源地址https://www.toymoban.com/news/detail-805072.html

到了这里,关于区块链之加解密算法&数字证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python实现对称加密、数字签名、数字证书颁发

    一.开发目的: 理解开源密码库实现的基本架构,熟悉对称算法的加解密函数封装与调用,并能能够利用开源设计接口进行二次封装,并实现一个界面友好,功能正确的采用对称算法的文件加解密工具。 二.开发环境: 硬件环境: 处理器:Intel®Core™i5-1035G1 CPU @1.00GHz 1.19GHz2

    2024年02月13日
    浏览(41)
  • SSL数字证书服务

    SSL/TLS 证书允许Web浏览器使用安全套接字层/传输层安全 (SSL/TLS) 协议识别并建立与网站的加密网络连接。 SSL数字证书主要功能 SSL证书在浏览器或用户计算机与服务器或网站之间建立加密连接。这种连接可以保护传输中的敏感数据免遭非授权方的拦截,从而使在线交易能够完全

    2024年02月06日
    浏览(48)
  • 非对称加密与数字证书

    非对称加密,是指不能从加密密钥推算出解密密钥。加密密钥不需要保密,可以公开,称之为 公钥 ,只需要保守解密秘钥称之为 私钥 。公钥和私钥是 成对 的。常见的非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC。 所谓“成对”的含义:如果用公开密钥对数据进

    2024年02月09日
    浏览(52)
  • 【pfx数字证书制作及操作使用】

    公司业务扩展,要对外开放接口,由于数据的安全性,主要是公司是卖数据的,需要对接口进行验证,于是使用数字证书进行加密解密对数据进行处理,防止篡改接口请求,非法获取数据,于是整理数字证书使用与制做。 在options.config文件中设置证书有效期 CN=名称(一般填公

    2024年02月12日
    浏览(36)
  • 安装软件和驱动程序需要微软数字签名无法安装?数字签名和数字证书区别

    1.安装软件和驱动程序需要微软数字签名无法安装 windows安装exe安装包时: 1.1  解决方法: 1.2           这个问题需要安装驱动补丁进行更新驱动操作,如:Windows6.1-sha2补丁.msu 1.3           这种属于签名问题,解决方法: 1..进入“控制面板”,查看方式为大图标,点击“

    2024年02月05日
    浏览(75)
  • Https、CA证书、数字签名

    Https Http协议 Http协议是目前应用比较多应用层协议,浏览器对于Http协议已经实现。Http协议基本的构成部分有 请求行 : 请求报文的第一行 请求头 : 从第二行开始为请求头内容的开始部分。每一个请求头都是由K-V键值对组成。 请求体: 请求头完成后以空行结束、从空行开始

    2024年02月12日
    浏览(46)
  • 阿里云ssl免费数字证书快过期 如何更换

    数字证书管理服务-ssl证书 此处记录本地的下载路径 /Users/dorsey/Downloads/10791167_lzzabc.cn_nginx/lzzabc.cn.pem  /Users/dorsey/Downloads/10791167_lzzabc.cn_nginx/lzzabc.cn.key 找到ssl存放位置    /www/https/lzzabc.cn.pem  /www/https/lzzabc.cn.key  mv admin.lzzabc.cn.pem admin2.lzzabc.cn.pem 命令为  scp 本地用户名@IP地址

    2024年02月14日
    浏览(42)
  • 密码学基础(三)——数字签名与证书

    数字签名:又叫公钥数字签名,或者电子印章。 数字信息社会用于取代传统社会手写签名的一种公钥加密领域的技术实现。 数字签名其实就是非对称加密的私钥加密,公钥解密的过程。 数字证书用来证明公钥拥有者的身份,验证数据来源,验证数据是否被修改。 数字证书中

    2024年02月16日
    浏览(49)
  • 数字证书的相关专业名词(中)---根证书和CRL,以及java中CRL的获取和验证方法

    上篇文章我们主要了解了PKI中的数字证书和PKCS,这篇文章我们主要了解一下根证书,以及OCSP和CRL。 在公钥基础设施(PKI)中,根证书是 整个数字证书体系的最高级别证书 。根证书由受信任的第三方机构(CA)颁发,用于验证其他证书以及建立信任链。 当您收到一个数字证

    2024年02月05日
    浏览(73)
  • 信息化建设及数字化能力评价证书

    信息化建设及数字化能力是指从事信息基础设施、软件系统、大数据、云计算、物联网、人工智能、安全及业务连续性等方面,涵盖设计、研发、实施、运维、运营、数据处理、测评等服务和保障业务领域的活动。 等级设定 能力评价分为一级、二级和三级三个等级,其中一

    2023年04月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包