Java 中的椭圆曲线密码学:为研究生成简单的测试数据 [已关闭]

Elliptic Curve Cryptography in Java: Generating simple test data for research [closed]

提问人:koce_begacha 提问时间:11/16/2023 最后编辑:halferkoce_begacha 更新时间:11/17/2023 访问量:62

问:


想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

3天前关闭。

这篇文章在3天前被编辑并提交审核,未能重新打开帖子:

原始关闭原因未解决

我正在为学校写一篇关于现代加密算法和方法(即RSA和椭圆曲线密码学)数学的研究论文。我还想使用统计测试来比较 RSA 和 ECC 加密的速度,这就是问题所在。我的问题是,如何使用椭圆曲线密码学从字符串生成密文并在 Java 中将该密文解密回字符串?我已经弄清楚了如何使用 RSA 执行此操作,但我还没有找到有关如何使用 ECC 执行此操作的教程(类似于我需要的)。我知道 ECC 有很多变体,例如 ECDH 和 ECIES,老实说,我很难理解它们的作用、工作原理或如何使用它们。

我尝试使用来自 GitHub 的以下代码,但我在导入 BouncyCastle 库时出现错误。我尝试从此页面顶部下载和使用 jar 文件,方法是将其作为库文件添加到我的项目中,但它没有解决我的问题。

如果我问错了这个问题,我深表歉意;请让我知道我可以改进什么以使其更具体。我知道我对这个主题的理解非常有限,而且我是 Stack Overflow 社区的新手。

java 密码学 公钥加密 椭圆曲线

评论

0赞 halfer 11/17/2023
是的,我会从 BouncyCastle 开始学习 Java。我应该认为大多数库都允许用户使用命名常量在算法之间切换,并且您可能能够在两种类型之间共享一些代码。
0赞 halfer 11/17/2023
但我有点困惑,为什么你被要求写一篇研究论文(即从专业立场写作),同时又是一个初学者。你确实可以比较两个算法的相对速度,但你知道你是否在比较同类算法吗?
0赞 halfer 11/17/2023
此外,速度是密码学中的一个复杂领域。你认为快是好(单位时间可以加密更多的数据)还是认为慢是好的(更难暴力破解算法)?
0赞 koce_begacha 11/17/2023
谢谢你的评论。这是我必须写的一篇必修的数学探索论文,作为一名计算机科学专业的学生,我选择在加密算法中的数学上做。不幸的是,现在切换为时已晚,因为我已经意识到这些东西是多么复杂。我知道 ECC 可以提供与 RSA 相同的安全性,因此无法比较两者之间的不同密钥大小(ECC 能够具有具有相同安全性的较小密钥)以及速度的相关性。
0赞 halfer 11/17/2023
一般来说,学生不会被要求写一篇关于他们不知道的东西的论文。你是否很晚才开始写论文和/或跳过会有所帮助的课程?

答: 暂无答案