【问题标题】:Java - How to generate Digital Signature without using java's ''Signature' library?Java - 如何在不使用 java 的“签名”库的情况下生成数字签名?
【发布时间】:2017-05-26 17:36:51
【问题描述】:

我已经生成了公钥和私钥,但是如何在不使用 security.Signature 库的情况下签署文本文档?这背后的原因是因为我们的教授说我们应该在不使用内置库的情况下完成任务

【问题讨论】:

  • 如果您说明您不能或不想使用该库的具体原因,您可能会得到一个有用的答案。
  • 只是好奇,为什么不能用呢?另一种方法是实现你自己的 Signature 类,它正在重新发明轮子。
  • @GoranJovic 我们的网络安全教授说我们必须这样做,我不知道从哪里开始。我明白了逻辑,但我不知道代码部分..
  • @zengr ^ 那么我认为我的项目的任务是重新发明轮子。我们的教授要求在不使用图书馆的情况下完成这项任务
  • BigInteger 有一个可用于签名的方法。阅读您的课程资料或有关 RSA 加密的 Wikipedia 文章,了解使用哪种方法以及如何应用它。另外,请注意,真正的 RSA 签名需要在签名之前处理消息,这比签名操作本身更复杂且更难实现。我不知道这是否是您的任务的一部分,或者您是否只是希望执行一个幼稚且容易破坏的签名操作。

标签: java digital-signature


【解决方案1】:

我会看看 OpenJDK's Signature.javaunderstand 它是如何实现的。你需要关注what .sign does

如果您这样做是为了更好地理解或学术目的,我会关注this

第 1 步:计算消息摘要(例如 SHA1 甚至 MD5 开始)
第 2 步:计算数字签名(使用公钥/私钥)

【讨论】:

  • 感谢您的链接。我浏览了这些信息,我认为它会完成工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 2016-06-29
相关资源
最近更新 更多