首先说一下,我为什么要写密码学的博客,由于hyperledger fabric中加密算法和哈希算贯穿整个项目,所以在分析加密那部分的代码之前,我将简单的介绍一下密码学的内容。密码学的内容我将写以下几篇博文
1.初入密码学世界
2.对称加密与公钥加密
3.混合加密
4.认证、密钥、随机数与技术应用
5.PGP
6.SSL/TLS
7.区块链与密码学
8.椭圆曲线加密
废话不多说,我们进入初入密码学世界的内容
一、概述
1、文中将会出现的几个名词
发送者:网络消息的发送人,现在假设发送者叫"小明"
接收者:网络中接收发送者发送过来的消息的人,假设接收者叫"阿猫"
窃听者:试图拦击消息并破解消息的人,窃听者叫“阿狗”
他们三者的关系如下图
在网络中这样的关系是永远存在的。下面这张图将向你展示整个过程
由上图我们可以看出,小明将明文加密成密文再发送给阿猫,但在消息传送的过程中,总会存在阿狗这样牛逼人物,把消息拦击并破解,当然,有可能只是把消息拦击啦,但是破解需要的时间很长,所以阿狗中途放弃了也是可能的,这就要看加密算法的强度是不是够大啦。
2、对称密码与公钥密码
对称密码:同一把密钥进行加解密
公钥密码:私钥加密,公钥解密
3.单项散列函数
为了防止软件被篡改,发布软件的同时发布该软件的散列值,散列值有称哈希值、密码校验、指纹和消息摘要。散列值就是用单项散列函数计算出来的值。
单项散列函数并不是保证安机密性,而是完整性,使用它可以检测数据是否被篡改过。
4.消息认证码
保证完整性的同时提供认证机制
5.数字签名
确保完整性,提供认证并防止否认的密码技术
6.伪随机数生成器
担任密钥生成的重要职责
现在用一张图来清晰地表示他们之间的关系
我们把上面说到的6种技术统称为密码学家的工具箱,关于他们的细节内容我们将在接下来的博客将介绍。
这篇博客是密码学系列的开篇,介绍了密码学的基本概念,包括发送者、接收者和窃听者的角色,对称加密与公钥加密的区别,以及单项散列函数、消息认证码、数字签名和伪随机数生成器在保障网络信息安全中的作用。后续文章将深入探讨这些技术的细节。

被折叠的 条评论
为什么被折叠?



