CN103517269B - 数据加解密方法及*** - Google Patents

数据加解密方法及*** Download PDF

Info

Publication number
CN103517269B
CN103517269B CN201210202675.5A CN201210202675A CN103517269B CN 103517269 B CN103517269 B CN 103517269B CN 201210202675 A CN201210202675 A CN 201210202675A CN 103517269 B CN103517269 B CN 103517269B
Authority
CN
China
Prior art keywords
data
pending data
parameter
bus
processing
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
CN201210202675.5A
Other languages
English (en)
Other versions
CN103517269A (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 ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology 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 ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201210202675.5A priority Critical patent/CN103517269B/zh
Publication of CN103517269A publication Critical patent/CN103517269A/zh
Application granted granted Critical
Publication of CN103517269B publication Critical patent/CN103517269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种数据加解密方法及***,该***包括总线从处理模块、FSM控制模块、总线主处理模块、密码流产生装置和计算模块,其中,总线从处理模块用于保存控制信息和密钥;该FSM控制模块,用于控制总线从处理模块接收外部发送的控制信息和密钥,向自己发送该控制信息;以及,向密码流产生装置发送参数,向总线主处理模块发送获得待处理数据对应的控制信息;总线主处理模块,用于从外部存储器获得待处理数据,以及将处理后数据写到外部存储器中;密码流产生装置,用于产生与待处理数据匹配的密码流;计算模块,用于对获得的待处理数据和密码流进行异或操作,并向总线主处理模块发送处理后数据。本发明存取数据快,加解密效率高,功耗低。

Description

数据加解密方法及***
技术领域
本发明涉及移动通信领域,尤其涉及一种数据加解密方法及***。
背景技术
无线通信***正广泛应用于语音、数据等各种类型的通信中,对所传输的数据进行加密是一种保护数据安全、防止非授权访问的有效手段。
全球移动通讯***(GSM)采用了A5/1、A5/2、A5/3加密算法对语音数据进行加密;宽带码分多址(WCDMA)通信***采用F8算法对数据进行加密。在长期演进(LTE)通信***中,为满足高速、安全的数据传输,出现了基于祖冲之(ZUC)的演进的加密算法3(EvolvedEncryption Algonthm3,EEA3)加密算法。
EEA3加密算法是祖冲之算法集之一,祖冲之算法集是由中国学者自主设计的加密和完整性算法,包括ZUC算法、加密算法128-EEA3和完整性算法128-EIA3,其中ZUC算法的名字源于我国古代数学家祖冲之,是一种流密码算法。它是另外两个算法的核心。这套算法集已经被国际组织第三代合作伙伴计划组织(3rd Generation Partnership Project,3GPP)认可为LTE无线通信的第三套国际加密和完整性标准的算法。ZUC算法由3GPP技术规范加密和完整性算法“128-EEA3&128-EIA3”的文件2“ZUC规范”描述,EEA3算法由3GPP技术规范加密和完整性算法“128-EEA3&128-EIA3”的文件1“128-EEA3和128-EIA3规范”描述。
ZUC算法核由三个逻辑层次组成,顶层是16级的线性反馈移位寄存器(LFSR),中间层是比特重组(BR),底层是非线性函数(F)。LFSR由S0~S15等16个31位寄存器组成;BR从LFSR寄存器中抽取128位组成4个32bit字,头三个字X0~X2用于F,最后一个字X3用于产生密钥流;F由2个32位寄存器R1和R2组成,输出为32位字W。
产生加密码的过程分为两部分,首先是初始化阶段,如图1所示,利用密钥(KEY)、加密参数COUNT,BEARER,DIRECTION及常数串D经过一定的变换写入LFSR的寄存器S0~S15,R1,R2寄存器初始化为0,且F的输出W移位后反馈给LFSR。以下过程重复循环执行32次:S15的高位(30-15位)和S14的低位(15-0位)重组成X0,S11的低位和S9的高位重组成X1,S7的低位和S5的高位重组成X2,S2的低位和S0的高位重组成X3;F对来自BR的X1与R1进行模32加赋给W1,对来自BR的X2与R2进行异或赋给W2;将W1的低位和W2的高位重组后先进行L1线性变换接着进行S盒变换赋给R1,将W2的低位和W1的高位重组后先进行L2线性变换接着进行S盒变换赋给R2;X0与R1异或后再与R2进行模32加赋给W,W右移1位后送到LFSR与S0,S0循环左移8位,S4循环左移20位,S10循环左移21位,S13循环左移17位,S15循环左移15位相加后模(231-1)赋给S16,将S16赋给S15,将S15赋给S14,以此类推,直到S1赋给S0,完成一次循环。
初始化阶段完成之后,ZUC加密核开始产生加密码,如图2所示。将S15的高位(30~15位)和S14的低位(15~0位)重组成X0,S11的低位和S9的高位重组成X1,S7的低位和S5的高位重组成X2,S2的低位和S0的高位重组成X3;F对来自BR的X1与R1进行模32加赋给W1,对来自BR的X2与R2进行异或赋给W2;将W1的低位和W2的高位重组后先进行L1线性变换接着进行S盒变换赋给R1,将W2的低位和W1的高位重组后先进行L2线性变换接着进行S盒变换赋给R2;X0与R1异或后再与R2进行模32加赋给W,这个值丢弃;同时S0,S0循环左移8位,S4循环左移20位,S10循环左移21位,S13循环左移17位,S15循环左移15位相加后模(231-1)赋给S16,将S16赋给S15,将S15赋给S14,以此类推,直到S1赋给S0。重复以下步骤,不断产生加密码:将S15的高位(30~15位)和S14的低位(15~0位)重组成X0,S11的低位和S9的高位重组成X1,S7的低位和S5的高位重组成X2,S2的低位和S0的高位重组成X3;F对来自BR的X1与R1进行模32加赋给W1,对来自BR的X2与R2进行异或赋给W2;将W1的低位和W2的高位重组后先进行L1线性变换接着进行S盒变换赋给R1,将W2的低位和W1的高位重组后先进行L2线性变换接着进行S盒变换赋给R2;X0与R1异或后再与R2进行模32加赋给W,将W与X3异或产生加密码;同时S0,S0循环左移8位,S4循环左移20位,S10循环左移21位,S13循环左移17位,S15循环左移15位相加后模(231-1)赋给S16,将S16赋给S15,将S15赋给S14,以此类推,直到S1赋给S0
3GPP技术规范加密和完整性算法“128-EEA3&128-EIA3”的文件1和文件2,只提出了算法原理和软件实现。而LTE通信***的数据传输速率很高,ZUC产生加密码的计算过程非常复杂,采用软件实现性能上满足不了要求。同时以上两篇文件也没有放在具体的***考虑,不能反映真实的***性能。
对数据进行加密的过程需要将待加密数据与ZUC加密核产生的密码流进行异或操作得到加密数据,如图3所示,如果需要对数据进行解密,那么将待解密数据与ZUC加密核产生的密码流进行异或操作得到原始数据。
发明内容
本发明实施例提供了一种数据加解密方法及***,以克服现有软件实现方式存在的低速、低效率问题及没有放在具体***考虑的缺陷。
本发明实施例提供了一种数据加解密***,该***包括:
总线从处理模块,用于保存来自外部的控制信息和产生密码流所需的密钥,所述控制信息包括产生密码流所需的参数、待处理数据的源地址、待处理数据的长度和处理后数据的目的地址;以及,根据有限状态机(FSM)控制模块发送的第一读取控制信号向所述FSM控制模块发送所述控制信息和根据所述FSM控制模块发送的第二读取控制信号向密码流产生装置发送所述密钥;
所述FSM控制模块,用于控制所述总线从处理模块接收外部发送的所述控制信息和所述密钥,向所述总线从处理模块发送所述第一读取控制信号和所述第二读取控制信号,接收所述总线从处理模块发送的所述控制信息;以及,向所述密码流产生装置发送所述参数和第一控制信号,向所述总线主处理模块发送所述待处理数据的源地址、待处理数据的长度、处理后数据的目的地址和第二控制信号;
总线主处理模块,用于接收所述FSM控制模块发送的所述待处理数据的源地址、待处理数据的长度、所述处理后数据的目的地址和所述第二控制信号,根据所述待处理数据的源地址、待处理数据的长度和所述第二控制信号从外部存储器获得待处理数据,根据所述目的地址和所述第二控制信号将处理后数据写到所述外部存储器中;
密码流产生装置,用于接收所述FSM控制模块发送的所述参数和第一控制信号以及所述总线从处理模块发送的所述密钥,根据所述参数、所述密钥和所述第一控制信号产生与所述待处理数据匹配的密码流;
计算模块,用于从所述总线主处理模块获得所述待处理数据,从所述密码流产生装置获得密码流,对所述待处理数据和所述密码流进行异或操作,并向所述总线主处理模块发送进行异或操作后的所述处理后数据。
优选地,所述总线从处理模块采用的是高性能总线(AHB)从接口;或者,所述总线主处理模块采用的是高级可扩展(AXI)主接口或AHB主接口。
优选地,所述总线主处理模块包括输入缓存和输出缓存;
所述总线主处理模块,具体用于:根据所述源地址、所述待处理数据的长度和所述第二控制信号从外部存储器将所述待处理数据读入所述输入缓存中;根据所述目的地址和所述第二控制信号从所述输出缓存中将所述处理后数据写到所述外部存储器中。
优选地,所述计算模块,具体用于以字节为单位分组进行异或操作,并向所述输出缓存发送异或操作后的所述处理后数据。
优选地,所述FSM控制模块,具体用于根据所述控制信息,开启对应于所述密码流产生装置、所述总线主处理模块和所述计算模块的时钟,向所述密码流产生装置发送所述参数和所述第一控制信号,向所述总线主处理模块发送所述待处理数据的源地址、所述待处理数据的长度、所述处理后数据的目的地址和所述第二控制信号。
优选地,所述FSM控制模块,还用于在所述密码流产生装置未产生密码流且所述FSM控制模块状态空闲时,关闭对应于所述密码流产生装置、所述总线主处理模块和所述计算模块的时钟。
优选地,所述FSM控制模块,还用于控制所述总线主处理模块接收外部发送的所述控制信息,向所述总线主处理模块发送第三读取控制信号,接收所述总线主处理模块根据所述第三读取控制信号发送的所述参数,以及,向所述密码流产生装置发送所述参数和第一控制信号。
优选地,所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者,所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
本发明实施例还提供了一种数据加解密方法,该方法包括:
配置产生密码流所需的参数和密钥、待处理数据的源地址、待处理数据的长度以及处理后数据的目的地址;
根据所述源地址和待处理数据的长度从外部存储器获得待处理数据;
根据所述参数和所述密钥产生与所述待处理数据匹配的密码流;
对所述待处理数据和所述密码流进行异或操作,并根据所述处理后数据的目的地址将进行异或操作后的数据发送至所述外部存储器。
优选地,所述根据所述源地址和待处理数据的长度从外部存储器获得待处理数据,包括:
根据所述源地址和待处理数据的长度将从外部存储器获得的待处理数据读入输入缓存中;
所述对所述待处理数据和所述密码流进行异或操作,并根据所述处理后数据的目的地址将进行异或操作后的数据发送至所述外部存储器,包括:
以字节为单位分组对所述待处理数据和所述密码流进行异或操作,根据所述处理后数据的目的地址将进行异或操作后的数据发送至输出缓存,再从所述输出缓存将所述数据发送至所述外部存储器。
优选地,所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者,所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
上述数据加解密方法及***,以易实现的方式解决ZUC算法产生密码流所需的复杂计算,同时解决了传统直接内存存取(DMA)方式存取数据较慢和不够灵活的问题,保证加解密的效率和匹配,同时降低了功耗。
附图说明
图1是现有ZUC初始化阶段的原理图;
图2是现有ZUC加密码产生的原理图;
图3是现有ZUC加密过程的示意图;
图4是本发明数据加解密***实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图4所示,是本发明数据加解密***实施例的结构示意图,该***包括总线从处理模块41、有限状态机(FSM)控制模块42、总线主处理模块43、密码流产生装置44和计算模块45,其中:
总线从处理模块,用于保存来自外部的控制信息和产生密码流所需的密钥,所述控制信息包括产生密码流所需的参数、待处理数据的源地址、待处理数据的长度和处理后数据的目的地址;以及,根据有限状态机(FSM)控制模块发送的第一读取控制信号向所述FSM控制模块发送所述控制信息和根据所述FSM控制模块发送的第二读取控制信号向密码流产生装置发送所述密钥;
所述FSM控制模块,用于控制所述总线从处理模块接收外部发送的所述控制信息和所述密钥,向所述总线从处理模块发送所述第一读取控制信号和所述第二读取控制信号,接收所述总线从处理模块发送的所述控制信息;以及,向所述密码流产生装置发送所述参数和第一控制信号,向所述总线主处理模块发送所述待处理数据的源地址、待处理数据的长度、处理后数据的目的地址和第二控制信号;
总线主处理模块,用于接收所述FSM控制模块发送的所述待处理数据的源地址、待处理数据的长度、所述处理后数据的目的地址和所述第二控制信号,根据所述待处理数据的源地址、待处理数据的长度和所述第二控制信号从外部存储器获得待处理数据,根据所述目的地址和所述第二控制信号将处理后数据写到所述外部存储器中;
密码流产生装置,用于接收所述FSM控制模块发送的所述参数和第一控制信号以及所述总线从处理模块发送的所述密钥,根据所述参数、所述密钥和所述第一控制信号产生与所述待处理数据匹配的密码流;
计算模块,用于从所述总线主处理模块获得所述待处理数据,从所述密码流产生装置获得密码流,对所述待处理数据和所述密码流进行异或操作,并向所述总线主处理模块发送进行异或操作后的所述处理后数据。
其中,所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者,所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
上述总线从处理模块采用的接口是AMBA2.0协议规定的AHB从接口。
上述FSM控制模块是***的控制中心,根据总线从处理模块传来的参数信息,首先打开各个模块的时钟,然后将密码流产生装置所需的参数传给密码流产生装置用于产生密码流;同时将数据的源/目的地址信息传给总线主处理模块,启动数据从外部存储器读入内部的输入缓存(buffer)。当数据读入输入buffer并且密码流已经开始产生之后,由计算模块对数据和密码流进行异或处理,完成加密或解密后写入到总线主处理模块的输出buffer里,最后输出到外部存储器。数据从外部存储器读入输入buffer可能会受到各种原因不能及时读入,输出buffer的数据也可能受各种原因不能及时写的外部存储器里,该FSM控制模块自动根据输入、输出buffer的数据空、满情况控制加密装置产生密码流的速度,保证数据跟密码流之间的顺序是匹配的。具体地,上述第一控制信号包括加密停止信号和暂停信号,上述密码流产生装置能够根据待处理数据长度,数据读出/写入效率,暂停加密码的产生,保证待处理数据和加密码的顺序是匹配的。当加密完成且加密后数据已经输出到外部存储器后,停止加密码的产生。自动关闭所有模块的时钟,以节省功耗。
上述总线主处理模块包括输入buffer和输出buffer,负责数据从外部存储器读数据到输入buffer和将数据从输出buffer写到外部存储器中。当本模块启动工作后,根据FSM控制模块过来的控制信息从外部存储器将数据读入输入buffer中,当数据没有全部读进来且输入buffer不满时就不断从外部存储器读数据;当输出buffer有一定数据量时,数据开始写到外部存储器里,直到所有数据都写完为止。
总线主处理模块采用AMBA3.0的AXI master接口,非常方便对外部存储器进行数据读写,极大提高了数据进出本装置的速度,也即提高了数据加密速度,是本***重要改进点之一。例如,在133MHz时钟下产生密码流,其吞吐率为1.42Gbps。此外,总线主处理模块不限于使用AXI主接口,还可以采用其他接口,例如AHB主接口。
需要说明的是,上述控制参数也可以由所述FSM控制模块控制所述总线主处理模块从外部接收,然后向所述总线主处理模块发送第三读取控制信号,接收所述总线主处理模块根据所述第三读取控制信号发送的所述参数,以及,向所述密码流产生装置发送所述参数和第一控制信号。
另外,上述计算模块采用多字节分组计算方法,相对于现有以比特为单位进行异或计算的方法,大大提高了加解密运算的效率。
上述***适用于LTE等***。
由此可见,上述数据加解密***采用硬件方式实现了高速数据加密,提高了产生密码流的速度;采用了总线主处理接口,高速灵活地对外部存储器读写,提高数据进出该密码流产生装置的速度;FSM控制模块根据硬件状态关闭时钟,从而降低功耗;
综上所述,上述数据加解密***,采用了一种新颖的硬件架构,提高了数据从外部存储器读写的速度和加密计算速度,进而提高***的吞吐率,采用了密码流产生控制信号,合理的协调了密码流的产生速度,提高***的适用性,采用开关时钟的方法降低了***功耗。
应用于上述数据加解密***的数据加解密方法包括:
步骤一、配置产生密码流所需的参数和密钥、待处理数据的源地址、待处理数据的长度以及处理后数据的目的地址;
步骤二、根据所述源地址和待加密数据的长度从外部存储器获得待加密数据;
该步骤可以为:根据所述源地址和待加密数据的长度将从外部存储器获得的待加密数据读入输入缓存中;
步骤三、根据所述参数和所述密钥产生与所述待处理数据匹配的密码流;
步骤四、对所述待处理数据和所述密码流进行异或操作,并根据所述处理后数据的目的地址将进行异或操作后的数据发送至所述外部存储器。
该步骤可以为:以字节为单位分组对所述待处理数据和所述密码流进行异或操作,根据所述处理后数据的目的地址将进行异或操作后的数据发送至输出缓存,再从所述输出缓存将所述数据发送至所述外部存储器。
其中,所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者,所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
下面以加密过程为例进行描述,根据所述参数和密钥与所述待加密数据匹配的密码流的产生包括两大过程:
1)初始化阶段,过程如下:
11)给LFSR的16个寄存器S0-S15预置初值,如下所示,其中||表示拼接,表示按位异或,表示模32加,SiH为30-15位,SiL为15-0位,(a1,a2,...,an)→(b1,b2,...,bn)表示a到b的赋值是并行的;
设D为240bit的常数串,由16个15bit的子串组成:
D=d0||d1||...||d15,
其中,
d0=1000100110101112
d1=0100110101111002
d2=1100010011010112
d3=0010011010111102
d4=1010111100010012
d5=0110101111000102
d6=1110001001101012
d7=0001001101011112
d8=1001101011110002
d9=0101111000100112
d10=1101011110001002
d11=0011010111100012
d12=1011110001001102
d13=0111100010011012
d14=1111000100110102
d15=1000111101011002.
当0≤i≤15时,Si=ki||di||ivi.ki和ivi是以字节为单位。
IV[0]=COUNT[0],IV[1]=COUNT[1],
IV[2]=COUNT[2],IV[3]=COUNT[3],
IV[4]=BEARER||DIRECTION||002
IV[5]=IV[6]=IV[7]=000000002
IV[8]=IV[0],IV[9]=IV[1],
IV[10]=IV[2],IV[11]=IV[3],
IV[12]=IV[4],IV[13]=IV[5],
IV[14]=IV[6],IV[15]=IV[7];
12)R1,R2赋初值为0;
13)以下过程重复32次:
首先抽取LFSR中的寄存器比特重组为X0-X3
X0=S15H||S14L
X1=S11L||S9H
X2=S7L||S5H
X3=S2L||S0H.
接着将X0-X3送入F进行处理:
R1=S(L1(W1L||W2H));
R2=S(L2(W2L||W1H));
其中,S表示S盒变换,功能是将32比特的输入通过查找表S0或S1变换为32比特的输出;L1,L2是一种线性变换,将32比特的输入线性变换成32比特的输出:
最后F产生的W送到LFSR初始化阶段,进行寄存器的更新:
v=215S15+217S13+221S10+220S4+(1+28)S0mod(231-1);
S16=(v+u)mod(231-1);
如果S16=0,那么S16=231-1;
(S1,S2,...,S15,S16)→(S0,S1,...,S14,S15).
2)初始化完成之后,开始产生密码流。过程如下:
21)抽取LFSR中的寄存器比特重组为X0-X3
X0=S15H||S14L
X1=S11L||S9H
X2=S7L||S5H
X3=S2L||S0H
22)将X0-X3送入F进行处理,第一次运行丢弃W进入24),以后每次运行保留W送到23);
R1=S(L1(W1L||W2H));
R2=S(L2(W2L||W1H));
其中S表示S盒变换,功能是将32比特的输入通过查找表S0或S1变换为32比特的输出;L1,L2是一种线性变换,将32比特的输入线性变换成32比特的输出:
23)LFSR密码流产生;
24)LRSR密码流产生阶段下寄存器更新;
S16=215S15+217S13+221S10+220S4+(1+28)S0mod(231-1);
如果S16=0,那么S16=231-1;
(S1,S2,...,S15,S16)→(S0,S1,...,S14,S15)
重复以上步骤21)、22)、23)、24),每次都产生32bit的密码流。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

