first commit
This commit is contained in:
80
include/ampere/ga102/bootrom_pkc_parameters.h
Normal file
80
include/ampere/ga102/bootrom_pkc_parameters.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/* _NVRM_COPYRIGHT_BEGIN_
|
||||
*
|
||||
* Copyright 2003-2016 by NVIDIA Corporation. All rights reserved. All
|
||||
* information contained herein is proprietary and confidential to NVIDIA
|
||||
* Corporation. Any use, reproduction, or disclosure without the written
|
||||
* permission of NVIDIA Corporation is prohibited.
|
||||
*
|
||||
* _NVRM_COPYRIGHT_END_
|
||||
*/
|
||||
|
||||
/* This file is autogenerated by ref2h.pl. Do not edit */
|
||||
#ifndef BOOTROM_PKC_PARAMETERS_H
|
||||
#define BOOTROM_PKC_PARAMETERS_H
|
||||
|
||||
#include "bootrom_pkc_parameters_macro.h"
|
||||
|
||||
struct ECC_sig
|
||||
{
|
||||
unsigned int R[1024 / 32];
|
||||
unsigned int S[1024 / 32];
|
||||
};
|
||||
|
||||
struct RSA_sig
|
||||
{
|
||||
unsigned int S[4096 / 32];
|
||||
};
|
||||
|
||||
union pkc_sig
|
||||
{
|
||||
struct RSA_sig rsa3k_sig;
|
||||
struct RSA_sig rsa4k_sig;
|
||||
struct ECC_sig ecc256_sig;
|
||||
struct ECC_sig ecc384_sig;
|
||||
struct ECC_sig ecc521_sig;
|
||||
};
|
||||
|
||||
struct RSA_pk
|
||||
{
|
||||
unsigned int n[4096 / 32]; // modulus
|
||||
unsigned int e[4096 / 32]; // public key exponent
|
||||
unsigned int np[4096 / 32]; // Montgomery pre-computered value for n
|
||||
unsigned int ns_sqr[4096 / 32]; // Montgomery pre-computered value for n
|
||||
};
|
||||
|
||||
// Curve C: y^2=x^3+ax+b (mod p)
|
||||
struct ECC_pk
|
||||
{
|
||||
unsigned int p[1024 / 32]; // modulus of curve
|
||||
unsigned int pp[1024 / 32]; // Montgomery pre-computered value for p, only useful for !ECC521
|
||||
unsigned int ps_sqr[1024 / 32]; // Montgomery pre-computered value for p, only useful for !ECC521
|
||||
unsigned int n[1024 / 32]; // order of curve
|
||||
unsigned int np[1024 / 32]; // Montgomery pre-computered value for n, only useful for !ECC521
|
||||
unsigned int ns_sqr[1024 / 32]; // Montgomery pre-computered value for n, only useful for !ECC521
|
||||
unsigned int n640[1024 / 32];// 640 bit prime to help 521 bit modular multiplication, only useful for ECC521
|
||||
unsigned int n640p[1024 / 32];// Montgomery pre-computered value for n640, only useful for ECC521
|
||||
unsigned int n640s_sqr[1024 / 32];// Montgomery pre-computered value for n640, only useful for ECC521
|
||||
unsigned int a[1024 / 32]; // coefficient of curve
|
||||
unsigned int Gx[1024 / 32]; // base point
|
||||
unsigned int Gy[1024 / 32]; // base point
|
||||
unsigned int Qx[1024 / 32]; // public key
|
||||
unsigned int Qy[1024 / 32]; // public key
|
||||
};
|
||||
|
||||
union pkc_pk
|
||||
{
|
||||
struct RSA_pk rsa3k_pk;
|
||||
struct RSA_pk rsa4k_pk;
|
||||
struct ECC_pk ecc256_pk;
|
||||
struct ECC_pk ecc384_pk;
|
||||
struct ECC_pk ecc521_pk;
|
||||
};
|
||||
|
||||
struct pkc_verification_parameters
|
||||
{
|
||||
union pkc_sig signature;
|
||||
union pkc_pk* pk;
|
||||
unsigned int hash_saving;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user