zoukankan      html  css  js  c++  java
  • 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 编码子集入门指南》

  • 相关阅读:
    Python3 之 列表推导式
    python3 之 趣味数学题(爱因斯坦)
    python3 之 判断闰年小实例
    python3 之 判断字符串是否只为数字(isdigit()方法、isnumeric()方法)
    116.Populating Next Right Pointers in Each Node
    115.Distinct Subsequences
    114.Flatten Binary Tree to Linked List
    113.Path Sum II
    112.Path Sum
    111.Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/o--ok/p/5618053.html
Copyright © 2011-2022 走看看