密码学基础入门
1. 密码学原语
密码学原语是用于构建应用程序所使用的加密协议的低级加密算法,它们是设计加密系统的基石。设计人员在系统中实现加密协议时,无需担心原语的底层抽象,可专注于构建应用程序。
区块链技术利用了大多数这些密码学原语来实现基本的区块链功能,并在去中心化网络上保护数据。常见的原语包括用于密钥管理的非对称加密、用于交易的数字签名,以及作为区块链核心的哈希算法。
2. 对称密钥加密
对称密钥加密使用相同的密钥对明文进行加密和对密文进行解密。这些密钥通过安全通道在两方之间共享,任何拥有共享密钥的参与者都可以对数据进行加密和解密操作。对称密钥加密可分为流加密和块加密。
2.1 流加密
流加密使用对称密钥加密,每次对一个明文字符进行加密,就像数据流一样生成密文。它使用一个密钥流(字符流)来加密明文,这个密钥流是由一个伪随机字符串生成的,该字符串由数字移位寄存器(生成器)根据随机种子值生成,该种子就是用于解密密文的秘密密钥。
为保证流加密的安全性,其伪随机生成器应具有不可预测性,且用于生成密钥流的种子值不应重复使用,以减少可能的攻击。流加密通常比块加密速度更快,对硬件要求也较低。
graph LR
A[明文] --> B[密钥流生成器]
B --> C[加密操作]
C --> D[密文]
E[秘密密钥] --> B
2.2 块加密
块加密是对明文的固定长度字符块进行加密的一种加密方式,广泛
超级会员免费看
订阅专栏 解锁全文
659

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



