【发布时间】:2018-07-15 22:36:25
【问题描述】:
我一直在阅读加密算法,并试图在不使用任何库的情况下通过我的研究来实现它们。但是,我发现它们的工作原理有点难以理解。
我特别关注的算法是,
triple des - 使用 3 个密钥,第一个加密,第二个解密,第三个再次加密
RSA - 使用大的正整数来生成加密和解密,例如 e,d 和 n
AES - 使用具有固定位块和密钥大小的替换置换。
我在网上搜索过很多库,例如 cryptoJS、OpenPGP 和 cryptico,但我发现很难遵循这些代码 - 因为对它们来说是新手。
我了解它们背后的主要思想,但发现很难输入代码,请有人指导我 - 是否有任何伪代码/伪算法可供我在实施时使用或参考。
【问题讨论】:
-
看看 C# BouncyCastle 的内部结构。虽然几乎没有文档,但有相当多的代码注释和相当清晰的代码。
-
一个好的(安全的)加密实现可能不会是直截了当的,因为它旨在避免定时攻击。
-
我同意@zaph,我只是想粗略地介绍一下我的入门 - 它不需要完全实现加密技术,因为我知道它可能会非常冗长且耗时
-
@Jackie 如果您搜索每种算法的伪代码,您会得到很多答案,那么 - 您到底有什么问题?或者也可以在crypto 上提问,尽管我建议在那里提出一个非常具体的问题
标签: encryption aes rsa tripledes