USER GUIDE / SECURITY / SC RSA / REGISTER DESCRIPTION

寄存器描述

RSA 控制寄存器 (RSAC,0x0000)

RSACBASE+ 0x0000
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRSA_N_LENReservedRSA_EN
RST00000000000000000000000000000000
位名称说明RW
31:11Reserved写入无影响,读取为零。
R
10:3RSA_N_LENN_length 在96~4096bit范围内,并且是32的整数倍。
RSA_N_LEN*32=N_length
RW
0RSA_ENRSA 启用:
1:启用RSA
0:禁用RSA
注意:在算法结束后会自动清零
RWC

RSA E-密钥寄存器 (RSAE,0x0004)

RSAEBASE +0x0004
Bit40950
字段RSAE
RST00
位名称说明RW
31:0RSAERSAE-key:
写数据为{RSAE_1st,RSAE_2ed,...,RSAE_127th,RSAE_128th};
必须通过AHB总线连续写入128次
RSAE_1st 、RSAE_2ed ... 均为32bit;
RSAE 只能通过字写入(REG32)的方式写入。
W

RSA N-密钥寄存器 (RSAN,0x0008)

RSANBASE +0x0008
Bit40950
字段RSAN
RST00
位名称说明RW
31:0RSANRSAN-key:
根据N的长度配置数据,如果 RSAC.RSA_N_LEN 是 3,然后只需要连续写三次。写数据为{RSAN_1st,RSAN_2ed,RSAN_3rd};
RSAN_1st 、RSAN_2ed ... 均为32bit;
RSAN只能通过字写入(REG32)的方式写入。
W

RSA M-消息寄存器 (RSAM,0x000C)

RSAMBASE +0x000C
Bit40950
字段RSAM
RST00
位名称说明RW
31:0RSAMRSAM-message:
写数据为{RSAM_1st,RSAM_2ed,..., RSAM_63th,RSAM_128th};
必须通过AHB总线连续写入128次
RSAM_1st 、RSAM_2ed ... 均为32bit;
RSAM只能通过字写入(REG32)的方式写入。
W

RSA P-输出寄存器(RSAP,0x0010)

RSAPBASE +0x0010
Bit40950
字段RSAP
RST00
位名称说明RW
31:0RSAPRSAP-output:
根据长度N读取数据,如果N的长度为3,则只需要连续读取三次数据。
读数据为{RSAP_3rd,RSAP_2ed,RSAP_1st};
RSAP只能通过字读出(REG32)的方式读出。
R

RSA 中断清除寄存器(RSACLR,0x0014)

RSACLRBASE + 0x14
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRDUFWCLRReservedWROFWCLRReservedNEVENCLRReservedPRDOFWCLRReservedNCFGCLRReservedINTCLR
RST00000000000000000000000000000000
位名称说明RW
31:21Reserved写入无影响,读取为零。
R
20RDUFWCLR等到RSAINFO.RSA_RD_UFW_FLAG为1,写1清掉中断。
RWC
19:17Reserved写入无影响,读取为零。
R
16WROFWCLR等到RSAINFO.RSA_WR_OFW_FLAG为1,写1清掉中断。
RWC
15:13Reserved写入无影响,读取为零。
R
12NEVENCLR等到RSAINFO.RSA_N_EVEN_FLAG为1,写1清掉中断。
RWC
11:9Reserved写入无影响,读取为零。
R
8PRDOFWCLR等到RSAINFO.RSA_PRD_OFW为1,写1清掉中断。
RWC
7:5Reserved写入无影响,读取为零。
R
4NCFGCLR等到RSAINFO.RSA_N_CFG_DONE为1,写1清掉中断。
RWC
3:1Reserved写入无影响,读取为零。
R
0INTCLR等到RSAINFO.RSA_INT_DONE为1,写1清掉中断。
RWC

RSA 中断状态寄存器(RSAINFO,0x0018)

