CN107466453B - Des软件防dpa攻击的方法及装置 - Google Patents

Des软件防dpa攻击的方法及装置 Download PDF

Info

Publication number
CN107466453B
CN107466453B CN201780000957.8A CN201780000957A CN107466453B CN 107466453 B CN107466453 B CN 107466453B CN 201780000957 A CN201780000957 A CN 201780000957A CN 107466453 B CN107466453 B CN 107466453B
Authority
CN
China
Prior art keywords
mask
des
msp
dynamic
random number
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.)
Active
Application number
CN201780000957.8A
Other languages
English (en)
Other versions
CN107466453A (zh
Inventor
宋孝亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Trendit Co ltd
Original Assignee
Shenzhen Trendit Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Trendit Co ltd filed Critical Shenzhen Trendit Co ltd
Publication of CN107466453A publication Critical patent/CN107466453A/zh
Application granted granted Critical
Publication of CN107466453B publication Critical patent/CN107466453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明揭示了DES软件防DPA攻击的方法及装置,方法:获取随机数作为掩码S,将该值赋予掩码RX12和SP;根据掩码SP生成动态掩码;使用掩码RX12对IP进行初始化置换;使用掩码RX12、S和动态掩码进行16轮运算;通过掩码RX12和RXwork对IP逆置换得到加密数据。可以防护高阶DPA的攻击。

Description

DES软件防DPA攻击的方法及装置
技术领域
本发明涉及到信息安全技术领域,特别是涉及到一种DES软件防DPA攻击的方法及装置。
背景技术
DES算法是一种应用较广的对称加/解密算法,DES算法将64位的明文输入块变化成64位的密文输出块,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,进行初始置换,即得密文输出。其中每一轮DES算法的F函数包括扩展置换、与密钥的异或、S盒代换和P盒置换。S盒,英文名称为Substitution-box,是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。
随着金融POS终端的安全要求越来越高,作为金融POS终端采用的重要的加密算法DES对DPA攻击的防护要求也越来越高。采用掩码算法的密码算法仍然可以用高阶DPA进行攻击,为了防护高阶DPA攻击,需要对S盒算法进行改造,使得改造后的算法可以防护高级DPA攻击。
当前,DES掩码方案进行防DPA攻击用硬件实现方便,但是在硬件DES密码设备中,DES协处理器中每轮运算的8个S盒实现是并行的,每个S盒的输出占P置换后的4bit(1/8长度),因此不管S盒输出在P置换后位置如何变化,其对能量的影响是始终存在的。如果以一个S盒的6bit子密钥作为攻击目标,那么在P置换输出结果中除了改S盒的4bit输出外,其余28bit输出结果都是噪声。针对此弱点,现在已有相关高阶破解方法。
发明内容
本发明的主要目的为提供一种DES软件防DPA攻击的方法及装置,旨在解决DES软件被DPA高阶攻击的问题。
本发明提出一种DES软件防DPA攻击的方法,包括,
获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP;
根据掩码SP生成动态掩码MSP;
使用掩码RX12对IP进行初始化置换;
使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算;
通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
进一步地,所述根据掩码SP生成动态掩码MSP的步骤,其特征在于,包括,
在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP。
进一步地,所述获取随机数作为掩码S,同时赋予掩码RX12和掩码SP的步骤之前,包括,
通过基础DES掩码方案生成IP。
进一步地,所述获取随机数作为掩码S的步骤,包括,
获取32个字节的随机数作为掩码S。
本发明还提出了一种DES软件防DPA攻击的装置,包括,
获取赋值单元,用于获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP;
第一生成单元,用于根据掩码SP生成动态掩码MSP;
初始置换单元,用于使用掩码RX12对IP进行初始化置换;
运算单元,用于使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算;
逆置换单元,用于通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
进一步地,所述第一生成单元包括有生产模块,用于在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP。
进一步地,还包括有第二生成单元,用于通过基础DES掩码方案生成IP。
进一步地,所述获取赋值单元包括获取模块,用于获取32个字节的随机数作为掩码S。
本发明的有益效果是:在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现对于高阶DPA攻击的防护。
附图说明
图1为本发明一实施例的DES软件防DPA攻击的方法的流程示意图;
图2为本发明另一实施例的DES软件防DPA攻击的方法的流程示意图;
图3为本发明一实施例的DES软件防DPA攻击的装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本实用新型的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本实用新型所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
DES,英文全称:DataEncryption Standard,是分组对称密码算法,是一种应用较广的对称加/解密算法,DES算法将64位的明文输入块变化成64位的密文输出块,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,进行初始置换,即得密文输出。其中每一轮DES算法的F函数包括扩展置换、与密钥的异或、S盒代换和P盒置换。
S盒,英文名称为Substitution-box,是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。
参照图1,提出本发明一实施例,本发明提出一种DES软件防DPA攻击的方法,包括以下步骤:
S11、获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP。
S12、根据掩码SP生成动态掩码MSP。
S13、使用掩码RX12对IP进行初始化置换。
S14、使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算。
S15、通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
对于步骤S11,获取一个随机数作为掩码S,随机数可以为32个字节的随机数,掩码S的值之后,将掩码S的值赋予掩码RX12和掩码SP,以用于后续的计算,例如对IP的初始置换和对IP逆置换都需要用到掩码RX12。
对于步骤S12,根据上述的掩码SP,生成动态掩码MSP,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现DES算法对于高阶DPA攻击的防护,提高密码设备的安全性。在本发明一具体实施例中,步骤S12具体的执行代码如下:
maskbits=(MSP[0]>>24)&0x3F;
dynamicSPx[i][j]=SPx[j^maskbits]^MSP[1]。
对于步骤S13,利用掩码RX12,对IP进行初始化置换,初始化置换为:输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。在对IP进行初始化置换的过程中加入掩码RX12,提高DES算法的安全性。在本发明一具体实施例中,步骤S13具体的执行代码如下:
leftt=block[0];
right=block[1];
leftt^=RX12[0];
right^=RX12[1];
对于步骤S14,通过掩码RX12、掩码S以及动态掩码MSP进行16轮相同的计算,确保加密的复杂度,通过动态掩码MSP进行16轮相同的计算可以,提高DES算法对高阶DPA攻击的防护,进一步提高密码设备的安全性。
对于步骤S15,最终,通过掩码RX12和掩码RXwork对上述步骤处理后的IP进行逆置换,可以得到最终的DES加密数据。在本发明一实施例中,步骤S15的执行代码为:
leftt^=RX12[0];
right^=RX12[1];
work^=RXwork;
一种DES软件防DPA攻击的方法,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现对于高阶DPA攻击的防护。
本发明另一实施例中,一种DES软件防DPA攻击的方法,包括以下步骤:
S20、通过基础DES掩码方案生成IP。
S21、获取32个字节的随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP。
S22、在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP。
S23、使用掩码RX12对IP进行初始化置换。
S24、使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算。
S25、通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
对于步骤S20,IP的生成方案与基础的DES掩码方案一致,简单直接,无需再进行额外的设计。
对于步骤S21,获取一个随机数作为掩码S,随机数为32个字节的随机数,掩码S的值之后,将掩码S的值赋予掩码RX12和掩码SP,以用于后续的计算,例如对IP的初始置换和对IP逆置换都需要用到掩码RX12。
对于步骤S22,根据上述的掩码SP,生成动态掩码MSP,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现DES算法对于高阶DPA攻击的防护,提高密码设备的安全性。在本发明一实施例中,步骤S22具体的执行代码如下:
maskbits=(MSP[0]>>24)&0x3F;
dynamicSPx[i][j]=SPx[j^maskbits]^MSP[1]。
对于步骤S23,利用掩码RX12,对IP进行初始化置换,初始化置换为:输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。在对IP进行初始化置换的过程中加入掩码RX12,提高DES算法的安全性。在本发明一具体实施例中,步骤S23具体的执行代码如下:
leftt=block[0];
right=block[1];
leftt^=RX12[0];
right^=RX12[1];
对于步骤S24,通过掩码RX12、掩码S以及动态掩码MSP进行16轮相同的计算,确保加密的复杂度,通过动态掩码MSP进行16轮相同的计算可以,提高DES算法对高阶DPA攻击的防护,进一步提高密码设备的安全性。
对于步骤S25,最终,通过掩码RX12和掩码RXwork对上述步骤处理后的IP进行逆置换,可以得到最终的DES加密数据。在本发明一具体实施例中,步骤S25的执行代码为:
leftt^=RX12[0];
right^=RX12[1];
work^=RXwork;
一种DES软件防DPA攻击的方法,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现对于高阶DPA攻击的防护。
本发明还提出了一种DES软件防DPA攻击的装置,包括:
第二生成单元10,用于通过基础DES掩码方案生成IP。
获取赋值单元20,用于获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP。
第一生成单元30,用于根据掩码SP生成动态掩码MSP。
初始置换单元40,用于使用掩码RX12对IP进行初始化置换;
运算单元50,用于使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算。
逆置换单元60,用于通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
对于第二生成单元10,IP的生成方案与基础的DES掩码方案一致,简单直接,无需再进行额外的设计。
对于获取赋值单元20,获取一个随机数作为掩码S,随机数可以为32个字节的随机数,掩码S的值之后,将掩码S的值赋予掩码RX12和掩码SP,以用于后续的计算,例如对IP的初始置换和对IP逆置换都需要用到掩码RX12。
获取赋值单元20包括获取模块,用于获取32个字节的随机数作为掩码S。
对于第一生成单元30,根据上述的掩码SP,生成动态掩码MSP,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现DES算法对于高阶DPA攻击的防护,提高密码设备的安全性。第一生成单元,包括有生产模块,用于在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP。
对于初始置换单元40,利用掩码RX12,对IP进行初始化置换,初始化置换为:输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。在对IP进行初始化置换的过程中加入掩码RX12,提高DES算法的安全性。
对于运算单元50,过掩码RX12、掩码S以及动态掩码MSP进行16轮相同的计算,确保加密的复杂度,通过动态掩码MSP进行16轮相同的计算可以,提高DES算法对高阶DPA攻击的防护,进一步提高密码设备的安全性。
逆置换单元60,最终,通过掩码RX12和掩码RXwork对上述步骤处理后的IP进行逆置换,可以得到最终的DES加密数据。
一种DES软件防DPA攻击的装置,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP,再通过动态掩码MSP进行16轮运算,简单有效,可以实现对于高阶DPA攻击的防护。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种DES软件防DPA攻击的方法,其特征在于,包括,
获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP;
根据掩码SP生成动态掩码MSP,其中,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP;
使用掩码RX12对IP进行初始化置换;
使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算;
通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
2.如权利要求1所述的DES软件防DPA攻击的方法,其特征在于,所述获取随机数作为掩码S,同时赋予掩码RX12和掩码SP的步骤之前,包括,
通过基础DES掩码方案生成IP。
3.如权利要求2所述的DES软件防DPA攻击的方法,其特征在于,所述获取随机数作为掩码S的步骤,包括,
获取32个字节的随机数作为掩码S。
4.一种DES软件防DPA攻击的装置,其特征在于,包括,
获取赋值单元,用于获取随机数作为掩码S,同时将掩码S的值赋予掩码RX12和掩码SP;
第一生成单元,用于根据掩码SP生成动态掩码MSP,其中,在静态的掩码SP1-SP8的基础上,通过掩码SP生成动态掩码MSP;
初始置换单元,用于使用掩码RX12对IP进行初始化置换;
运算单元,用于使用掩码RX12、掩码S以及动态掩码MSP进行16轮相同的运算;
逆置换单元,用于通过掩码RX12和掩码RXwork对IP进行逆置换得到DES加密数据。
5.如权利要求4所述的DES软件防DPA攻击的装置,其特征在于,还包括有第二生成单元,用于通过基础DES掩码方案生成IP。
6.如权利要求5所述的DES软件防DPA攻击的装置,其特征在于,所述获取赋值单元包括获取模块,用于获取32个字节的随机数作为掩码S。
CN201780000957.8A 2017-03-16 2017-03-16 Des软件防dpa攻击的方法及装置 Active CN107466453B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/076972 WO2018165949A1 (zh) 2017-03-16 2017-03-16 Des软件防dpa攻击的方法及装置

Publications (2)

Publication Number Publication Date
CN107466453A CN107466453A (zh) 2017-12-12
CN107466453B true CN107466453B (zh) 2020-11-24

Family

ID=60554257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780000957.8A Active CN107466453B (zh) 2017-03-16 2017-03-16 Des软件防dpa攻击的方法及装置

Country Status (2)

Country Link
CN (1) CN107466453B (zh)
WO (1) WO2018165949A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165531B (zh) * 2018-09-11 2020-04-07 网御安全技术(深圳)有限公司 一种aes掩码方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
CN103888245A (zh) * 2012-12-20 2014-06-25 北京握奇数据系统有限公司 一种智能卡的s盒随机化方法和系统
CN104125061A (zh) * 2014-08-12 2014-10-29 昆腾微电子股份有限公司 使用rsa加密算法的电子部件中的防攻击方法
CN104618094A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的密码Mask方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006020010D1 (de) * 2005-12-19 2011-03-24 St Microelectronics Sa Schutz der Ausführung eines DES-Algorithmus
FR2967322B1 (fr) * 2010-11-08 2012-12-28 Morpho Protection contre les ecoutes passives
CN103905462B (zh) * 2014-04-16 2017-05-17 深圳国微技术有限公司 可抵御差分功耗分析攻击的加密处理装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888245A (zh) * 2012-12-20 2014-06-25 北京握奇数据系统有限公司 一种智能卡的s盒随机化方法和系统
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
CN104125061A (zh) * 2014-08-12 2014-10-29 昆腾微电子股份有限公司 使用rsa加密算法的电子部件中的防攻击方法
CN104618094A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的密码Mask方法

Also Published As

Publication number Publication date
WO2018165949A1 (zh) 2018-09-20
CN107466453A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
JP7076482B2 (ja) Sboxを有する暗号プロセスを高次サイドチャネル攻撃からセキュアにする方法
JP4828526B2 (ja) 暗号計算を実行するための方法及び装置
KR101345083B1 (ko) 암호화 보호 방법
US8325928B2 (en) Security countermeasure for power analysis attacks
RU2586020C2 (ru) Способ применения контрмер против атак по сторонним каналам
AU2011292312B2 (en) Apparatus and method for block cipher process for insecure environments
US7720225B2 (en) Table splitting for cryptographic processes
US8699702B2 (en) Securing cryptographic process keys using internal structures
EP1833190A1 (en) Table splitting for cryptographic processes
JP6877889B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JPWO2008010441A1 (ja) 暗号装置及びプログラムと方法
US8619985B2 (en) Table splitting for cryptographic processes
CN111066077A (zh) 加密装置、加密方法、解密装置以及解密方法
EP2702720A1 (en) Method for applying a high entropy masking countermeasure in a block encryption algorithm, and a logic integrated circuit implementing such a method
US8958556B2 (en) Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component
CN107466453B (zh) Des软件防dpa攻击的方法及装置
US11201724B2 (en) Method to counter DCA attacks of order 2 and higher on table-based implementations
CN111602367B (zh) 用于保护在使白盒密码算法安全的对策中使用的熵源的方法
Liu et al. Improving tag generation for memory data authentication in embedded processor systems
KR20240059830A (ko) 경량 블록암호 pipo의 마스킹 화이트박스 암호 장치
Bright Cryptanalytic attack and defense: ciphertext-only, known-plaintext, chosen-plaintext
TW201312982A (zh) 旁通道攻擊的防禦方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant