专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

PKCS#1轨范阅读笔记2-公私钥ASN.1结构

发布时间:2011-07-03 06:59:09 文章来源:www.iduyao.cn 采编人员:星星草
PKCS#1规范阅读笔记2--------公私钥ASN.1结构

     PKCS#1种介绍了哈希算法的OID等的ASN.1结构,因为使用ASN.1的解码工具(比如:ASN1View)时,会自动显示出各OID的含义,所以这里就不说明了。下面就只简单摘抄一下RSA公私钥的ASN.1的结构。

     ASN.1的编码回头会专门介绍,为了便于理解:SEQUENCE,暂时就理解为C语言里面的结构体就好;INTEGER,理解为正数类型就好。

 

     RSA公钥:

     RSAPublicKey :: = SEQUENCE{

         modulus              INTEGER,   ------ n(模长,正整数)

         publicExponent    INTEGER    ------ e (指数,3~n-1范围内的正整数)

      }

     RSA公钥的ASN.1结构,可以表述为:名为RSAPublicKey的这个结构呢,就可以用来表述一个RSA公钥了。它有两个INTEGER型变量:modulus和publicExponent。

 

     RSA私钥:

     RSAPrivateKey :: = SEQUENCE{

         version                 Version,

         modulus               INTEGER,   ------ n

         publicExponent     INTEGER,   ------ e

         privateExponent    INTEGER,   ------ d

         prime1                 INTEGER,   ------ p

         prime2                 INTEGER,   ------ q

         exponent1            INTEGER,   ------ d mod (p -1)

         exponent2            INTEGER,   ------ d mod (q -1)

         coefficient            INTEGER,   ------- (inverse of q) mod p

         otherPrimeInfos    OtherPrimeInfos   ------ OPTIONAL(当version为0时,不存在;当 version为1时,必须有)

     }

     Version :: = INTEGER{ two-prime(0), multi(1)}

     版本号的ASN.1结构可以表述为:名为Version的结构体,用于描述版本信息。它类似于枚举类型,其变量类型为INTEGER,取值为0或1。

 

     OtherPrimeInfos :: = SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo

     OtherPrimeInfos 是由 OtherPrimeInfo组成的数组

 

     OtherPrimeInfo :: = SEQUENCE {

        prime          INTEGER,   --- ri

        exponent     INTEGER,   --- di

        coefficient    INTEGER    --- ti

     }

     推荐一篇专门介绍ASN.1编码的文章:《ASN.1/BER/DER 编码子集入门指南》

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: