<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    6.4 復合數據類型

    6.4 復合數據類型

    6.4.1 版本

    a) 類型定義

    typedef struct Struct_Version{
    BYTE major;
    BYTE minor;

    b) 數據項描述參見表3:

    6.4 復合數據類型

    6.4.2 設備信息

    a) 類型定義
    typedef struct Struct_DEVINFO{
    VERSION Version;
    CHAR Manufacturer[64];
    CHAR Issuer[64];
    CHAR Label[32];
    CHAR SerialNumber[32];
    VERSION HWVersion;
    VERSION FirmwareVersion;
    ULONG AlgSymCap;
    ULONG AlgAsymCap;
    ULONG AlgHashCap;
    ULONG DevAuthAlgId;
    ULONG TotalSpace;
    ULONG FreeSpace;
    ULONG MaxECCBufferSize;
    ULONG MaxBufferSize;
    BYTE Reserved[64];
    } DEVINFO_SKF,*PDEVINFO_SKF;

    6.4 復合數據類型

    6.4.3 RSA公鑰數據結構

    a) 類型定義
    typedef struct Struct_RSAPUBLICKEYBLOB{
    ULONG AlgID;
    ULONG BitLen;
    BYTE Modulus[MAX_RSA_MODULUS_LEN];
    BYTE PublicExponent[MAX_RSA_EXPONENT_LEN];
    }RSAPUBLICKEYBLOB, *PRSAPUBLICKEYBLOB;
    MAX_RSA_MODULUS_LEN為算法模數的最大長度;
    MAX_RSA_EXPONENT_LEN為算法指數的最大長度。

    6.4 復合數據類型

    RSA私鑰數據結構
    a) 類型定義
    typedef struct Struct_RSAPRIVATEKEYBLOB{
    ULONG AlgID;
    ULONG BitLen;
    BYTE Modulus[MAX_RSA_MODULUS_LEN];
    BYTE PublicExponent[MAX_RSA_EXPONENT_LEN];
    BYTE PrivateExponent[MAX_RSA_MODULUS_LEN];
    BYTE Prime1[MAX_RSA_MODULUS_LEN/2];
    BYTE Prime2[MAX_RSA_MODULUS_LEN/2];
    BYTE Prime1Exponent[MAX_RSA_MODULUS_LEN/2];
    BYTE Prime2Exponent[MAX_RSA_MODULUS_LEN/2];
    BYTE Coefficient[MAX_RSA_MODULUS_LEN/2];
    }RSAPRIVATEKEYBLOB, *PRSAPRIVATEKEYBLOB;
    MAX_RSA_MODULUS_LEN為RSA算法模數的最大長度;

    6.4 復合數據類型

    6.4 復合數據類型

    a) 類型定義
    typedef struct Struct_ECCPUBLICKEYBLOB{
    ULONG BitLen;
    BYTE XCoordinate[ECC_MAX_XCOORDINATE_BITS_LEN/8];
    BYTE YCoordinate[ECC_MAX_YCOORDINATE_BITS_LEN/8];
    }ECCPUBLICKEYBLOB, *PECCPUBLICKEYBLOB;
    ECC_MAX_XCOORDINATE_LEN為ECC算法X坐標的最大長度;
    ECC_MAX_YCOORDINATE_LEN為ECC算法Y坐標的最大長度。

    6.4 復合數據類型

    a) 類型定義

    typedef struct Struct_ECCPRIVATEKEYBLOB{

    ULONG BitLen;

    BYTE PrivateKey[ECC_MAX_MODULUS_BITS_LEN/8];

    }ECCPRIVATEKEYBLOB, *PECCPRIVATEKEYBLOB;

    ECC_MAX_MODULUS_BITS_LEN為ECC算法模數的最大長度。

    b) 數據項描述參見表8:

    6.4 復合數據類型

    a) 類型定義
    typedef struct Struct_ECCCIPHERBLOB{
    BYTE XCoordinate[ECC_MAX_XCOORDINATE_BITS_LEN/8];
    BYTE YCoordinate[ECC_MAX_XCOORDINATE_BITS_LEN/8];
    BYTE HASH[32];
    ULONG CipherLen;
    BYTE Cipher[1];
    } ECCCIPHERBLOB, *PECCCIPHERBLOB;

    6.4 復合數據類型

    a) 類型定義
    typedef struct Struct_ECCSIGNATUREBLOB{
    BYTE r[ECC_MAX_XCOORDINATE_BITS_LEN/8];
    BYTE s[ECC_MAX_XCOORDINATE_BITS_LEN/8];
    } ECCSIGNATUREBLOB, *PECCSIGNATUREBLOB;
    ECC_MAX_MODULUS_BITS_LEN為ECC算法模數的最大長度;

    6.4 復合數據類型

    a) 類型定義
    typedef struct Struct_BLOCKCIPHERPARAM{
    BYTE IV[MAX_IV_LEN];
    ULONG IVLen;
    ULONG PaddingType;
    ULONG FeedBitLen;
    } BLOCKCIPHERPARAM, *PBLOCKCIPHERPARAM;

    6.4 復合數據類型

    6.4 復合數據類型

    a) 類型定義
    typedef struct SKF_ENVELOPEDKEYBLOB{
    ULONG Version; // 當前版本為1
    ULONG ulSymmAlgID; // 對稱算法標識,限定ECB模式
    ULONG ulBits; // 加密密鑰對的密鑰位長度
    BYTE cbEncryptedPriKey[64]; // 加密密鑰對私鑰的密文
    ECCPUBLICKEYBLOB PubKey; // 加密密鑰對的公鑰
    ECCCIPHERBLOB ECCCipherBlob; // 用保護公鑰加密的對稱密鑰密文。
    }ENVELOPEDKEYBLOB, *PENVELOPEDKEYBLOB;
    私鑰密文結構中64字節,有效密文分組從0偏移量字節開始,順序解密密文分組后將明文連接得到加密密鑰對的私鑰的明文。

    6.4 復合數據類型

    a) 類型定義
    typedef struct Struct_FILEATTRIBUTE{
    CHAR FileName[32];
    ULONG FileSize;
    ULONG ReadRights;
    ULONG WriteRights;
    } FILEATTRIBUTE, *PFILEATTRIBUTE;

    6.4 復合數據類型

    權限類型的定義參見表14:

    6.4 復合數據類型

    設備狀態的定義參見表15:

    6.4 復合數據類型

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类