加密API与手动实现的算法

时间:2017-03-19 18:22:40

标签: c linux windows optimization cryptoapi

我试图在互联网上搜索,但无法找到任何东西。 所以问题是:什么更好用? OS提供了加密API或手动实现/库提供的算法吗?

我知道,当CPU系统调用后CPU进入内核模式时,它会消耗大量的CPU周期,但另一方面我知道操作系统可以使用硬件加密的加密技术。那现实世界的情况如何呢?是否值得使用OS Cryptographic API?

例如我工作的项目,使用CRC32和MD5算法。

编辑:我的主要目标是选择最快的方法,次要的是了解所有缺点和专业人士。

2 个答案:

答案 0 :(得分:1)

MD5可能随处可用。 CRC32非常简单(而不是真正的加密),您可以直接在应用程序中包含或实现它。

Windows加密API支持multiple providers,默认提供程序可能完全在用户模式下实现,而不会在大多数情况下切换到内核模式。 PRng和AES加密可以在硬件中实现。

你的目标是什么?速度?没有后门?模糊的算法?

答案 1 :(得分:0)

TLS有硬件加速器,但主要用于公钥加密。除非您拥有专门的比特币挖掘硬件,否则将在用户和软件中完成散列。使用最方便的。