问题标签 [dsa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
937 浏览

java - 寻找在 Java 中创建 32 或 16 字节密钥的签名算法

无法匹配使用用于许可应用程序的公钥/私钥生成的密钥大小。我编写了一个自包含的示例,该示例创建公钥/私钥,通过使用公钥签署用户电子邮件地址来创建许可证,然后使用公钥、许可证和电子邮件地址检查许可证确实是使用私钥编码的(显然这不会通常都在一个班级)。

这一切都有效,但是许可证密钥的十六进制版本是 96 个字符(即代表 48 字节/384 位),这比我想要的长一点(相比之下,公钥/私钥的长度不是问题,越长越好)。我可以用什么来生成 32(64 个十六进制字符)字节或 16 个字节(32 个十六进制字符),这样的安全性是否合理?

选择另一种算法有点困难,因为我不了解为生成密钥而选择的算法之间的交互

和签名算法

我找不到任何一个列表。

另一点当我生成公钥/私钥对时,我指定密钥大小

然而,公钥(443 字节)或私钥(335 字节)或两者之和(778 字节)都不匹配这个数字。

给出类似的输出

0 投票
1 回答
1029 浏览

c++ - 方法 DSA_do_verify 和 SHA1(适用于 Windows 的 OpenSSL 库)

我正在开发一个程序,通过使用 OpenSSL for windows,特别是方法DSA_do_verify(...)SHA1(...)哈希算法来验证 ENC 签名文件,但由于结果DSA_do_verify始终为 0(无效)而出现问题。

我正在使用来自 IHO S-63 数据保护方案的测试集 4B 的签名文件,以及 SA 公钥(可从 IHO 下载)进行验证。

下面是我的程序,谁能帮忙看看我哪里出错了,因为我尝试了很多方法,但未能使验证有效,谢谢..

来自测试集 4B 的签名文件

dataServer_pkeyfile.txt(从上面提取)

节目摘要:

0 投票
0 回答
580 浏览

java - 如何在 JAVA 中为音频文件生成 DSA 签名密钥

我有一个音频文件(选择最容易使用的扩展名)。如何为 DSA 算法准备数据(此代码中的消息)?

0 投票
1 回答
341 浏览

rsa - 什么是 DSA 复杂性?

我进行了一些测试,结果发现 RSA 比 DSA 慢得多。

通常的DSA时间复杂度是多少?

0 投票
1 回答
1411 浏览

c# - DSA 和公钥交换

我正在尝试使用 DSA 算法为我的应用程序实施许可解决方案。现在这是我所做的:

  1. 生成了一个硬件密钥,获取了它的哈希值。
  2. 生成的公钥和私钥。并用私钥加密了我的哈希函数。
  3. 我将此加密值与公钥一起转发回客户端。
  4. 在客户的系统中,我使用 DSASignatureDeformatter 的 VerifySignature 函数来验证我的加密密钥和我的硬件密钥。如果相等,我验证客户端。

现在我的问题是如何通过网络发送公钥。我试图在文件中存储和转发各种 DSAParameters 值,例如 J、G、P,但由于键的大小发生了变化,所以这是不可行的。看看有没有人可以指导。

更新:当我尝试在客户端机器上执行此操作时

它为其各种成员生成的密钥大小与我从服务器发回的公钥参数不同。

0 投票
1 回答
4616 浏览

java - 生成带有充气城堡的 dsa/elgamal 密钥对,在 GPG 中导入时不会出错

我创建了一个小程序来使用 Bouncy Castle 1.47 API 生成 DSA / El Gamal PGP 密钥环。密钥生成非常顺利,没有错误。我使用装甲输出将私钥和公钥导出到文件中,当我尝试使用 GPG(确切地说是 KGpg)导入生成的私钥时,出现以下错误:

单击“确定”后,它告诉我只处理了 1 个密钥。看起来它只使用了 DSA 密钥,因为在屏幕上它显示为 1024/0。

**编辑** 我刚刚尝试在 Windows 上打开 PGP 10.1.0 中的密钥,它也给了我一个错误“密钥环包含一个坏的(损坏的)PGP 数据包。”

我正在使用的代码如下所示,第一个是 Utility 类,第二个是调用它来创建 Key 的程序。


生成的输出是 2 个文件“secret.asc”和“public.asc”如果我尝试在 GPG 中导入“secret.asc”,我会收到错误,并且不会导入 El Gamal 子密钥。

有谁知道这有什么问题?

0 投票
1 回答
581 浏览

c# - DSACryptoServiceProvider 的 .NET 4.0 DsaKeyValue 必需/可选参数查询

我对加载 XML 的必需/可选要求有点困惑DSACryptoServiceProvider

这个网站,以下是架构:架构定义:

但是,根据MSDN,DsaKeyValue XML 定义如下:

从 XML 导入时,我得到了错误的数据。以下是我的代码:

综上所述,我的问题是我的密钥中没有“J”、“Seed”和“PgenCounter”,因此我没有提供它们。根据 W3C,这是可选的。但是,我的密钥中确实有一个“x”,但不确定那是什么。

根据 W3C,Seed 和 PgenCounter 标签是可选的。但是,MSDN 根据需要对其进行了定义。

我试过删除 J、Seed 和 PgenCounter 标签,但这似乎没有帮助。

谢谢!

0 投票
3 回答
1091 浏览

c# - 为 DSA 生成 40 个字符的指纹

当您有 P、Q、G、Y 和 X 时,.NET Framework (C#) 中是否有生成 40 个字符(公共?)指纹的现有方法,如下所示?

或者有人知道如何实现这一目标吗?

指纹:81F68001 29D928AD BEE41B78 AA862106 CAEAC892

编辑:这是我正在尝试做的一个例子:

我错过了这个中间部分的代码。如何将 P、Q、G、Y 转换为指纹。我尝试了不同的方法,但未能成功生成我在尝试重新创建的应用程序中看到的指纹。

编辑2:

我试过这个,但这不起作用

它将在 ImportParameter 上失败。

谢谢

0 投票
0 回答
653 浏览

java - Java 数字签名 - 不一致的签名

我一直在使用 Java 安全 api,并遵循有关如何生成数字签名的教程:http: //docs.oracle.com/javase/tutorial/security/apisign/gensig.html

问题是当我运行代码时,即使要签名的私钥和数据保持不变,输出签名也总是不同的。我在下面提供了我曾经运行的代码。“priv”是一个保存私钥的文件,用于对数据进行签名:“hello”。

基本上,两个输出显示相同的数据:“hello”使用相同的密钥签名,但输出不同。我期望得到相同的输出。此外,当我再次运行程序时,签名数据再次与初始运行不同。任何帮助将非常感激。提前致谢

0 投票
1 回答
544 浏览

ssl - Openssl Generate Public Asymmetric Key

I am trying to output the public EC key parameters Qx and Qy from OpenSSL CLI. Is this possible?