我打算重新发明轮子。我通过实例学到很多东西。这是您在回答时应该考虑的重要信息。 这不是作业,它纯粹是一个辅助项目。
现在,我听说过模数学。我正试图用它来制造一个不可破解的(按照今天的技术标准)。
我有一个以上的问题:
a =(未知素数)
b =(未知素数)
c =(未知素数)
d =(a ^ b)mod c
如果d = 9,你能得到a,b和c吗?不要暴力强迫它,但实际上制定一个公式来扭转它。如果你能这样做,请发布。
这是制作钥匙,种子还是那种性质的好方法吗?为什么或为什么不呢?
无论如何,回答你的理解,最好的答案会被标记为公平!
另外,如果可以,请给我参考密码学文本(免费)。
答案 0 :(得分:1)
这是一个广泛的问题。正如 templatetypedef 所提到的,您不应该设计任何计划在现实世界中使用的与加密相关的算法,因此您可能想要忘记“尝试使用它来制作不可破解的密码[密码] ]“并将其留给专家。
回答你的问题:
1-一般的理解是,如果你想让消息更难“破解”,你就增加了密钥大小。当有经过验证的算法时,开发一个全新的(当然也是最弱的)密码是毫无意义的。
2-很难说这里有什么问题,但我会假设你指的是给定密文的随机性。一般的理解是任何类型的密文模式(非随机性)都是非常糟糕的标志。密文应该与纯随机数据无法区分,并且有几组测试可以检查(见ENT,Diehard和many others)
3-您给出的公式接近于RSA中使用的公式,尽管a,b,c不是直接的素数。此外,还不清楚您的哪个变量是明文(提示:只能加密素数的密码不是特别有用)。 AFAICT,正如你所说,它也是不可逆的(这根本不是一件好事,除非你不打算解密消息......)
最后请注意,您正在寻找加密引用,而不是加密引用。许多人将密码学与经典(易于破解)的密码相关联,如Caesar's。 Bruce Schneier's Applied Cryptography是关于该主题的标准教科书。这不是免费的,但你总是可以尝试大学图书馆。