研一
PKCS#1
RSA多素数解密方案终于推导出来了。确实用到了CRT的知识,多素数解密的算法实际上是每次分别计算两个mi的值得到新的mi值,然后新值再继续和下一个mi值计算求公共模。
算法导论
动态规划
ASN.1
看了关于TAG的东西,TAG在ASN.1的抽象语法中被定义在DEFINATION中,在书中被作者归为ASN1环境的一部分。TAG分为EXPLICIT TAG, IMPLICIT TAG, AUTOMATIC TAG。
- EXPLICIT TAG 字面意思是“精确标签”,实际在BER编码的时候会将该TAG标记的值外面再包裹一层context类型,而类型字节的最后6位表示TAG值,比如:
…
number [2] EXPLICIT INTERGER,
…
会被编码为:A2 xx (xx表示长度以及具体值)
2. IMPLICIT TAG 字面意思是“模糊标签”,实际在编码的时候会把该TAG标记的值的TAG改为相应TAG值。
值得注意的是SEQUENCE类型即使在IMPLICIT模式下也会被编码为EXPLICIT类型。
此外CHOICE类型的标签不能定义为IMPLICIT TAG,因为CHOICE实际上在编码时是将所选择的选项覆盖CHOICE,因此电脑需要辨识其类型来确定最终是选的哪一个choice选项。因此如果使用IMPLICIT TAG的编码规则会将其变得模糊不清。CHOICE类型的标签只能使用EXPLICIT类型的编码规则,即在其外面包裹一层context容器,容器的标签上写上具体TAG值。