私钥长度字节 [英] Private key length bytes

查看:36
本文介绍了私钥长度字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我正在生成2048个RSA密钥对。但是当我查看私钥时,长度只有1232个字节。这与2048有什么关系,还是2048只是模数大小?

RSA

推荐答案密钥的大小以位表示,而不是以字节表示。2048位是256个字节。

基本RSA私钥由两个整数组成,(一个大的复合整数,其比特长度的"RSA密钥长度")和私钥指数(另一个大整数,通常与模大小相同)。但是,模数和私有指数有一些内部结构,了解有关该结构的详细信息可以实现更快的实现(大约是原来的4倍)。因此,RSA私钥通常包含更多数据。

也就是说,如果模数是n,并且是两个素数pq的乘积,则私钥包括:

  • 模数n(2048位密钥为256字节)
  • 公共指数e(较小,通常为65537,即可在3个或4个字节内编码)
  • 私有指数d(约256字节)
  • 因子pq(各128字节)
  • d减少模p-1(128字节)
  • d减少模q-1(128字节)
  • 1/qmodp(qp的倒数;128字节)

,总计约1160字节。编码会有一些开销,因为所有这些整数的长度可能略有不同(例如,没有什么实际需要pq具有完全相同的大小;而且,e可以大于这个大小)。标准结构使用ASN.1,这意味着这里和那里需要额外的几个字节。将结构包装到更大的结构中也很常见,该结构还将密钥标识为RSA的密钥。1232字节与以PKCS#8格式编码的2048位RSA密钥兼容。

有关RSA的详细信息,请查看PKCS#1

这篇关于私钥长度字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