【发布时间】:2017-03-19 18:22:40
【问题描述】:
我尝试在互联网上进行搜索,但找不到任何东西。 所以问题是:什么更好用?操作系统提供加密 API 或手动实现/库提供的算法?
我知道,当 CPU 在 OS 系统调用后进入内核模式时,它会消耗大量的 CPU 周期,但另一方面我知道 OS 可以使用硬件加速相关的密码学。那么现实世界的情况是怎样的呢?是否值得使用 OS Cryptographic API?
例如,我从事的项目使用 CRC32 和 MD5 算法。
编辑:我的主要目标是选择最快的方法,次要目标是了解所有利弊。
【问题讨论】:
-
CRC 不是密码学。哈希是密码学的一个方面。
-
@olaf ,Linux 和 Windows 都在其 crypto api 中提供 md5 和 crc 功能。
-
取决于什么是“最好的”。外部提供的库/操作系统可以有后门。自己的实现可能(将)有错误。
-
@Inline:那么,CRC 必须是密码学!那么所有的CS书一定是错的!请注意,CRC 不适合作为针对 inteional 修改的完整性检查。它可以很容易地重新计算。
-
@Olaf ,我在这个问题中仅使用“API”来使用单词密码学。我并不是说散列函数是密码学作为科学的一部分。我的意思是 Windows 和 Linux 在它们的加密 API 中实现了 crc 和 md5 函数。是误会。如果问题令人困惑,请帮助我纠正我的问题。
标签: c linux windows optimization cryptoapi