首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浅谈DSA密钥大小

浅谈DSA密钥大小
EN

Stack Overflow用户
提问于 2015-08-19 14:53:09
回答 1查看 1.4K关注 0票数 1

当你执行

-t ssh-dss

它生成两个文件:一个包含公共文件,另一个包含私钥。

ssh-keygen手册页说它总是生成一个1024位的密钥,但是当我打开公钥文件时,我总是得到580个字符行(在ASCII中是4640位)。

我是错过了什么还是想错了?我试过阅读算法,但考虑到所涉及的素数的大小,计算起来非常困难。

有没有一种方法可以从id_dsa.pub文件中的字符数量中验证它是否是1024位键?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 15:03:43

ssh-keygen存储公钥和私钥的文件有一些预定义的格式(PEM,.),它们不是密钥本身的转储(例如,要记住私钥通常是加密的)。

在这个链接(https://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html)中,您可以找到一些关于不同格式的很好的解释,以及使用诸如"openssl asn1parse“这样的工具来显示它们:

私钥是ASN.1数据结构,使用DER序列化为字节字符串,然后使用Base64 64编码。ASN.1与JSON大致相当(它支持各种数据类型,如整数、布尔值、字符串以及可以嵌套在树结构中的列表/序列)。它被广泛地用于密码学,但是它在网络一代中已经过时了(我不知道为什么,它似乎是一种相当不错的格式)。

查找公钥大小的方法是在ASN1中查找存储它的标记并验证其数据的长度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32098937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档