首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么非对称键表示为基数64?

为什么非对称键表示为基数64?
EN

Cryptography用户
提问于 2016-07-19 13:12:25
回答 2查看 119关注 0票数 -3

当一个人生成一个公钥和私钥,比如总共4096位时,为什么程序输出的是我假设的基数64而不是基数10或二进制呢?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2016-07-19 14:14:53

如果使用基64表示键,则取决于应用程序。许多实现/使用密码学的应用程序最初是在基于ASCII的通信已经司空见惯的时代设计的。如果要直接使用BER / DER (参数的二进制编码),那么丢失数据的可能性很大。例如,您将无法通过邮件或使用基于文本的FTP发送密钥。即使在今天,这也是有意义的,例如,在XML中集成签名时。这样,基础64就是安全的默认设置。

这就是为什么许多应用程序使用一种特殊格式,如PEM,它代表隐私增强邮件。当然,它也可以用于其他文本接口,但它最初是为邮件设计的。另一个术语是"ASCII装甲“,它表示意图:保护二进制编码不被文本接口破坏。

十进制接口不能工作;键不只是由一个或多个数字组成。BER/DER是ASN.1的二进制编码引擎,它能够表示几乎任何数据结构,包括字符串、日期、对象标识符和这些结构的组合。此外,正如已经指出的那样,小数也是非常低效的。

通常,密钥、证书和签名首先是二进制编码的,然后使用基数64进行“保护”。

票数 3
EN

Cryptography用户

发布于 2016-07-19 14:01:07

Base-64只是使用ASCII字符集表示二进制数据的一种方法。

之所以使用它,是因为单个base64数字表示全部位数(6位),其中每个十进制数字表示~3.3位,这会使转换变得有点棘手。

能够表示每位数字的更多位也意味着它比十进制更有效的空间。它需要683 base64数字来表示一个4096位的值,其中它需要1234位小数.

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

https://crypto.stackexchange.com/questions/37831

复制
相关文章

相似问题

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