编码实践当中涉及的密码学知识

OpenSSL 是用于安全传输层TLS,Transport Layer Security)协议和安全套接字层SSL,Secure Sockets Layer)协议的的工具包,提供了 SSL 协议实现(SSLv2SSLv3TLSv1)、大量算法实现(对称/非对称/摘要)、大数运算、非对称算法密钥、ASN.1 编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL 编解码、OCSP 协议、数字证书验证、PKCS7 标准实现和 PKCS12 个人数字证书格式实现等功能。

然而一直以来 OpenSSL 代码质量,总是受到开发人员的各种诟病,因而出现了 WolfSSL 与 PolorSSL 等 OpenSSL 的开源替代产品,其中 PolarSSL 被 ARM 公司收购之后,现更名为 Mbed TLS,主要由 Trusted Firmware 组织进行维护,遵循相关的 ARM 规范,并为 Armv8-AArmv9-AArmv8-M 内核架构提供了安全可信的参考实现。本文主要主要讨论了 Base64Hash 编码、以及 OpenSSL 所涉及的相关加解密知识。

阅读更多