CN112787820A - 一种适用于硬件实现的轻量级认证加密解密实现方法 - Google Patents
一种适用于硬件实现的轻量级认证加密解密实现方法 Download PDFInfo
- Publication number
- CN112787820A CN112787820A CN202110000330.0A CN202110000330A CN112787820A CN 112787820 A CN112787820 A CN 112787820A CN 202110000330 A CN202110000330 A CN 202110000330A CN 112787820 A CN112787820 A CN 112787820A
- Authority
- CN
- China
- Prior art keywords
- mode
- encryption
- plaintext
- decryption
- working mode
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种适用于硬件实现的轻量级认证加密解密实现方法,可在同一硬件电路中同时实现加密、解密、认证的功能,串行发送的数据帧通过起始位(SOF)进行位置标定,通过工作模式位(Mode)进行加密解密功能选择,通过认证加密算法核心进行数据的加密和解密过程,通过认证码(Tag)进行数据源认证,加密、解密过程复用算法硬件资源,可以轻松应用在各种数据通信领域的硬件安全部分,极具实用价值。
Description
技术领域
本发明涉及认证加密算法领域,具体涉及一种适用于硬件实现的轻量级认证加密解密实现方法,对硬件安全的发展有着重要意义。
背景技术
随着科技飞速发展,人们生活越来越信息化,数字化,生活变得更加丰富更加便利的同时,信息安全也变得越来越重要。不法分子和黑客技术发展同样迅速,信息泄露,电信诈骗,银行卡盗取等严重危害人们日常生活的现象比比皆是,保障信息数据的机密性、真实性和完整性成了迫切需求。
信息传输过程中有可能遭到窃取或篡改,导致信息数据不可信,需要一定的信息安全手段来保证数据的安全。认证加密算法是基于对称密码学的密码技术,能够保证数据在信道传输过程中的机密性、真实性同时兼具数据源认证,让不法分子难以伪造、篡改或干扰信息,可用于解决这一问题。
认证加密算法在软件方面有着优良的表现,但在应用领域,硬件安全也是信息安全领域的重中之重。诸如银行卡,NFC,物联网等与硬件相关的涉及信息保存和通讯的应用场景越来越广泛,如何在硬件领域实现高效的认证加密功能将极大程度的降低硬件成本和功耗,提升产品的实用性和安全性,成为亟需解决的问题。
发明内容
为了解决上述问题,本发明提出一种适用于硬件实现的轻量级认证加密解密实现方法,可对通信串行数据流进行数据安全处理,同时兼具加密、解密和认证功能。
一种适用于硬件实现的轻量级认证加密解密实现方法,包括:
步骤S1、根据帧起始位(SOF)从输入信息中提取出工作模式位Mode;
步骤S2、若工作模式位Mode为0,表示输入有效数据为明文P,需要加密操作,则继续从输入信息中提取出明文P;若工作模式位为1,表示输入有效数据为已加密后的密文C,需要解密操作,则继续从输入信息中提取出密文C、Nonce和认证码Tag;
步骤S3、若工作模式位Mode为0,则DRBG生成Nonce,明文P按照64比特分组,一同输入算法核心进行加密操作,生成密文C与Tag;若工作模式位Mode为1,则密文C按照64比特分组,与步骤S2中提取的Nonce和Tag一同输入算法核心进行解密运算,生成明文P和认证码Tag’,其中,算法核心采用基于Ascon的认证加密算法;
步骤S4、若工作模式位Mode为0,将帧起始位SOF、解密工作模式位Mode、密文分组、Nonce、认证码Tag合并作为输出数据;若工作模式Mode为1,则比较接收到的认证码Tag与算法核心生成的认证码Tag’是否一致,若一致说明认证成功,则输出明文P,若不一致,则报告错误信息⊥,不输出明文;
其中,所述步骤S3包括:
步骤S31、核心算法的输入S为320比特,由初始化向量IV、密钥K、Nonce拼接组成,其中工作模式位Mode为0时Nonce由DRBG生成,工作模式位Mode为1时Nonce由输入信息中提取;
步骤S32、若工作模式位Mode为0,则将S、关联数据Associated Data(AD)、密钥K、明文分组输入Ascon算法核心进行加密处理:
(C,Tag)=Ascon(S,AD,K,P);
若工作模式位Mode为1,则将S、关联数据Associated Data(AD)、密钥K、密文分组输入Ascon算法核心进行加密处理:
(P,Tag′)=Ascon(S,AD,K,C)。
所述的方法,明文密文长度包括但不限于128比特,通过分组密码迭代模式进行任意比特长度扩展,迭代模式包括但不限于电子密码本(ECB)模式,密码分组链接(CBC)模式,密文反馈(CFB)模式,输出反馈(OFB)模式,计数器(CTR)模式。
所述的方法,初始化向量IV和密钥K固定在硬件内部,仅在使用时读取,并不参与数据传输过程;关联数据Associated Data(AD)分组也事先约定好后固定在硬件内部,不参与数据传输。
本发明的有益效果:
加密解密算法核心可复用,硬件资源消耗小,极适合轻量级硬件使用场景,但不仅限于硬件实现,同样适用于软件实现。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明一实施例提供的认证加解密算法流程示意图。
图2是本发明一实施例提供的芯片物理实现版图。
具体实施方式
下面对本发明的具体实施方式进行详细的描述。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
参见图1,本发明一实施例提供一种适用于硬件轻量级应用的基于Ascon的认证加解密算法实现方案,包括:
步骤S1、根据帧起始位(SOF)从输入信息中提取出工作模式位Mode,Mode表征了输入数据类型和数据待处理方式。
步骤S2、若工作模式位Mode为0,表示输入有效数据为明文P,需要加密操作,则继续从输入信息中提取出明文P;若工作模式位为1,表示输入有效数据为已加密后的密文C,需要解密操作,则继续从输入信息中提取出密文C、Nonce和认证码Tag。
步骤S3、若工作模式位Mode为0,则DRBG生成Nonce,明文P按照64比特分组,一同输入算法核心进行加密操作,生成密文C与Tag;若工作模式位Mode为1,则密文C按照64比特分组,与步骤S2中提取的Nonce和Tag一同输入算法核心进行解密运算,生成明文P和认证码Tag’。其中,算法核心采用基于Ascon的认证加密算法。
步骤S4、若工作模式位为0,将起始位SOF、解密工作模式位Mode、密文分组、Nonce、认证码Tag合并作为输出数据;若工作模式为1,则比较接收到的认证码Tag与算法核心生成的认证码Tag’是否一致,若一致说明认证成功,则输出明文P,若不一致,则报告错误信息⊥,不输出明文。
其中,所述步骤S3包括:
步骤S31、核心算法的输入S为320比特数据,由初始化向量IV、密钥K、Nonce拼接(||)组成,其中Mode为0时Nonce由DRBG生成,Mode为1时Nonce由输入信息中提取。
IV包含密钥长度k,分组长度r,p函数执行轮次a和b,低位用0填充至64比特,即:
IV=k||r||a||b||0=0x80400c0600000000
为了便于硬件实现,同时减少对称密码密钥配送带来的不可靠问题,IV和K固定在硬件内部,仅在使用时读取,并不参与数据传输过程,更不易被攻击者截获,同时还节省了通讯时间。由于Ascon算法是关联数据的认证加密算法,关联数据Associated Data(AD)分组也事先约定好后固定在硬件内部,不参与数据传输。
步骤S32、若Mode为0,则将S、关联数据AD分组、密钥K、明文分组输入Ascon算法核心进行加密处理:
(C,Tag)=Ascon(S,AD,K,P)
若Mode为1,则将S、关联数据AD、密钥K、密文分组输入Ascon算法核心进行加密处理:
(P,Tag′)=Ascon(S,AD,K,C)
优选地,所述步骤S32具体为:
若Mode为0:
步骤S321、输入数据S切分为高64比特Sr和低256比特Sc。
步骤S325、明文分组依次与Sr异或,形成密文分组,与Sc拼接后经过6轮p函数处理,形成新的S:
S=pb((Ct||Sc)
其中Pi依次从明文的高位分组到低位分组。
步骤S326、Sr的高128位与K异或后,经过12轮p函数处理形成新的S:
步骤S327、S的低128位与K异或形成认证码Tag。
若Mode为1:
步骤S321’、输入数据S切分为高64比特Sr和低256比特Sc。
步骤S325’、明文分组依次与Sr异或,形成密文分组,与Sc拼接后经过6轮p函数处理,形成新的S:
S=pb((Ct||Sc)
其中Pi依次从明文的高位分组到低位分组。
步骤S327’、S的低128位与K异或形成认证码Tag。
优选地,所述p函数为Ascon算法核心置换函数,其具体步骤为:
步骤SP1、将输入的320比特S分成5组64比特xi,即S=x0||x1||x2||x3||x4。其中0为高位。
表1
表2
步骤SP4、对x0~x4进行线性移位变换
图2为本发明一实施例提供的硬件物理实现版图,已验证该轻量级认证加密算法在物理实现上具备可行性,极适合应用于物联网,RFID等信息通讯领域。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (3)
1.一种适用于硬件实现的轻量级认证加密解密实现方法,其特征在于,包括:
步骤S1、根据帧起始位(SOF)从输入信息中提取出工作模式位Mode;
步骤S2、若工作模式位Mode为0,表示输入有效数据为明文P,需要加密操作,则继续从输入信息中提取出明文P;若工作模式位为1,表示输入有效数据为已加密后的密文C,需要解密操作,则继续从输入信息中提取出密文C、Nonce和认证码Tag;
步骤S3、若工作模式位Mode为0,则DRBG生成Nonce,明文P按照64比特分组,一同输入算法核心进行加密操作,生成密文C与Tag;若工作模式位Mode为1,则密文C按照64比特分组,与步骤S2中提取的Nonce和Tag一同输入算法核心进行解密运算,生成明文P和认证码Tag’,其中,算法核心采用基于Ascon的认证加密算法;
步骤S4、若工作模式位Mode为0,将帧起始位SOF、解密工作模式位Mode、密文分组、Nonce、认证码Tag合并作为输出数据;若工作模式Mode为1,则比较接收到的认证码Tag与算法核心生成的认证码Tag’是否一致,若一致说明认证成功,则输出明文P,若不一致,则报告错误信息⊥,不输出明文;
其中,所述步骤S3包括:
步骤S31、核心算法的输入S为320比特,由初始化向量IV、密钥K、Nonce拼接组成,其中工作模式位Mode为0时Nonce由DRBG生成,工作模式位Mode为1时Nonce由输入信息中提取;
步骤S32、若工作模式位Mode为0,则将S、关联数据Associated Data(AD)、密钥K、明文分组输入Ascon算法核心进行加密处理:(C,Tag)=Ascon(S,AD,K,P);
若工作模式位Mode为1,则将S、关联数据Associated Data(AD)、密钥K、密文分组输入Ascon算法核心进行加密处理:(P,Tag′)=Ascon(S,AD,K,C)。
2.根据权利要求1所述的方法,其特征在于,明文密文长度包括但不限于128比特,通过分组密码迭代模式进行任意比特长度扩展,迭代模式包括但不限于电子密码本(ECB)模式,密码分组链接(CBC)模式,密文反馈(CFB)模式,输出反馈(OFB)模式,计数器(CTR)模式。
3.根据权利要求1所述的方法,其特征在于,初始化向量IV和密钥K固定在硬件内部,仅在使用时读取,并不参与数据传输过程;关联数据Associated Data(AD)分组也事先约定好后固定在硬件内部,不参与数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110000330.0A CN112787820B (zh) | 2021-01-02 | 2021-01-02 | 一种适用于硬件实现的轻量级认证加密解密实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110000330.0A CN112787820B (zh) | 2021-01-02 | 2021-01-02 | 一种适用于硬件实现的轻量级认证加密解密实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112787820A true CN112787820A (zh) | 2021-05-11 |
CN112787820B CN112787820B (zh) | 2022-02-11 |
Family
ID=75753666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110000330.0A Active CN112787820B (zh) | 2021-01-02 | 2021-01-02 | 一种适用于硬件实现的轻量级认证加密解密实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112787820B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268326A1 (en) * | 2004-05-04 | 2005-12-01 | Microsoft Corporation | Checking the security of web services configurations |
CN101431405A (zh) * | 2008-11-17 | 2009-05-13 | 暨南大学 | Des加密电路和方法及其硬件电路实现方法 |
US20090298480A1 (en) * | 2008-04-30 | 2009-12-03 | Intertrust Technologies Corporation | Data collection and targeted advertising systems and methods |
US20130139246A1 (en) * | 2011-11-28 | 2013-05-30 | Pika Technologies Inc. | Transparent bridge device |
US20150256335A1 (en) * | 2012-09-20 | 2015-09-10 | Zte Corporation | Encryption Realization Method and System |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN107005415A (zh) * | 2014-12-03 | 2017-08-01 | 耐瑞唯信有限公司 | 用于加密/解密消息的块加密方法以及实现该方法的密码设备 |
CN109962766A (zh) * | 2017-12-22 | 2019-07-02 | 中国科学院沈阳自动化研究所 | 基于ieee802-15-4标准的安全服务协处理器的实现方法 |
-
2021
- 2021-01-02 CN CN202110000330.0A patent/CN112787820B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268326A1 (en) * | 2004-05-04 | 2005-12-01 | Microsoft Corporation | Checking the security of web services configurations |
US20090298480A1 (en) * | 2008-04-30 | 2009-12-03 | Intertrust Technologies Corporation | Data collection and targeted advertising systems and methods |
US20140229277A1 (en) * | 2008-04-30 | 2014-08-14 | Intertrust Technologies Corporation | Data collection and targeted advertising systems and methods |
CN101431405A (zh) * | 2008-11-17 | 2009-05-13 | 暨南大学 | Des加密电路和方法及其硬件电路实现方法 |
US20130139246A1 (en) * | 2011-11-28 | 2013-05-30 | Pika Technologies Inc. | Transparent bridge device |
US20150256335A1 (en) * | 2012-09-20 | 2015-09-10 | Zte Corporation | Encryption Realization Method and System |
CN107005415A (zh) * | 2014-12-03 | 2017-08-01 | 耐瑞唯信有限公司 | 用于加密/解密消息的块加密方法以及实现该方法的密码设备 |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN109962766A (zh) * | 2017-12-22 | 2019-07-02 | 中国科学院沈阳自动化研究所 | 基于ieee802-15-4标准的安全服务协处理器的实现方法 |
Non-Patent Citations (2)
Title |
---|
HANNES GROSS.ET: "Suit up! -- Made-to-Measure Hardware Implementations of ASCON", 《IEEE》 * |
张晨: "物联网下NFC轻量级安全认证方法研究", 《信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112787820B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1993922B (zh) | 流密码组合系统和方法 | |
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
US9031228B2 (en) | Systems and methods for implementing block cipher algorithms on attacker-controlled systems | |
CN101034978B (zh) | 用于执行抵抗密码攻击的密码过程的方法和计算设备、以及数据处理系统 | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
CN106059752B (zh) | 一种基于扩张密文的白盒密码加解密方法 | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与系统 | |
US8619985B2 (en) | Table splitting for cryptographic processes | |
CN109861810A (zh) | 一种基于混沌块加密算法的数据加密方法及解密方法 | |
CN114826587B (zh) | 一种数据加密方法、解密方法及其装置、设备 | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN101867471A (zh) | 基于无理数的des认证加密算法 | |
Kuang et al. | Quantum encryption and decryption in IBMQ systems using quantum permutation pad | |
CN113992325A (zh) | 一种隐私数据共享方法及装置 | |
CN112787820B (zh) | 一种适用于硬件实现的轻量级认证加密解密实现方法 | |
Prihandoko et al. | Implementation of super H-antimagic total graph on establishing stream cipher | |
Buell | Modern symmetric ciphers—Des and Aes | |
CN106921486A (zh) | 数据加密的方法和装置 | |
CN115766238A (zh) | 一种海量短数据流加密解密方法及系统 | |
CN110474967B (zh) | 块链实验系统及方法 | |
CN107766725B (zh) | 抗模板攻击的数据传输方法及系统 | |
Kumar et al. | New Symmetric Key Cipher Based on Quasigroup | |
CN103634113A (zh) | 一种带用户/设备身份认证的加解密方法及装置 | |
JP5023610B2 (ja) | データ授受方法及びシステム | |
CN117411727B (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 |