【问题标题】:Encryption algorithm [closed]加密算法[关闭]
【发布时间】:2011-08-20 20:54:52
【问题描述】:

你知道在 c++ 中实现起来不太难(但也不太容易)的好的加密算法吗?

【问题讨论】:

  • 作为学习体验还是实际使用? (对于实际使用,答案是:不要;改用现有的库。)
  • “太难”和“太容易”是什么意思?
  • @James McNellis:这是一篇高中论文
  • @unapersson:太难我的意思是太难实现、理解、学习等……太容易我的意思是我不想要一个可以用几行代码实现的平庸的算法。 ..
  • 对于一篇文章,您可能希望从停止者密码和维吉尼亚密码开始。然后升级到现代密码,如 RSA(非常简单,但需要模算术的基本知识)和 AES

标签: c++ encryption cryptography


【解决方案1】:

看看这个wonderful comics on AES。它解释了算法的加密背景,您可以通过编写不同语言的高性能实现来练习。

【讨论】:

    【解决方案2】:

    我认为RSA 很好,而且实现起来也非常简单。你可能想调查一下。我建议的另一个也很简单的方法是DES

    【讨论】:

    • 在我对 andand 所做的评论中解释了我唯一的配音
    • @BlackShadow:如果你擅长编程,那么你可以在 2 小时内学会 RSA,并且可以在 6 小时内实现(最长)。与 DES 几乎相同。我们在大学时代已经完成了这些和其他密码问题。
    【解决方案3】:

    如果您只是想为学习体验编写代码,我一直很喜欢 Advanced Encryption Standard。实际的 standard document at NIST 提供了您编写和测试代码所需的所有细节。

    【讨论】:

    • 认为我擅长编程,但我对该算法一无所知...在您看来,我可以学习该算法并在 3-4 天内实现它 2-3每天几个小时?
    • @BlackShadow:了解标准中的一些数学概念可能需要一些时间,但是一旦了解了,编程就不难了。一旦了解了标准,您绝对可以在时间范围内编写代码。如果您考虑学习标准的时间,您可能应该将该时间加倍。将您有任何问题发布给 SO,您一定会得到一些帮助。
    【解决方案4】:

    我喜欢 RC5 的简单性。比例如更容易实现AES,虽然没有那么强大,但它仍然是一个很好的密码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      相关资源
      最近更新 更多