Claims (11)

1.一种数据加解密***,其特征在于,该***包括:
总线从处理模块,用于保存来自外部的控制信息和产生祖冲之(ZUC)密码流所需的密钥,所述控制信息包括产生ZUC密码流所需的参数、待处理数据的源地址、待处理数据的长度和处理后数据的目的地址;以及,根据有限状态机(FSM)控制模块发送的第一读取控制信号向所述FSM控制模块发送所述控制信息和根据所述FSM控制模块发送的第二读取控制信号向密码流产生装置发送所述密钥;
所述FSM控制模块,用于控制所述总线从处理模块接收外部发送的所述控制信息和所述密钥,向所述总线从处理模块发送所述第一读取控制信号和所述第二读取控制信号,接收所述总线从处理模块发送的所述控制信息;以及,向所述密码流产生装置发送所述参数和第一控制信号,向所述总线主处理模块发送所述待处理数据的源地址、待处理数据的长度、处理后数据的目的地址和第二控制信号;
总线主处理模块,用于接收所述FSM控制模块发送的所述待处理数据的源地址、待处理数据的长度、所述处理后数据的目的地址和所述第二控制信号,根据所述待处理数据的源地址、待处理数据的长度和所述第二控制信号从外部存储器获得待处理数据,根据所述目的地址和所述第二控制信号将处理后数据写到所述外部存储器中;
密码流产生装置,用于接收所述FSM控制模块发送的所述参数和第一控制信号以及所述总线从处理模块发送的所述密钥,根据所述参数、所述密钥和所述第一控制信号产生与所述待处理数据匹配的ZUC密码流;
计算模块,用于从所述总线主处理模块获得所述待处理数据,从所述密码流产生装置获得ZUC密码流,对所述待处理数据和所述ZUC密码流进行异或操作,并向所述总线主处理模块发送进行异或操作后的所述处理后数据。
2.根据权利要求1所述的***,其特征在于:
所述总线从处理模块采用的是高性能总线(AHB)从接口;或者
所述总线主处理模块采用的是高级可扩展(AXI)主接口或AHB主接口。
3.根据权利要求1所述的***,其特征在于:
所述总线主处理模块包括输入缓存和输出缓存;
所述总线主处理模块,具体用于:根据所述源地址、所述待处理数据的长度和所述第二控制信号从外部存储器将所述待处理数据读入所述输入缓存中;根据所述目的地址和所述第二控制信号从所述输出缓存中将所述处理后数据写到所述外部存储器中。
4.根据权利要求3所述的***,其特征在于:
所述计算模块,具体用于以字节为单位分组进行异或操作,并向所述输出缓存发送异或操作后的所述处理后数据。
5.根据权利要求3所述的***,其特征在于:
所述FSM控制模块,具体用于根据所述控制信息,开启对应于所述密码流产生装置、所述总线主处理模块和所述计算模块的时钟,向所述密码流产生装置发送所述参数和所述第一控制信号,向所述总线主处理模块发送所述待处理数据的源地址、所述待处理数据的长度、所述处理后数据的目的地址和所述第二控制信号。
6.根据权利要求5所述的***,其特征在于:
所述FSM控制模块,还用于在所述密码流产生装置未产生ZUC密码流且所述FSM控制模块状态空闲时,关闭对应于所述密码流产生装置、所述总线主处理模块和所述计算模块的时钟。
7.根据权利要求1所述的***,其特征在于:
所述FSM控制模块,还用于控制所述总线主处理模块接收外部发送的所述控制信息,向所述总线主处理模块发送第三读取控制信号,接收所述总线主处理模块根据所述第三读取控制信号发送的所述参数,以及,向所述密码流产生装置发送所述参数和第一控制信号。
8.根据权利要求1-7任一权利要求所述的***,其特征在于:
所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者
所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
9.一种数据加解密方法,其特征在于,该方法包括:
配置产生ZUC密码流所需的参数和密钥、待处理数据的源地址、待处理数据的长度以及处理后数据的目的地址;
根据所述源地址和待处理数据的长度从外部存储器获得待处理数据;
根据所述参数和所述密钥产生与所述待处理数据匹配的ZUC密码流;
对所述待处理数据和所述ZUC密码流进行异或操作,并根据所述处理后数据的目的地址将进行异或操作后的数据发送至所述外部存储器。
10.根据权利要求9所述的方法,其特征在于:
所述根据所述源地址和待处理数据的长度从外部存储器获得待处理数据,包括:
根据所述源地址和待处理数据的长度将从外部存储器获得的待处理数据读入输入缓存中;
所述对所述待处理数据和所述ZUC密码流进行异或操作,并根据所述处理后数据的目的地址将进行异或操作后的数据发送至所述外部存储器,包括:
以字节为单位分组对所述待处理数据和所述ZUC密码流进行异或操作,根据所述处理后数据的目的地址将进行异或操作后的数据发送至输出缓存,再从所述输出缓存将所述数据发送至所述外部存储器。
11.根据权利要求9或10所述的方法,其特征在于:
所述待处理数据为待加密数据,所述处理后数据为加密后数据,所述参数为加密参数,所述密钥为加密密钥;或者
所述待处理数据为待解密数据,所述处理后数据为解密后数据,所述参数为解密参数,所述密钥为解密密钥。
CN201210202675.5A 2012-06-19 2012-06-19 数据加解密方法及*** Active CN103517269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210202675.5A CN103517269B (zh) 2012-06-19 2012-06-19 数据加解密方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210202675.5A CN103517269B (zh) 2012-06-19 2012-06-19 数据加解密方法及***

