前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >33复杂美:一文看懂加密算法为何物

33复杂美:一文看懂加密算法为何物

原创
作者头像
用户7358413
发布2022-02-08 07:33:44
3200
发布2022-02-08 07:33:44
举报

加密算法 ,区块链底层技术的心脏究竟为何物?加密,简而言之,加密就是借助一种或多种算法将明文信息转换成密文信息,信息的接收方通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,加密

加密算法 ,区块链底层技术的心脏究竟为何物?

加密,简而言之,加密就是借助一种或多种算法将明文信息转换成密文信息,信息的接收方通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,加密算法可以分为对称加密、非对称加密和对称加密与非对称加密的结合三种形式。而在区块链技术中所使用的加密算法最常见的当属哈希算法和非对称加密两种。

哈希算法

哈希算法(Secure Hash Algorithm,SHA)是区块链数据加密应用最多、最常规的算法之一,由美国国家安全局研发,其实属于SHA家族系列,包括SHA-0、SHA-1、SHA-2和SHA-3等系列密码哈希函数,被广泛使用在构建区块和确认交易完整性方面。使用哈希算法输入任意长度字符串会输出固定长度字符串,也就是哈希值。以区块链中最常见的SHA-256哈希算法函数为例,需具备以下四种特性才能满足区块链加密需求:

1. 正向固定:输入任意长度字符串,只能输出固定统一长度的字符串(hash 值)。

2. 逆向困难:给定(若干)hash 值,在有限时间内很难(基本不可能)逆推出明文。

3. 输入敏感:只要对原始输入信息作出丝毫修改,则产生的hash 值就会完全不同。

4. 冲突避免:几乎不会找到两段内容不同的明文,它们的hash值是一致(发生冲突)。

哈希算法加密过程

非对称加密

在聊到非对称加密之前,我们先聊聊什么是对称加密,以便于更好地理解非对称加密。

对称加密是指加密和解密使用的是同一个密码,通过相关证件密钥就可找回密码,此过程是可逆的。过程如图所示:

对称加密过程示意图

非对称加密,加密和解密所使用的密匙不同。需要使用公钥对信息进行加密,解密信息却只能使用私钥,私钥可以生成公钥,而公钥是无法推导出私钥,此项过程是不可逆的。若私钥一经丢失,密文信息则无法找回。非对称加密与对称加密相比,其安全系数更高,但缺点是加密和解密所花费的时间较长、速度较慢。

过程如下:

非对称加密过程示意图

加密是如何实现的呢

在区块链的加密过程中,有的网络同时用到了哈希加密和非对称加密两种,加密过程更为复杂,也更为安全可靠。用户(发送方)通过哈希函数对想要加密的信息进行哈希处理,然后输出一个全网唯一、固定长度的字符串信息,同时利用公钥对信息进行加密、签名,然后将其上传到区块链网络。

接收方则利用接收到的公钥对信息进行解密,若对比后明文一致,那么接收方就能确认传输的文件并未受到篡改,是安全可信的,即可进行下一步处理。

过程如下:

区块链加密过程示意图

目前,在区块链信息保护中,需同时使用哈希算法和非对称加密才能完成信息加密工作,相信随着科技的进步,未来基于密码学的加密技术将不断被挖掘完善,造福大众。

关于复杂美

复杂美成立于2008年,拥有撮合交易系统低延时、高并发的核心技术。2013 年启动区块链、智能合约的研发与创新,2014 年申请第一个区块链发明专利:钱包找回功能,并在2017 年 12 月获得授权。5年来,复杂美始终重视技术的自我研发与创新,根据国家知识产权局专利检索系统显示,复杂美目前已累计申请了600多项区块链技术的发明专利,100余项已经获得授权,与蚂蚁集团,腾讯科技等同列区块链专利发明排行榜全球前七,全国前三。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网通信
腾讯云物联网通信(Internet of Things Hub, IoT Hub)旨在提供一个安全、稳定、高效的连接平台,帮助开发者低成本、快速地实现“设备-设备”、“设备-用户应用”、“设备-云服务”之间可靠、高并发的数据通信。物联网通信平台不仅可以实现设备之间的互动、设备的数据上报和配置下发,还可以基于规则引擎和腾讯云产品打通,方便快捷地实现海量设备数据的存储、计算以及智能分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档