CN104951279A - 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 - Google Patents
一种基于NEON引擎的向量化Montgomery模乘器的设计方法 Download PDFInfo
- Publication number
- CN104951279A CN104951279A CN201510280570.5A CN201510280570A CN104951279A CN 104951279 A CN104951279 A CN 104951279A CN 201510280570 A CN201510280570 A CN 201510280570A CN 104951279 A CN104951279 A CN 104951279A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- neon
- engine
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于NEON引擎的向量化Montgomery模乘器的设计方法,它包括以下步骤:S1:数据输入;S2:数据初始化;S3:数据迭代计算;S4:根据迭代结果,将Z和CT进行累加更新Z的值;S5:对计算结果Z进行溢出判断和处理。本发明通过将进位数据进行独立缓存的方式,减少每次迭代对进位数据的累加,仅在最后一次迭代完成后对进位数据进行一次累加,使得高、低位数据之间的运算不存在依赖关系,从而可以通过NEON引擎进行向量化的数据并行处理,具体的,本发明可以提高基于ARM Cortex-A系列芯片的MMM运算速度,从而提高公钥加密体系的整体性能。
Description
技术领域
本发明涉及一种基于NEON引擎的向量化Montgomery模乘器(Vectorized Montgomery Modular Multiplier,VMMM)的设计方法。
背景技术
ARM v7架构的Cortex-A系列处理器上集成的“NEON媒体处理引擎”是一种单指令多数据(Single Instruction Multiple Data,SIMD)的扩展指令集,类似于Intel架构下的MMX/SSE扩展指令集。NEON引擎可以有效的加速多媒体应用,被广泛使用于基于Cortex-A系列处理器的手持终端或其他轻量级电子设备。
目前已有大量针对多媒体应用的NEON解决方案,如OpenMax多媒体库等,也有针对于数学运算的NEON应用,如MathNeon数学库等,然而针对公钥加密体系的NEON应用几乎没有。
现有的Montgomery模乘算法给出了求解A×B×R-1mod M的快速方法,通过一定的预处理和后处理可以得到形如A×B mod M模乘的运算结果,其中A、B是两个n-bit输入,R通常取值2n,M是n-bit模数。下面给出基-2wMMM算法的细节:
操作数A、B和M被分割成为w-bit字。在每次迭代时首先根据预处理定值n0=M′mod r计算出T(w-bit字),然后计算Z=(Z+A×Bi+M×T),每次迭代结果中Z0恒为0,所以Z/r可以通过直接舍弃Z0实现。当完成了s次迭代以及1次条件判断减法后,得到了Z=A×B×R-1mod M值。计算过程如图1所示。
发明内容
本发明的目的在于克服现有技术的不足,基于ARM Cortex-A系列处理器,提供一种在不增加任何硬件成本的前提下,提高公钥密码体系中MMM运算速度的基于NEON引擎的向量化Montgomery模乘器(Vectorized Montgomery Modular Multiplier,VMMM)的设计方法。
本发明是通过以下技术方案来实现的:一种基于NEON引擎的向量化Montgomery模乘器的设计方法,它包括以下步骤:
S1:数据输入:将操作数A、B、M和n0加载寄存器中,其中Bi在每一轮数据迭代计算步骤之初加载;整数Z=(Zs-1,...,Z0)r,M=(Ms-1,...,M0)r,A=(As-1,...,A0)r,Bi,T,其中r=2w, n0=M’mod r;n为模长,单位为bit;w是字的位宽,单位为bit;s为迭代次数;
S2:数据初始化:对三个临时向量数组赋初值0,所述的三个临时向量数组由结果Z、临时数据C和进位数据CT组成;其中,Z=(Zs-1,...,Z0)r,C=(Cs-1,...,C0)r,CT=(CTs-1,...,CT)r;所述的临时数据C、进位数据CT以及结果Z都通过扩展寄存器组进行缓存;
S3:数据迭代计算,在每一次中进行迭代的时候,通过NEON引擎计算得到的进位数据CT直接通过扩展寄存器组进行缓存,并用于下一次迭代的向量化计算过程;包括以下子步骤:
S31:定义变量i=0;
S32:计算普通常量T:T←(Z0+A0×Bi)×M′mod r;
S33:以字为单位,通过向量乘加的方式计算结果Z和临时数据C:C,Z←(Z+A×Bi),并将计算数据进行存储;
S34:以字为单位,通过临时数据C,通过向量加的方式重新计算进位数据CT:CT←C+CT,并将计算数据进行存储;
S35:通过向量乘加的方式计算结果Z和临时数据C:C,Z←(Z+M×T),并将计算数据进行存储;
S36:以字为单位,通过向量加的方式将步骤S35中得到的C和Z的值重新计算进位数据CT以及结果Z:CT,Z←(C+CT+Z)/r,并将计算数据进行存储;
S37:判断i的值是否小于s:
(1)如果i的值小于s,则将i的值加1后,返回步骤S32;
(2)如果i的值不小于s,则进入步骤S4;
S4:累加更新:将进位数据CT和结果Z进行累加更新Z的值:Z←Z+CT;
S5:越位判断:判断Z的值是否大于M,对计算结果Z的值更新:
(1)若Z的值大于M,则将Z-M的值赋给Z,并输出Z的值;
(2)若Z的值不大于M,则输出Z的值。
所述的寄存器采用NEON引擎提供的扩展寄存器组,临时数据和进位数据也都通过扩展寄存器组进行缓存,以减少内存操作。
在每一次所述的步骤S3中进行迭代的时候,通过NEON引擎的向量化指令集计算得到的进位数据直接通过扩展寄存器组进行缓存,并用于下一次迭代的向量化计算过程。
所述的进位数据CT在每一次迭代中进行更新和缓存,并用于下一次迭代计算,仅在迭代完成后将进位数据CT和结果Z进行累加。
所述的向量乘加采用NEON引擎的向量化指令集进行高低位操作数的并行运算。
所述的步骤S36中的除法运算,通过将Z右移w位来实现Z/r的操作。
所述的寄存器为NEON引擎提供的128-bit寄存器。
本发明的有益效果是:
(1)本发明通过将进位数据进行独立缓存的方式,减少每次迭代对进位数据的累加,仅在最后一次迭代完成后对进位数据进行一次累加,从而使得高、低位数据之间的运算不存在依赖关系,可以进行向量化的并行数据处理。
具体的,本发明可以提高基于ARM Cortex-A系列芯片的MMM运算速度,从而提高公钥加密体系的整体性能。针对不同模长MMM运算,加速器对MMM运算的加速效率为7-9倍不等。将MMM加速器引入256-bit模长的ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)进行测试,实验结果表明ECDSA的签名和验签速率均提高了6倍以上。
(2)通过NEON引擎的扩展寄存器组作为数据运算、数据缓存的工具,以减少内存操作。
(3)通过NEON引擎的向量化指令集进行高地位操作数的并行运算,简单方便。
附图说明
图1为现有技术的算法示意图;
图2为本发明流程图;
图3为本发明的算法示意图;
图4为进位数据独立缓存示意图;
图5为步骤S33的NEON指令示意图;
图6为步骤S34的NEON指令示意图;
图7为步骤S35的打包结果示意图;
图8为步骤S36的NEON指令示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案:如图2和图3所示,一种基于NEON引擎的向量化Montgomery模乘器的设计方法,它包括以下步骤:
S1:数据输入:将操作数A、B、M和n0加载寄存器中,其中Bi在每一轮数据迭代计算步骤之初加载;整数Z=(Zs-1,...,Z0)r,M=(Ms-1,...,M0)r,A=(As-1,...,A0)r,Bi,T,其中r=2w, n0=M’mod r;n为模长,单位为bit;w是字的位宽,单位为bit;s为迭代次数;本实施例中n0为32-bit常量;
S2:数据初始化:对三个临时向量数组赋初值0,所述的三个临时向量数组由结果Z、临时数据C和进位数据CT组成;其中,Z=(Zs-1,...,Z0)r,C=(Cs-1,...,C0)r,CT=(CTs-1,...,CT)r;所述的临时数据C、进位数据CT以及结果Z都通过扩展寄存器组进行缓存;
S3:数据迭代计算,在每一次中进行迭代的时候,通过NEON引擎计算得到的进位数据CT直接通过扩展寄存器组进行缓存,并用于下一次迭代的向量化计算过程;包括以下子步骤:
S31:定义变量i=0;
S32:计算普通常量T:T←(Z0+A0×Bi)×M′mod r;
S33:通过向量乘加的方式并行计算Cj||Zj=Bi×Aj+Zj,该计算结果Cj||Zj以64-bit数形式存储,不会产生溢出,如图5所示;由于计算结果Z和C以32-bit为单位间隔存储,所以需通过VTRN.32将计算结果与CT重新打包,将Cj||Zj分离。具体代码为VMLAL.U32Qd,Dn,Dm。
具体向量化大数乘加操作的实现方法如图4所示。以Z+A×Bi为例,Z和A是以32-bit字为单位并含有8个元素的向量,将Bi扩展为含有8个相同元素的向量。首先并行的计算出临时数据Tempj=(Bi×Aj)+Zj,Tempj的高32-bit为Cj,低32-bit为Zj;然后将进位数据Cj和计算结果Zj分离,其中Z用于下一步的计算,C作为临时数据缓存向量,则用于更新进位数据缓存向量。
S34:通过向量加的方式并行计算CTj=Cj+CTj,此时的相加结果CTj是小于或等于33-bit值,这里以64-bit值的形式进行存储,如图6所示;具体代码为VPADDL.U32Qd,Qm。
S35:通过向量乘加的方式并行计算Cj||Zj=T×Mj+Zj,方法类似于S33计算过程。此处计算结果Z0恒为0,所以打包过程中可以直接舍弃Z0(此处舍弃Z0实际上是将Z右移w位,即完成了Z/r的操作),通过VEXT打包结果如图7所示。具体代码为VEXT.32Qd,Qn,Qm,#1。
S36:以字为单位,通过向量加的方式完成三个数据相加的运算CTj||Zj=Zj+Cj+CTj,最终结果以64-bit形式存储,其中高32-bit即为CTj,低32-bit为Zj,指令示意图如图8所示。
为便于下一轮迭代的计算,此处仍需进行数据打包处理,直到最后一轮迭代完成后再将进位和结果累加形成最终结果。
具体代码为VPADAL.U32Qd,Qm。
S37:判断i的值是否小于s:
(1)如果i的值小于s,则将i的值加1后,返回步骤S32;
(2)如果i的值不小于s,则进入步骤S4;
所述的寄存器采用NEON引擎提供的扩展寄存器组,临时数据和进位数据也都通过扩展寄存器组进行缓存,以减少内存操作。
在每一次所述的步骤S3中进行迭代的时候,通过NEON引擎的向量化指令集计算得到的进位数据直接通过扩展寄存器组进行缓存,并用于下一次迭代的向量化计算过程。
S4:累加更新:将进位数据CT和结果Z进行累加更新Z的值:Z←Z+CT;
S5:溢出判断:判断Z的值是否大于M,对计算结果Z的值更新:
(1)若Z的值大于M,则将Z-M的值赋给Z,并输出Z的值;
(2)若Z的值不大于M,则输出Z的值。
本发明可以提高基于ARM Cortex-A系列芯片的MMM运算速度,从而提高公钥加密体系的整体性能。针对不同模长MMM运算,加速器对MMM运算的加速效率为7-9倍不等。将MMM加速器引入256-bit模长的ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)进行测试,实验结果表明ECDSA的签名和验签速率均提高了6倍以上。
本发明基于ARM v7架构所集成的NEON媒体处理引擎,在不增加任何硬件成本的前提下,提高了公钥密码体系中MMM运算速度。
在BeagleBoard开发板上的AM3358(ARM Cortex-A81GHz)对本发明进行实验,针对模长为256-bit、1024-bit、2048-bit的MMM和VMMM的运算速率统计如表1所示。
单位:us | 256-bit | 1024-bit | 2048-bit |
MMM | 5.556 | 84.466 | 329.648 |
VMMM | 0.606 | 11.287 | 46.286 |
加速比 | 9.16 | 7.48 | 7.12 |
表1MMM加速器性能对比
为验证本发明的正确性,用本文加速器替换模长256-bit的ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)算法中的MMM普通算法,替换后的算法称之为VECDSA,其运算速率统计如表2所示。
Signature | Verification | |
ECDSA | 50 | 41 |
VECDSA | 310 | 271 |
加速比 | 6.20 | 6.61 |
表2VECDSA运算效率(单位:次/秒)。
Claims (3)
1.一种基于NEON引擎的向量化Montgomery模乘器的设计方法,其特征在于:它包括以下步骤:
S1:数据输入:将操作数A、B、M和n0加载寄存器中,其中Bi在每一轮数据迭代计算步骤之初加载;整数Z=(Zs-1,…,Z0)r,M=(Ms-1,…,M0)r,A=(As-1,…,A0)r,Bi,T,其中r=2w,n0=M’modr;n为模长,单位为bit;w是字的位宽,单位为bit;s为迭代次数;所述的寄存器采用NEON引擎提供的扩展寄存器组;
S2:数据初始化:对三个临时向量数组赋初值0,所述的三个临时向量数组由结果Z、临时数据C和进位数据CT组成;其中,Z=(Zs-1,…,Z0)r,C=(Cs-1,…,C0)r,CT=(CTs-1,…,CT)r;所述的临时数据C、进位数据CT以及结果Z都通过扩展寄存器组进行缓存;
S3:数据迭代计算,在每一次中进行迭代的时候,通过NEON引擎计算得到的进位数据CT直接通过扩展寄存器组进行缓存,并用于下一次迭代的向量化计算过程;包括以下子步骤:S31:定义变量i=0;
S32:计算普通常量T:T←(Z0+A0×Bi)×M’modr;
S33:以字为单位,通过向量乘加的方式计算结果Z和临时数据C:C,Z←(Z+A×Bi),并将计算数据进行存储;
S34:以字为单位,通过临时数据C,通过向量加的方式重新计算进位数据CT:CT←C+CT,并将计算数据进行存储;
S35:通过向量乘加的方式计算结果Z和临时数据C:C,Z←(Z+M×T),并将计算数据进行存储;
S36:以字为单位,通过向量加的方式将步骤S35中得到的C和Z的值重新计算进位数据CT以及结果Z:CT,Z←(C+CT+Z)/r,并将计算数据进行存储;
S37:判断i的值是否小于s:
(1)如果i的值小于s,则将i的值加1后,返回步骤S32;
(2)如果i的值不小于s,则进入步骤S4;
S4:累加更新:将进位数据CT和结果Z进行累加更新Z的值:Z←Z+CT;
S5:越位判断:判断Z的值是否大于M,对计算结果Z的值更新:
(1)若Z的值大于M,则将Z-M的值赋给Z,并输出Z的值;
(2)若Z的值不大于M,则输出Z的值。
2.根据权利要求1所述的一种基于NEON引擎的向量化Montgomery模乘器的设计方法,其特征在于:所述的向量乘加采用NEON引擎的向量化指令集进行高低位操作数的并行运算。
3.根据权利要求1所述的一种基于NEON引擎的向量化Montgomery模乘器的设计方法,其特征在于:所述的进位数据CT在每一次迭代中进行更新和缓存,并用于下一次迭代计算,仅在迭代完成后将进位数据CT和结果Z进行累加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280570.5A CN104951279B (zh) | 2015-05-27 | 2015-05-27 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280570.5A CN104951279B (zh) | 2015-05-27 | 2015-05-27 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951279A true CN104951279A (zh) | 2015-09-30 |
CN104951279B CN104951279B (zh) | 2018-03-20 |
Family
ID=54165954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510280570.5A Active CN104951279B (zh) | 2015-05-27 | 2015-05-27 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951279B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126193A (zh) * | 2016-08-24 | 2016-11-16 | 四川卫士通信息安全平台技术有限公司 | 基于Zynq的椭圆曲线点加运算加速器及加速方法 |
CN109933305A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件 |
CN109933304A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492316A (zh) * | 2003-09-09 | 2004-04-28 | 大唐微电子技术有限公司 | 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 |
US20050084099A1 (en) * | 2003-10-15 | 2005-04-21 | Montgomery Peter L. | Utilizing SIMD instructions within montgomery multiplication |
CN1786900A (zh) * | 2005-10-28 | 2006-06-14 | 清华大学 | 基于改进的蒙哥马利算法的模乘器 |
CN101304312A (zh) * | 2008-06-26 | 2008-11-12 | 复旦大学 | 一种适用于精简指令集处理器的加密单元 |
CN101470598A (zh) * | 2007-12-28 | 2009-07-01 | 航天信息股份有限公司 | 提高大整数Montgomery模乘运算速度的方法 |
CN101834723A (zh) * | 2009-03-10 | 2010-09-15 | 上海爱信诺航芯电子科技有限公司 | 一种rsa算法及其ip核 |
CN102207847A (zh) * | 2011-05-06 | 2011-10-05 | 广州杰赛科技股份有限公司 | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 |
CN103761068A (zh) * | 2014-01-26 | 2014-04-30 | 上海交通大学 | 优化的蒙哥马利模乘方法、模平方方法和模乘硬件 |
-
2015
- 2015-05-27 CN CN201510280570.5A patent/CN104951279B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492316A (zh) * | 2003-09-09 | 2004-04-28 | 大唐微电子技术有限公司 | 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 |
US20050084099A1 (en) * | 2003-10-15 | 2005-04-21 | Montgomery Peter L. | Utilizing SIMD instructions within montgomery multiplication |
CN1786900A (zh) * | 2005-10-28 | 2006-06-14 | 清华大学 | 基于改进的蒙哥马利算法的模乘器 |
CN101470598A (zh) * | 2007-12-28 | 2009-07-01 | 航天信息股份有限公司 | 提高大整数Montgomery模乘运算速度的方法 |
CN101304312A (zh) * | 2008-06-26 | 2008-11-12 | 复旦大学 | 一种适用于精简指令集处理器的加密单元 |
CN101834723A (zh) * | 2009-03-10 | 2010-09-15 | 上海爱信诺航芯电子科技有限公司 | 一种rsa算法及其ip核 |
CN102207847A (zh) * | 2011-05-06 | 2011-10-05 | 广州杰赛科技股份有限公司 | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 |
CN103761068A (zh) * | 2014-01-26 | 2014-04-30 | 上海交通大学 | 优化的蒙哥马利模乘方法、模平方方法和模乘硬件 |
Non-Patent Citations (2)
Title |
---|
曾健林: ""高速可配RSA 加速器设计与实现"", 《传感器与微系统》 * |
王家樑: ""基于ARM Cortex-A8 平台的Out-of-place FFT 算法优化"", 《现代电子技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126193A (zh) * | 2016-08-24 | 2016-11-16 | 四川卫士通信息安全平台技术有限公司 | 基于Zynq的椭圆曲线点加运算加速器及加速方法 |
CN109933305A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件 |
CN109933304A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
CN109933304B (zh) * | 2019-03-20 | 2022-06-21 | 成都三零嘉微电子有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104951279B (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fritzmann et al. | RISQ-V: Tightly coupled RISC-V accelerators for post-quantum cryptography | |
US11416638B2 (en) | Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques | |
Abdulrahman et al. | Faster kyber and dilithium on the cortex-m4 | |
US20100042806A1 (en) | Determining index values for bits of a binary vector | |
CN107766031B (zh) | 分段式除法器、分段式除法运算方法、以及电子设备 | |
CN104375802A (zh) | 一种乘除法器及运算方法 | |
CN103761068A (zh) | 优化的蒙哥马利模乘方法、模平方方法和模乘硬件 | |
Khan et al. | High speed ECC implementation on FPGA over GF (2 m) | |
KR20110105555A (ko) | 효율적인 하드웨어 구성을 갖는 몽고메리 승산기 | |
Seo et al. | Binary and prime field multiplication for public key cryptography on embedded microprocessors | |
Bisheh Niasar et al. | Efficient hardware implementations for elliptic curve cryptography over Curve448 | |
Su et al. | A highly unified reconfigurable multicore architecture to speed up NTT/INTT for homomorphic polynomial multiplication | |
Xie et al. | High-throughput finite field multipliers using redundant basis for FPGA and ASIC implementations | |
Yang et al. | Poseidon: Practical homomorphic encryption accelerator | |
CN104951279A (zh) | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 | |
CN101847137A (zh) | 一种实现基2fft计算的fft处理器 | |
CN109284085B (zh) | 一种基于fpga的高速模乘和模幂运算方法及装置 | |
Namin et al. | A Fully Serial-In Parallel-Out Digit-Level Finite Field Multiplier in $\mathbb {F} _ {2^{m}} $ Using Redundant Representation | |
Li et al. | Maximizing the Potential of Custom RISC-V Vector Extensions for Speeding up SHA-3 Hash Functions | |
Malashri et al. | Low power and memory efficient FFT architecture using modified CORDIC algorithm | |
CN204143432U (zh) | 一种乘除法器 | |
Putra et al. | Optimized hardware algorithm for integer cube root calculation and its efficient architecture | |
Abozaid et al. | A scalable multiplier for arbitrary large numbers supporting homomorphic encryption | |
Wang et al. | High radix montgomery modular multiplier on modern fpga | |
Liu et al. | Efficient implementation of ring-LWE encryption on high-end IoT platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210930 Address after: Floor 12 and 13, building 3, 333 Yunhua Road, high tech Zone, Chengdu, Sichuan 610000 Patentee after: CHENGDU 30JAVEE MICROELECTRONICS Co.,Ltd. Address before: Building 2, 333 Yunhua Road, high tech Zone, Chengdu, Sichuan 610000 Patentee before: SICHUAN WEISHITONG INFORMATION SECURITY PLATFORM TECHNOLOGY Co.,Ltd. |