Publications (2)

Publication Number Publication Date
CN103517269A CN103517269A (zh) 2014-01-15
CN103517269B true CN103517269B (zh) 2017-12-29

Family

ID=49899124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210202675.5A Active CN103517269B (zh) 2012-06-19 2012-06-19 数据加解密方法及***

Country Status (1)

Country Link
CN (1) CN103517269B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472602A (zh) * 2014-08-19 2016-04-06 深圳市中兴微电子技术有限公司 一种加密装置及加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1531240A (zh) * 2003-01-24 2004-09-22 三星电子株式会社 支持多个模式的加密装置
CN1604641A (zh) * 2004-11-04 2005-04-06 上海交通大学 适用于影视节目内容数据的加密/解密方法
CN101090312A (zh) * 2007-05-24 2007-12-19 华中科技大学 一种改进的语音编码流加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101201622B1 (ko) * 2010-08-19 2012-11-14 삼성에스디에스 주식회사 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1531240A (zh) * 2003-01-24 2004-09-22 三星电子株式会社 支持多个模式的加密装置
CN1604641A (zh) * 2004-11-04 2005-04-06 上海交通大学 适用于影视节目内容数据的加密/解密方法
CN101090312A (zh) * 2007-05-24 2007-12-19 华中科技大学 一种改进的语音编码流加密方法

