"stm32 密码学基础" 本篇文章将讲述密码学的基础知识,包括对称加密、非对称加密、签名和身份认证等。 让我们从一个故事开始。Alice 喜欢 Bob,她决定给 Bob 写一封信。然而,Eve 不希望 Bob 看到这样的内容,于是她想办法拦截了 Alice 的信,并且把内容做了修改…… 这个故事场景中,我们希望做到什么?我们希望: * 保证交换信息的机密性:Alice 写给 Bob 的信只有 Bob 能够看到内容。 * 保证信息的完整性:Alice 写给 Bob 的信的内容不能被 Eve 修改。 * 真实性:Bob 希望能够确认信件的确是 Alice 写的。 密码学正是实现这些目标的工具。密码学是一门保护信息安全使其免受攻击的信息转换的科学和艺术。我们可以使用加解密技术来实现机密性和完整性。 加解密技术可以分为两大类:对称加密算法和非对称加密算法。 对称加密算法使用同一个密钥对消息进行加密和解密。例如,TDES、AES、SM4 等。这种算法的优点是简单且速度快,但主要的不足是通信的双方事先必须以一个安全地方式交换对称密钥。 非对称加密算法使用一对密钥:公钥和私钥。例如,RSA、ECC 等。这种算法的优点是公钥可以公开,而私钥只能自己知道。但是,非对称密钥系统实现复杂,通常不用于大量数据的加密/解密。 在实践中,我们可以组合使用对称算法和非对称算法来实现安全的信息交换。例如,我们可以使用非对称算法来生成共享密钥,然后使用对称算法来加密消息。 在stm32平台上,我们可以使用AES加解密算法来实现对称加密。我们可以使用CyberChef工具来体验AES加解密的过程。在实验中,我们可以使用Encrypt_sym.bat脚本命令来加密明文信息,并使用Decrypt_sym.bat脚本命令来解密密文信息。 在非对称加密中,我们可以使用RSA算法来实现公钥、私钥的生成和使用。例如,Alice可以使用自己的私钥来加密消息,并使用Bob的公钥来加密消息,使得只有Bob能够解密信息。 密码学是保护信息安全的重要工具。我们可以使用对称加密算法和非对称加密算法来实现机密性、完整性和真实性。
剩余142页未读,继续阅读
评论星级较低,若资源使用遇到问题可联系上传者,3个工作日内问题未解决可申请退款~