RSACLRBASE +0x18
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRDUFWFLGReservedWROFWFLGReservedNEVENFLAGReservedPRDOFWReservedNCFGDONEReservedINTDONE
RST00000000000000000000000000000000
位名称说明RW
31:21Reserved写入无影响,读取为零。
R
20RDUFWFLG读取结果P数据时,读FIFO下溢标志
1:溢出
0:未溢出
R
19:17Reserved写入无影响,读取为零。
R
16WROFWFLG配置M、E或N时,写FIFO上溢标志
1:溢出
0:未溢出
R
17:13Reserved写入无影响,读取为零。
R
12NEVENFLAGN为偶数标志
1:N为偶数
0:N为奇数
R
11:9Reserved写入无影响,读取为零。
R
8PRDOFW读取结果P数据次数超过P长度的标志
1:超出
0:未超出
R
7:5Reserved写入无影响,读取为零。
R
4NCFGDONEN配置结束标志
1:N配置结束
0:N配置未结束
R
3:1Reserved写入无影响,读取为零。
R
0INTDONERSA 计算完成中断
1:中断发生
0:中断未发生
R

RSA 中断使能寄存器(RSAEN,0x001C)

RSACLRBASE+ 0x1C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRDUFWENReservedWROFWENReservedNEVENENReservedPRDOFWENReservedNCFGENReservedINTEN
RST00000000000000000000000000000000
位名称说明RW
31:21Reserved写入无影响,读取为零。
R
20RDUFWEN读取结果P数据时,读FIFO下溢中断使能
1:中断使能
0:中断屏蔽
RW
19:15Reserved写入无影响,读取为零。
R
16WROFWEN配置M、E或N时,写FIFO上溢中断使能
1:中断使能
0:中断屏蔽
RW
15:13Reserved写入无影响,读取为零。
R
12NEVENENN为偶数中断使能
1:中断使能
0:中断屏蔽
RW
11:9Reserved写入无影响,读取为零。
R
8PRDOFWEN读取结果P数据次数超过P长度中断使能
1:中断使能
0:中断屏蔽
RW
7:5Reserved写入无影响,读取为零。
R
4NCFGENN配置结束中断使能
1:中断使能
0:中断屏蔽
RW
3:1Reserved写入无影响,读取为零。
R
0INTENRSA计算结束中断使能:
1:中断使能
0:中断屏蔽
RW

RSA DEBUG0 Register(RSADBG0,0x0020)

RSADBG0BASE +0x0020
Bit313029282726252423222120191817161514131211109876543210
字段ReservedSTATEReservedE_CNTReservedE_RAM_RADDRReservedP_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:27Reserved写入无影响,读取为零。
R
26:24STATE状态机
3’b001:空闲状态
3’b010:将相同的数据相乘并进行模运算
3’b100:将不同的数据相乘并进行模运算
R
23Reserved写入无影响,读取为零。
R
22:16E_CNTE在64位数据中的当前位置
R
15Reserved写入无影响,读取为零。
R
14:8E_RAM_RADDR内存中E的读地址
R
7Reserved写入无影响,读取为零。
R
6:0P_ADDR内存中P的读地址
R

RSA DEBUG1 Register(RSADBG1,0x0024)

RSADBG1BASE +0x0024
Bit313029282726252423222120191817161514131211109876543210
字段P_LENGTHReservedOPTFIR_EMODMUL1ReservedCNT_OUTSIDECNT_INSIDE
RST00000000000000000000000000000000
位名称说明RW
31:23P_LENGTHRSA-P的长度
R
22:20Reserved写入无影响,读取为零。
R
19OPTRSA 优化
1:使模运算中减数最大化
0:正常计算
R
18FIR_EE从右至左的第一位数据的标志
R
17MOD计算状态
1:模块
0:乘法
R
16MUL1乘法状态
1:相同数据相乘
0:不同数据相乘
R
15Reserved写入无影响,读取为零。
R
14:8CNT_OUTSIDE外循环计数
R
7:0CNT_INSIDE内循环计数
R

RSA RSTN Register(RSARSTN,0x0028)

RSARSTNBASE +0x0028
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRSTN
RST00000000000000000000000000000000
位名称说明RW
31:1Reserved写入无影响,读取为零。
RW
0RSTN0:复位
注意:软件配置为0后,需再次读取该位为1时代表复位成功
RWS