Also Published As

Publication number Publication date
CN103517269A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
US8671254B2 (en) Processes, circuits, devices, and systems for concurrent dual memory access in encryption and decryption
CN107103472B (zh) 一种用于区块链的算法处理模块
CN104391813B (zh) 一种嵌入式数据安全***用soc芯片
CN112329038B (zh) 一种基于usb接口的数据加密控制***及芯片
CN101478392B (zh) 利用vlsi实现128位密钥长度aes算法的装置
EP3803672B1 (en) Memory-efficient hardware cryptographic engine
CN101540191B (zh) 实时加密u盘及高速加解密方法
CN105049194A (zh) 一种流水线结构的sm4算法实现***
CN109447225A (zh) 一种高速安全加密Micro SD卡
CN106228088A (zh) 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN104182696A (zh) 一种基于Avalon接口的AES算法IP核的设计方法
CN104391770A (zh) 一种嵌入式数据安全***用soc芯片的在线调试及上位机通讯模块
CN105472602A (zh) 一种加密装置及加密方法
CN102411683B (zh) 一种适用于嵌入式***的基于高速缓存的aes加速器
CN103517269B (zh) 数据加解密方法及***
CN103336920A (zh) 用于无线传感网络soc芯片的安全***
CN112217646B (zh) 用于实现sm3密码杂凑算法的装置及方法
CN103077362B (zh) 具有安全机制的gpio ip核
CN104657288B (zh) 一种spi flash加密接口及加密数据的读写方法
CN208861323U (zh) 一种高速安全加密Micro SD卡
CN209642682U (zh) Fpga的加解密装置
CN105721139B (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN101482909B (zh) 加密算法模块加速器及其数据高速加解密方法
CN103338447B (zh) 一种应用于短距离传输的自存取加解密电路
US10326587B2 (en) Ultra-lightweight cryptography accelerator system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150930

Address after: Dameisha Yantian District of Shenzhen City, Guangdong province 518085 Building No. 1

Applicant after: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corporation

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140115

Assignee: Xi'an Chris Semiconductor Technology Co. Ltd.

Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Contract record no.: 2019440020036

Denomination of invention: Data encryption and decryption method and system

Granted publication date: 20171229

License type: Common License

Record date: 20190619

EE01 Entry into force of recordation of patent licensing contract