标签: dsa

GnuPG 的最佳加密和签名算法:RSA/RSA 还是 DSA/Elgamal?

我发现了这个相对古老的问题,即 RSA 还是 DSA 是使用 GnuPG 进行签名和加密的首选算法。

使用 时gpg --gen-key,两个相关选择是“RSA 和 RSA”或“DSA 和 Elgamal”。哪个更好?各自的优缺点是什么?自 2009 年以来有什么变化吗?

security encryption rsa gnupg dsa

46
推荐指数
1
解决办法
3万
查看次数

使用 OpenSSL 生成 ECDSA 密钥和 CSR

我知道如何生成 RSA 私钥和 CSR:

openssl genrsa -out my.key.pem 2048
openssl req -new -sha256 -key my.key.pem -out my.csr
Run Code Online (Sandbox Code Playgroud)

但是,我如何使用 ECDSA(椭圆曲线数字签名算法)做同样的事情?

certificate openssl dsa

16
推荐指数
1
解决办法
3万
查看次数

如何验证腻子的 PGP RSA 和/或 DSA 校验和签名?

要验证putty的下载完整性,首先验证putty 的这些校验和文件的“SHA-512: (RSA sig) | (DSA sig) ” PGP 签名的最佳方法是什么? (我猜“sig”的意思是签名。)

从腻子下载页面:

MD5:        md5sums     (or by FTP)     (RSA sig)   (DSA sig)
SHA-1:      sha1sums    (or by FTP)     (RSA sig)   (DSA sig)
SHA-256:    sha256sums  (or by FTP)     (RSA sig)   (DSA sig)
SHA-512:    sha512sums  (or by FTP)     (RSA sig)   (DSA sig)
Run Code Online (Sandbox Code Playgroud)

我已经知道如何验证纯文本的校验和使用类似(sha512sums)HashSlash,但我感兴趣的RSA / DSA签署校验(右上图)。

当我用文本编辑器打开下载的 DSA sig 文件时,第一行是“-----BEGIN PGP SIGNED MESSAGE-----”。

因此,我访问了 PGP站点并深入了解了 Windows PGP 8.0的最新版本。但是它让我进入了赛门铁克网站,在那里他们销售“由 PGP 技术提供支持”的产品,这看起来不像我要找的东西。

那么,如今验证这些校验和 PGP 签名的最佳方法是什么?

在此先感谢您的帮助。


笔记:

  • 我需要腻子用于 …

security ssh putty checksum dsa

10
推荐指数
1
解决办法
6670
查看次数

OpenSSH 如何决定使用哪个主机密钥?

默认情况下,在我当前的版本 ( 6.9p1) 中,OpenSSH Server 将创建四种类型的主机密钥:

$ ls /etc/ssh/ssh_host_*_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)

通过测试,我注意到,至少在使用相同版本的 OpenSSH 客户端 ( 6.9p1) 时,主机将使用 ECDSA 密钥,而不管客户端的密钥类型如何。

OpenSSH 在哪里决定支持的算法具有哪个优先级?此信息是否可编辑或硬编码到当前版本的源代码中?

更重要的是,为什么 OpenSSH 决定优先考虑 ECDSA 算法?

ssh openssh rsa dsa

9
推荐指数
2
解决办法
9187
查看次数

我能否以位形式从 ECDSA 签名中提取 R 和 S,反之亦然?

我搜索了论坛并找到了相关信息,但没有回答这个问题。我在一个带宽极度受限的环境中工作,需要创建尽可能小的 ECDSA 签名。目前,我们正在使用 OpenSSL。此外 - 由于签名数据必须具有可预测的长度 - 固定大小。

我知道 ECDSA 签名由两个整数 S 和 R 组成,位长等于曲线大小。此外,当我尝试创建签名,从cygwin wc -c命令读取大小时,似乎添加了 6-7 个字节。我已经阅读了很多地方,这种开销可能会有所不同 - 因此我们失去了签名长度的可预测性。

可能的解决方案 - 提取 S 和 R 并以二进制(?)形式传输 - 就像位流一样。我不确定这是否可行,因为我猜它失去了与 OpenSSL 库的兼容性。所以我们需要颠倒这个过程,在 OpenSSL 接受的编码中使用 S 和 R 构造一个签名。

我注意到-binaryOpenSSL中有一个选项,它给了我一个空白文件。我以为我走错了路。

openssl dsa

6
推荐指数
1
解决办法
9522
查看次数

在 Ubuntu 12.04 上创建自签名 DSA 证书的参数?

我想在 Ubuntu 12.04 上创建一个自签名 DSA 证书,以便与网络服务器和 TLS 1.2 (HTTPS) 连接一起使用。

我发现您可以运行以下命令来创建一个 RSA:

openssl genrsa -out server.key 3072
Run Code Online (Sandbox Code Playgroud)

但是我需要以下属性:

  • 使用常规 DSA 算法(非 ECDSA)的 3072 位密钥长度
  • 使用 384 位的 SHA2 加密哈希函数
  • 使用“完美前向保密”选项
  • 指定 AES 256 作为对称密码的第一优先顺序
  • 不需要对私钥进行加密(以允许无人值守的重启)。

有人可以帮助我使用参数来执行上面的以下选项吗?

当一个 TLS 会话被启动时,你如何确保它每次都生成一个新的随机签名值k?这显然对算法的安全性至关重要。或者,OpenSSL 是自动的吗?

我在这里找到了这个 TLS 1.2 密码套件TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 我该如何告诉它使用它?

提前致谢。

certificate ssl rsa dsa

0
推荐指数
1
解决办法
5644
查看次数

标签 统计

dsa ×6

rsa ×3

certificate ×2

openssl ×2

security ×2

ssh ×2

checksum ×1

encryption ×1

gnupg ×1

openssh ×1

putty ×1

ssl ×1