2

我正在为 iMac 和 iPhone 构建应用程序。该应用程序的目标是加密纯文本消息、电子邮件、密码、日期等。我做了一些研究,发现 3DES 可以很好地工作并且非常安全。有谁知道如何在 iPhone 或 Mac 的 Objective-C 中实现 3DES?任何帮助,将不胜感激!谢谢!

4

3 回答 3

11

iOS 和 OS X 都有这个CommonCrypto库,它提供了 AES、3DES 和 DES 等的实现。编写自己的加密库很困难,容易出错,并且可能会导致错误。除此之外,如果您编写自己的加密库,那么如果您打算将其放入 App Store,则必须声明它并通过美国政府的批准程序。

于 2011-06-25T19:37:02.877 回答
6

DES 是一个旧标准,由于其短密钥长度而不再安全;3DES 是使其更安全的一种方法(使用三倍以上的密钥位)。但是新标准是 AES,如果您没有找到(或不喜欢)任何适合您需求的 DES 库,您可以尝试使用它。例如,您可以使用OpenSSLlibgcrypt

但我不会从头开始实施任何这些。实现加密算法有点棘手。您需要小心填充、随机数生成器,并且您应该知道这些算法的教科书描述通常是简化的(并且对于实际使用并不安全)。如果你真的想实现加密,一本可能会有所帮助的书是毛文博的《现代密码学》。如果你是数学导向的,你也可以使用 Katz 和 Lindell 的“现代密码学简介”

于 2011-06-25T16:43:09.813 回答
1

It probably doesn't make a lot of sense to try to re-implement DES or any other encryption algorithm in Objective-C when there are well-known versions implemented in C and/or C++. You can simply call any of those from your Objective-C program.

于 2011-06-25T16:34:07.987 回答