密码学是计算机中比较基础的学科,真正完全搞明白背后的原理,需要深厚的数学功底,涉及到的学科知识包括:高等数学、线性代数、概率论、抽象代数、数论等知识。
感兴趣的同学可以就这个主题进行深入研究。对于一般的应用者,我们核心是先要知道好一些基本的密码学算法,然后重点掌握算法的应用场景,边界以及一些常见问题下密码学的运用。
密码学基本知识
密码,最初的目的是用于对信息加密,计算机领域的密码技术种类繁多。但随着密码学的运用,密码还被用于身份认证、防止否认等功能上。
最基本的,是信息加解密分为对称加密(Sysmmetric Cryptography)和非对称加密(Public-Key Cryptography,Asymmetric Cryptography),这两者的区别是是否使用了相同的密钥。
除了信息的加解密,还有用于确认数据完整性(Integrity)的单向散列(One-Way Hash Function)技术,又称密码检验(Cryptographic Checksum)、指纹 (Fingerprint)、消息摘要 (Message Digest)。
信息的加解密与信息的单向散列的区别是,对称与非对称加密是可以通过密钥解出明文,而单向散列是不可逆的。信息的加解密,密文必定是不定长的,而单向散列可以是定长的。
结合密码学的加解密技术和单向散列技术,又有了用于防止篡改的消息认证码技术,防止伪装的数字签名技术以及认证证书。
应用场景
在上篇《提升密码学的认知》中,我们提到,密码学不是简单的加解密,它核心要解决的问题是很丰富的。在这里针对不同的应用场景,可以总结出下表:
| 威胁 |

本文介绍了密码学的基本知识,包括对称加密、非对称加密和单向散列技术,以及它们在文件指纹、账户密码存储、HTTPS和区块链中的应用。重点讨论了区块链中密码学技术的重要性,如隐私保护和应对量子计算的挑战,并提到了国密算法在特定场景下的应用。
最低0.47元/天 解锁文章
1128

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



