我一直在阅读加密算法,并试图在不使用任何库的情况下用我的研究来实现它们。然而,我发现很难理解它们是如何工作的。
我特别研究的算法是,
三重des -使用3个密钥,第一个用于加密,第二个用于解密,第三个用于再次加密
RSA --使用较大的正整数来生成加密和解密,例如e、d和n。
AES -使用具有固定比特块和密钥大小的替换置换。
我在网上搜索过很多库,比如cryptoJS、OpenPGP和cryptico,但是我发现很难理解这些代码--因为它们是新的。
我理解他们背后的主要想法,但发现很难输入代码,请有人指导我--在实现时,我是否可以使用或参考任何psuedo代码/psuedo算法?
发布于 2018-07-15 22:54:56
我在Java上实现了AES和DES。根据我的经验,如果你知道理论,一切都很简单。你可以上麻省理工学院或斯坦福大学的密码学课程。不管怎么说,首先你应该知道理论。在此之后,Github的实现太多了。您甚至可以使用Youtube 查看算法如何在示例数据上加密。
老实说,我喜欢鲁尔大学的资源,波鸿。AES/DES是第三章,第四章。这是官方网页链接。,他们录制了视频讲座,也免费出版了由斯普林格.出版的名为“理解密码学”的书。
P.S BouncyCastle是一个非常流行的图书馆。它在Java上实现得很好。你也可以看看这个。
https://stackoverflow.com/questions/51352716
复制相似问题