比如 V2EX 的证书里面,有一栏是写着公钥 ECC(256bits)
内容是:
04 27 8d b7 3e 58 81 a5 f1 fe 35 75 76 44 ef f2 20 a2 1d 05 58 0a cb f6 c7 e9 7c e7 4a ee 3c 99 9a d6 cf 9a 48 7c aa 75 34 1c 38 69 54 64 ba 91 a1 31 ce 03 af 72 ce fd bd e7 bb a9 32 76 9c 75 f9
可是我用python
计算len('上面的字符串'.split(' '))
== 65
, 65*8 == 520
,这不是 520bits 吗?
我是哪里算错了?
1
qwerthhusn 2019-06-25 10:50:03 +08:00
prime256v1 的公钥长度是 65 个字节,你看到的只是公钥长度
|
2
rebeccaMyKid OP @qwerthhusn 65 个字节×8 不就是位数了吗
|
3
qwerthhusn 2019-06-25 11:41:29 +08:00 1
@rebeccaMyKid 说的位数又不是公钥的位数,而是这个算法。具体我也不清楚,但是 prime256v1 的公钥位数就是 65 字节 520b
|
4
honeycomb 2019-06-25 13:35:43 +08:00 via Android 1
|
5
honeycomb 2019-06-25 13:38:00 +08:00 via Android
|
6
rebeccaMyKid OP @honeycomb 哦哦,是这样啊。我就是好奇,知道个大概就行了。因为我看知乎的那个 public key 写着 2048bits,拉出来算了一下的确是这么长,v2 的这个就搞不明白了,谷歌用的也是 v2 这种。
|
7
qwerthhusn 2019-06-25 14:41:31 +08:00
@rebeccaMyKid Google 和 v2 用的都是 ECC 证书,一般密钥都是 256 位的。然后其他大部分网站用的是 RSA 证书,一般密钥用的都是 2048 位的。。。而且 v2 我记得之前也是用的 TrustAsia 发的 RSA 证书,看时间,应该是几天前才换的 ECC 证书
|