CN101114903A - 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法 - Google Patents

一种吉比特无源光网络***中高级加密标准加密装置及其实现方法 Download PDF

Info

Publication number
CN101114903A
CN101114903A CNA2007101304023A CN200710130402A CN101114903A CN 101114903 A CN101114903 A CN 101114903A CN A2007101304023 A CNA2007101304023 A CN A2007101304023A CN 200710130402 A CN200710130402 A CN 200710130402A CN 101114903 A CN101114903 A CN 101114903A
Authority
CN
China
Prior art keywords
module
data
key
counter value
encrypted
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
Application number
CNA2007101304023A
Other languages
English (en)
Other versions
CN101114903B (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.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2007101304023A priority Critical patent/CN101114903B/zh
Publication of CN101114903A publication Critical patent/CN101114903A/zh
Application granted granted Critical
Publication of CN101114903B publication Critical patent/CN101114903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种吉比特无源光网络***中高级加密标准加密装置,包括:写数据缓冲区模块,缓存需要加密的明文数据;加密信息缓存模块,缓存需要加密明文的帧长度,初始计数器值以及初始密钥;AES处理模块,完成数据加密;读数据缓冲区模块,将加密后的密文数据进行缓存;加密调度模块,从加密信息缓存模块读取并缓存密钥和帧长、产生计数器值流、对AES处理模块进行调度以及将计数器值、密钥、明文数据处理后输入AES处理模块,并将加密后的数据送入读数据缓冲区模块。本发明还公开了该加密装置的实现方法。本发明解决了现有技术无法适应如GPON等高速***中较高加密带宽和***频率的需求,同时满足GPON***中固定加密时延的要求。

Description

一种吉比特无源光网络***中高级加密标准加密装置及其实现方法
技术领域
本发明涉及通讯领域,尤其涉及一种吉比特无源光网络***中高级加密标准加密装置及其实现方法。
背景技术
自2001年AES算法标准化以来,世界上许多研究机构提出了多种AES算法的硬件实现方式,但是目前还没有一种方式在保证一定逻辑规模的条件下具备较高的加密带宽,并且它们提供的接口也难以与GPON芯片的实际情况相结合,因此无法满足GPON芯片的实际需求。
采用AES算法加密是为了满足GPON***对于安全性和可靠性的需求。由于普通的AES算法实现复杂,耗用逻辑规模巨大,因此采取一种好的实现方式对控制芯片逻辑规模有着非常重要的意义。
在现有的实现方法中,都是采用在固定时钟周期内(如22个时钟周期)完成固定数据长度(如128bits)的加密,单个加密模块很难达到较高的加密带宽,如果采用多个加密模块又会耗费大量的资源,不适用于在GPON等对加密带宽有更高需求的高速***中实现。
发明内容
本发明要解决的技术问题就是提供一种吉比特无源光网络***中高级加密标准加密装置及其实现方法,克服了现有技术中加密带宽不足以及逻辑资源耗用过多的缺点,解决现有技术中存在的无法适应如GPON等高速***中较高加密带宽和***频率的需求,同时满足GPON***中固定加密时延的要求。
为了解决上述技术问题,本发明提供一种吉比特无源光网络***中高级加密标准加密装置,包括:
写数据缓冲区模块W-FIFOs,用于缓存需要加密的明文数据;
加密信息缓存模块,用于缓存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;
高级加密标准AES处理模块,用于完成数据加密;
读数据缓冲区模块R-FIFOs,用于将加密后的密文数据进行缓存;
加密调度模块,用于从加密信息缓存模块读取并缓存密钥和帧长、产生计数器值流、对AES处理模块进行调度以及从写数据缓冲区模块读取明文数据,将计数器值、密钥、明文数据处理后输入AES处理模块,并将AES处理模块输出的加密后的数据送入读数据缓冲区模块。
进一步地,所述写数据缓冲区模块包括:
至少两个写先进先出电路,用于存储写入的明文数据;
写指针计数器,用于轮流指示写先进先出电路;
移位使能控制电路,用于根据写指针计数器的值,通过移位轮流使能写先进先出电路,当写先进先出电路为使能状态,则可以将明文数据写入该写先进先出电路中。
进一步地,所述写数据缓冲区模块的写先进先出电路为4个,每个位宽为32。
进一步地,所述加密信息缓存模块缓存两帧信息,使用两级D触发器实现。
进一步地,所述加密调度模块包括:
密钥帧长信息存储模块,用于存储从加密信息缓存模块读取出来的帧长以及当前被加密帧的密钥;
调度模块,用于接收、发送控制信号,并读取密钥、帧长信息存储模块缓存的帧长以及当前被加密帧的密钥,发送给AES处理模块,并控制计数器生成模块生成计数器值;
计数器生成模块,用于从加密信息缓存模块读出初始计数器值,生成计数器值,发送给AES处理模块。
进一步地,所述AES处理模块至少2个,每个AES处理模块均包括:
第一异或模块,用于对输入的密钥和计数器值进行异或;
第一D触发器,用于锁存第一异或模块的输出结果;
第一选择器,用于在第1轮加密运算时选择第一D触发器的输出作为输入值,在后面9轮的运算中,选择第三D触发器的输出作为输入值;
第二D触发器,用于锁存第一选择器模块的输出结果;
字节变换和行移位模块,用于对接收到的数据进行字节变换和行移位操作;
列混合运算模块,用于对接收到的数据进行列混合运算;
第二选择器,用于在前9轮运算选择列混合运算模块的输出作为输入值,在最后1轮运算中,将字节变换和行移位模块的输出作为输入值;
密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;
第二异或模块用于第二选择器的输出和密钥扩展模块的输出进行异或;
第三D触发器,用于锁存第二异或模块的输出结果;
第三异或模块,用于对加密后计数器值和明文数据进行异或;
第四D触发器,用于锁存第三异或模块的输出结果。
进一步地,所述密钥扩展模块中取轮常数表使用初值分别为10′h001和10′h06c的两个移位寄存器,通过用轮数计数器选通这两个移位寄存器,在轮数计数器的控制下循环左移,产生轮常数表相应列。
进一步地,所述读数据缓冲区模块包括:
至少两个读先进先出电路,用于存储写入加密后的密文数据;
读指针计数器,用于轮流指示读先进先出电路;
移位使能控制电路,用于根据读指针计数器的值,通过移位轮流使能读先进先出电路,当读先进先出电路为使能状态,则可以将密文数据读出;当数据被读空时,读数据缓冲区模块输出读先进先出空信号,暂停读出数据。
进一步地,所述读数据缓冲区模块的读先进先出电路为4个,每个位宽为32。
为了解决上述技术问题,本发明还提供了一种吉比特无源光网络***中高级加密标准加密装置的实现方法,包括如下步骤:
(1)写数据缓冲区模块接收并缓存待加密的明文数据,加密信息缓存模块缓存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;
(2)加密调度模块提取加密信息缓存模块中的帧长、初始密钥、初始计数器值,从写数据缓冲区模块读取明文数据,根据初始计数器值生成加密需要的计数器值,根据帧长,将密钥、计数器值以及明文数据送入AES处理模块进行加密;
(3)加密调度模块将加密后的密文送入读数据缓冲区模块进行缓存。
进一步地,所述步骤(1)中写数据缓冲区模块接收并缓存待加密的明文数据,包括:
当写数据缓冲区模块收到写使能信号,则轮流使能写数据缓冲区模块中的写先进先出电路,轮流将待加密的明文数据写入写先进先出电路。
进一步地,所述步骤(2)包括如下步骤:
(a)加密调度模块从加密信息缓存模块提取帧长、初始密钥、初始计数器值;
(b)加密调度模块根据帧长计算需要加密的块数,产生相应的加密使能信号;
(c)加密调度模块将初始密钥、初始计数器值送入AES处理模块,AES处理模块对密钥和计数器值进行加密;
(d)加密调度模块将明文数据送入AES处理模块,与加密后的计数器值进行异或,得到加密后的密文。
进一步地,加密调度模块将密钥、计数器值分成多个128位的块,形成多组128×2的密钥和计数器值。
进一步地,所述计数器值包括帧内计数器值、帧间计数器值,加密调度模块将16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼接成138位宽,去掉高10位,剩下的128位作为计数器值。
进一步地,加密调度模块对同一帧数据,使用密钥相同,每加密128位,帧内计数器值加定长1,不需进位。
进一步地,所述步骤(c)中,AES处理模块还根据初始密钥生成新的密钥:通过取轮常数表相应列与上一次密钥异或,得到当前密钥。
进一步地,所述步骤(3)执行之后,若所述读数据缓冲区模块收到读使能信号,则读数据缓冲区模块的读先进先出电路轮流依次将数据送出,当数据被读空时,读数据缓冲区模块输出读先进先出空信号,暂停读出数据。
采用本发明所述方法,能保证下行加密带宽2.4Gbits/s,耗用3146个ALUT,仅占用2194个寄存器,与现有技术相比,达到了GPON***要求的加密效果,获得了更高的加密带宽,节省了逻辑资源,提高了***工作频率。
附图说明
图1是AES算法计数器模式的原理;
图2是计数器模式下的AES算法计算步骤;
图3是本发明实施例结构框图;
图4是本发明实施例的写数据缓冲区模块结构框图;
图5是本发明实施例的写数据缓冲区模块相关时序;
图6是本发明实施例的加密调度模块结构框图;
图7是本发明实施例的加密调度模块的关键信号时序;
图8是本发明实施例的AES处理模块结构框图;
图9是本发明实施例的AES处理模块的关键信号时序;
图10是本发明实施例的读数据缓冲区模块结构框图。
具体实施方式
本发明实施例结合了GPON***的应用背景,在加密过程中引入两级流水,一次可加密两个128位数据,同GPON***最短帧长32字节相匹配,同时充分利用流水线长度,并复用两个加密电路,同时作业,提高加密带宽,满足***需求,另外在AES加密算法的密钥扩展模块,通过设计10′h001及10′h06c两个移位寄存器来实现Rcon(轮常数表)的功能,节省了逻辑资源。实现方法如下:
a)输入数据缓存的实现。写数据缓冲区模块用于缓存输入帧数据。***下行帧速率峰值为4Gbits/s,而加密调度模块的最大处理带宽为3.2Gbits/s彼此的速率均不匹配,因此需要设置缓冲区对数据流进行平滑,这里采用4个位宽32bits的FIFO(先进先出电路)进行缓存,同时完成输入帧数据32bit位宽到加密明文数据128bits位宽的拼接,提高加密位宽。
b)加密信息缓存的实现。加密信息缓存模块以帧为单位缓存每一帧的帧长度,初始计数器值以及初始密钥。因为只需要缓存两帧信息,所以采用两级D触发器缓存,用D触发器实现可以节省缓存信息的读出时间,节省资源。也可以用RAM来缓存,RAM比较适合用于大量信息的缓存。
c)加密调度的实现。加密调度模块是设计关键,它负责读取并缓存密钥和帧长、产生计数器值流、完成对两个AES处理模块的调度以及读取明文数据送入AES处理模块,并将AES处理模块加密的密文送入输出缓存。在新的待加密帧到来的时候,首先提取帧长、初始密钥、初始计数器值的信息,再根据需要加密的明文数据的帧长度产生加密使能信号,同时将密钥、计数器值一起送到AES处理模块进行加密。从加密调度模块出去的数据就没有了帧的概念,而是多组128×2的计数器值。为了充分利用流水,在加密电路进行最后一轮的时候立即送入新的一组256位数据,开始下一组加密运算。
d)AES加密的实现。AES处理模块在加密调度模块的控制下引入两级流水,根据***提供的初始计数器值和初始密钥完成数据加密的过程。加密过程需要分成10轮循环来进行,每轮循环包括字节替换、换行操作、列变换、密钥异或等过程,其中最后一轮没有列变换的操作。每一轮的密钥都不同,都是在上一轮的密钥的基础上作密钥扩展得到新的密钥。加密后的计数器值与明文数据异或后得到的加密后的数据。
e)输出数据缓存的实现。读数据缓冲区模块将加密后的数据进行缓存,等待调用。采用4个位宽32bit的FIFO进行缓存,同时完成加密后数据128bit位宽到输出帧数据32bit位宽的转换,返回可靠的加密结果。
下面结合附图对本发明作进一步的详细描述:
AES算法有5种工作模式:电子密码本、密码分组链、密码反馈、输出反馈及计数器模式。GPON采用的是适合高速网络的计数器模式,通过这种方式可以很容易的产生随机密码流,更加难以被破译,本实施例采用计数器模式下128位AES算法实现。
AES算法计数器模式的原理如图1所示。
K是密钥,ctr0-ctrn是计数器值;P0-Pn是加密前的明文,每个明文都是128位,在本例中,n是128,计数器的值、密钥、明文、密文都是1位对应1位;C0-Cn是加密后的密文。在计数器模式下,进行AES加密的并不是明文,而是计数器的值。密文由计数器加密后的值与明文相异或而产生。
计数器模式下的AES算法计算步骤如图2所示。
初始化时只进行密钥加运算,也就是将计数器值与密钥相异或。第1轮到第9轮,以上一轮密钥加的结果为基础,进行字节变换→行移位→列混合运算→扩展密钥加操作。最后一轮与前面9轮略有不同,没有列混合运算操作,只有字节变换→行移位→扩展密钥加操作。在前面的步骤完成(也即对计数器值的加密完成)后,再将加密后的计数器值与对应的明文异或,得到密文输出。
如图3所示,本实施例的AES加密装置包括写数据缓冲区模块W-FIFOs、加密信息缓存模块、读数据缓冲区模块R-FIFOs加密调度模块与两个AES处理模块即AES处理模块a和AES处理模块b。待加密数据先在加密装置的W-FIFOs中缓存,每一帧的帧长度、初始计数器值以及初始密钥在加密信息缓存模块中缓存,然后由加密调度模块将待加密数据、计数器值以及初始密钥送入AES处理模块a或者AES处理模块b进行加密处理,在处理完后再放入读数据缓冲区模块R-FIFOs等待下级模块读取加密后数据。
如图4所示,写数据缓冲区模块W_FIFOs主要由4个位宽为32、深度为16的先进先出电路FIFO(写先进先出电路W_FIFO1~W_FIFO4)及写指针计数器、移位使能控制电路组成。在写入端为配合32位的数据总线每次写入32位的数据,四个FIFO轮流写入;在读出端由于AES的加密处理位宽为128,每次同时读出128位的数据。
下面描述写入端的相关控制:四个FIFO是轮回操作的,在一帧处理完后下一帧的应该从第一个FIFO开始写入,而上级模块的写信号可能因此写缓冲区即将满而暂停写入,此时需要采用写指针保护而非写指针复位。为了解决这个问题,采用了移位控制的方法实现数据选择写入的功能:移位使能控制电路中的移位寄存器的移位使能shift_reg标志的4位分别对应四个FIFO的写使能信号,在上级模块写使能有效期间,通过移位实现对不同FIFO的轮回操作;对数据通道则不用做处理,直接连至各FIFO即可。在一帧数据处理完时,shift_reg复位;如果是在一帧过程中中断,只是暂停移位,待上级模块恢复写操作时,再接着原来的FIFO位置继续写入新数据。
相关时序如图5所示,其中:
clk1:表示***时钟;
wren、data_in:表示上级模块的写使能和写数据;
wfifo_1_wren、wfifo_2_wren、wfifo_3_wren、wfifo_4_wren:表示4个FIFO的写使能;
shift_reg:表示移位寄存器的移位使能标志;
cnt_clr:表示移位寄存器的复位信号;
data_cnt:表示写FIFO数据的计数器的值;
data_length:表示上级模块写入的数据长度。
具体操作如下:当上级模块需要写数据时,发出wren使能信号,并将写入的数据data_in和数据长度data_length同时给出,写数据缓冲区模块根据移位使能标志的值的不同分别将4个FIFO的写使能置1,当完成该轮的写操作后,给出移位寄存器的复位信号cnt_clr,将移位寄存器清0,准备下次写数据操作。
加密调度模块负责读取并缓存密钥和帧长、响应上级模块、产生计数器值流以及对两个AES处理模块的调度。如图6所示,加密调度模块包括密钥帧长信息存储模块、调度模块、计数器生成模块。密钥、帧长信息存储模块用来存储从加密信息缓存模块读取出来的帧长以及当前被加密帧的密钥。计数器生成模块用于从加密信息缓存模块读出初始计数器值,生成相应的计数器值,发送给AES处理模块。调度模块用于接收、发送控制信号,并读取密钥、帧长信息存储模块缓存的帧长以及当前被加密帧的密钥,发送给AES处理模块,并控制计数器生成模块生成计数器值。
加密调度模块在新的加密帧到来的时候,首先从加密信息缓存模块提取帧长、初始密钥、初始帧内计数器值、初始帧间计数器值,因为AES加密是根据块进行的,所以加密调度模块需要根据帧长计算需要多少块,然后产生相应的加密使能信号,同时,将密钥、计数器值一起送到AES处理模块进行加密。从加密调度模块出去的加密信号就没有了帧的概念,而是把一个长帧切分成多个128bits的块,形成多组128×2的密钥和计数器值。送入计数器生成模块的计数器值位宽128,是由16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼接成138位宽,去掉高10位,剩下的128位就是计数器值。加密模块加密的是计数器的值,由于加密周期长度固定(22个时钟周期),所以可以预知加密后的计数器值在什么时刻有效,可以提前将输入数据缓存模块中的明文读出,与加密后的计数器值异或后,送给输出数据缓存模块保存。
调度遵从以下方法:
a)同一帧数据的密钥相同,每加密128位,帧内计数器值加定长1;
b)加密使能encrypt_reqa、encrypt_reqb(加密使能信号a,加密使能信号b)的间隔至少2个时钟周期;
c)如果AES处理模块a和b都空闲,优先调用模块a;
d)对于帧内计数器值加定长1的时候,不考虑进位。
加密调度模块的关键信号时序如图7所示,其中,
clk:表示***时钟;
encrypt_req:表示加密信息请求信号;
encrypt_reqa:表示AES处理模块a的加密请求信号;
encrypt_reqb:表示AES处理模块b的加密请求信号;
aes_ready_a:表示AES处理模块a空闲信号;
aes_ready_b:表示AES模块b空闲信号;
cnt_in_a:表示送给AES模块a的帧内计数器的值;
cnt_in_b:表示送给AES模块b的帧内计数器的值;
frame_length:表示加密数据帧的长度;
frame_l_cnt:表示加密数据数据计数器。
当有数据帧需要加密时发出加密信息请求信号encrypt_req,加密调度模块从加密信息缓存模块中取出待加密帧的帧长度、初始计数器值和初始密钥等信息。初始计数器值包括帧间计数器和帧内计数器,计数器生成模块根据这两个计数器的值,产生用于加密算法的计数器值。调度模块根据AES模块的空闲信号给出加密请求信号encrypt_reqa或者encrypt_reqb,同时给出帧内计数器的值cnt_in_a,每加密一块128bits的数据frame_l_cnt加4,帧内计数器的值cnt_in_a的值加1,直到加密数据完成。
由于一个AES电路提供的加密带宽只有1.6Gbits/s,因此本实施例使用了两个完全相同的AES处理模块处理以达到3.2Gbits/s的处理带宽。每个AES电路的结构如图8所示。
AES处理模块主要包括4个D触发器(DFF1~DFF4),2个选择器,3个异或模块,以及字节变换和行移位模块、列混合运算模块、密钥扩展模块。
其中,
第一异或模块,用于对输入的密钥和计数器值进行异或;
第一D触发器,用于锁存第一异或模块的输出结果;
第一选择器,用于在第1轮加密运算时选择第一D触发器的输出作为输入值,在后面9轮的运算中,选择第三D触发器的输出作为输入值;
第二D触发器,用于锁存第一选择器模块的输出结果;
字节变换和行移位模块,用于对接收到的数据进行字节变换和行移位操作;
列混合运算模块,用于对接收到的数据进行列混合运算;
第二选择器,用于在前9轮运算选择列混合运算模块的输出作为输入值,在最后1轮运算中,将字节变换和行移位模块的输出作为输入值;
密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;
第二异或模块用于第二选择器的输出和密钥扩展模块的输出进行异或;
第三D触发器,用于锁存第二异或模块的输出结果;
第三异或模块,用于对加密后计数器值和明文数据进行异或;
第四D触发器,用于锁存第三异或模块的输出结果。
AES处理模块的启动由加密调度模块输出的加密使能信号encrypt_reqa和encrypt_reqb控制。在AES处理模块启动后,两个128位的计数器值依次进入AES处理模块,先与初始密钥异或完成Initial Round(第一轮)运算,之后进行10轮的迭代运算,最后再与明文异或得到密文输出。每次一个AES处理模块输出密文,该模块就连续两个时钟分别接收128bits的数据,从图中可以看出来,1-9轮的循环是在DFF2(D触发器2)和DFF3(D触发器3)分界的,即流水线设在了DFF2和DFF3。
AES处理模块的关键信号时序如图9所示。在加密调度模块将加密请求encrpty_req信号置高后,AES处理模块将AES准备好aes_ready信号拉低表示本模块暂时不能接受新的数据,同时AES处理模块开始启动计数器aes_cnt。在加密操作完成后,该模块将数据写入读缓冲区、把aes_cnt置0,拉高aes_ready表示可以处理新的数据。由于在启动之后每个时刻处理什么数据都是已知的,所以可用aes_cnt产生相关的控制信号:选择器mux1在aes_cnt为1及2时选择DFF1的输出作为DFF2的输入,其它时候选择DFF3的输出作为DFF2的输入;选择器mux2在aes_cnt为20时选择字节变换和行移位模块的sub_bytes&shift_rows操作的输出,其它时候选择列混合运算模块的mix_column的输出参与异或运算;在aes_cnt为21及22的时候发写缓冲的读使能信号;在aes_cnt为21的时候将aes_ready信号拉高表明可以接收新的加密数据。
密钥扩展模块负责实现密钥的扩展,产生每轮迭代运算所需要的密钥。该模块的启动也由encrypt_req信号控制,在该信号到来时,模块启动,读入初始密钥,并根据AES处理模块两级流水的特点,每两个时钟周期更新一次密钥。密钥扩展模块设计的要点是Rcon的实现。Rcon其实是一张如下表所示的表,每一轮密钥扩展时取出相应列(第一轮取第一列,第二轮取第二列,以此类推)参与异或运算(跟上一次的密钥进行异或,产生下一次密钥)。由于Rcon的值固定,所以传统AES实现都是将其固化到ROM中。通过观察Rcon的结构,除第一列元素外,其余元素都是0,而第一行元素前八个之间与后两个之间有移位关系,因此可以通过移位寄存器再加简单的控制信号实现:分别定义两个移位寄存器用于产生前八个数据及后两个数据,它们的初值分别为10′h001及10′h06c,在轮数计数器的控制下实现循环左移,同时用轮数计数器选通这两个移位寄存器。这样就可以通过较少的逻辑资源实现了Rcon的功能。
Rcon结构表
  01   02   04   08   10   20   40   80   1b   36
  00   00   00   00   00   00   00   00   00   00
  00   00   00   00   00   00   00   00   00   00
  00   00   00   00   00   00   00   00   00   00
与写数据缓冲区模块类似的,读数据缓冲区模块R_FIFOs也主要由4个位宽为32、深度为16的FIFO及读指针计数器、移位使能控制电路组成。数据在经过AES电路加密完之后并行写入读缓冲区;在下行模块发送读使能信号后,由读指针计数器控制移位使能信号的产生,使之能顺序地将数据读出。其电路结构如图10所示。为了避免过高的突发读速率,设置了读fifo空信号r_fifo_aempty信号,当缓冲区快被读空时,通过该信号告诉下级模块暂停读数据。读缓冲区设计的难点也在于对读出端的控制,其时序与写缓冲区时序原理相似。
本发明用一些设计技巧控制电路的逻辑规模,使得加密电路工作频率高达125MHz,下行加密带宽2.4Gbits/s,完全符合GPON***接口标准,克服了现有技术中加密带宽不足、逻辑资源耗用过多等缺点,适合在GPON等高速***中应用。

Claims (17)

1.一种吉比特无源光网络***中高级加密标准加密装置,其特征在于,包括:
写数据缓冲区模块W-FIFOs,用于缓存需要加密的明文数据;
加密信息缓存模块,用于缓存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;
高级加密标准AES处理模块,用于完成数据加密;
读数据缓冲区模块R-FIFOs,用于将加密后的密文数据进行缓存;
加密调度模块,用于从加密信息缓存模块读取并缓存密钥和帧长、产生计数器值流、对AES处理模块进行调度以及从写数据缓冲区模块读取明文数据,将计数器值、密钥、明文数据处理后输入AES处理模块,并将AES处理模块输出的加密后的数据送入读数据缓冲区模块。
2.根据权利要求1所述的加密装置,其特征在于,所述写数据缓冲区模块包括:
至少两个写先进先出电路,用于存储写入的明文数据;
写指针计数器,用于轮流指示写先进先出电路;
移位使能控制电路,用于根据写指针计数器的值,通过移位轮流使能写先进先出电路,当写先进先出电路为使能状态,则可以将明文数据写入该写先进先出电路中。
3.根据权利要求2所述的加密装置,其特征在于,所述写数据缓冲区模块的写先进先出电路为4个,每个位宽为32。
4.根据权利要求1所述的加密装置,其特征在于,所述加密信息缓存模块缓存两帧信息,使用两级D触发器实现。
5.根据权利要求1所述的加密装置,其特征在于,所述AES处理模块至少2个,每个AES处理模块均包括:
第一异或模块,用于对输入的密钥和计数器值进行异或;
第一D触发器,用于锁存第一异或模块的输出结果;
第一选择器,用于在第1轮加密运算时选择第一D触发器的输出作为输入值,在后面9轮的运算中,选择第三D触发器的输出作为输入值;
第二D触发器,用于锁存第一选择器模块的输出结果;
字节变换和行移位模块,用于对接收到的数据进行字节变换和行移位操作;
列混合运算模块,用于对接收到的数据进行列混合运算;
第二选择器,用于在前9轮运算选择列混合运算模块的输出作为输入值,在最后1轮运算中,将字节变换和行移位模块的输出作为输入值;
密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;
第二异或模块用于第二选择器的输出和密钥扩展模块的输出进行异或;
第三D触发器,用于锁存第二异或模块的输出结果;
第三异或模块,用于对加密后计数器值和明文数据进行异或;
第四D触发器,用于锁存第三异或模块的输出结果。
6.根据权利要求5所述的加密装置,其特征在于,所述密钥扩展模块中取轮常数表使用初值分别为10′h001和10′h06c的两个移位寄存器,通过用轮数计数器选通这两个移位寄存器,在轮数计数器的控制下循环左移,产生轮常数表相应列。
7.根据权利要求1所述的加密装置,其特征在于,所述读数据缓冲区模块包括:
至少两个读先进先出电路,用于存储写入加密后的密文数据;
读指针计数器,用于轮流指示读先进先出电路;
移位使能控制电路,用于根据读指针计数器的值,通过移位轮流使能读先进先出电路,当读先进先出电路为使能状态,则可以将密文数据读出;当数据被读空时,读数据缓冲区模块输出读先进先出空信号,暂停读出数据。
8.根据权利要求7所述的加密装置,其特征在于,所述读数据缓冲区模块的读先进先出电路为4个,每个位宽为32。
9.根据权利要求1所述的加密装置,其特征在于,所述加密调度模块包括:
密钥帧长信息存储模块,用于存储从加密信息缓存模块读取出来的帧长以及当前被加密帧的密钥;
调度模块,用于接收、发送控制信号,并读取密钥、帧长信息存储模块缓存的帧长以及当前被加密帧的密钥,发送给AES处理模块,并控制计数器生成模块生成计数器值;
计数器生成模块,用于从加密信息缓存模块读出初始计数器值,生成计数器值,发送给AES处理模块。
10.一种吉比特无源光网络***中高级加密标准加密装置的实现方法,包括如下步骤:
(1)写数据缓冲区模块接收并缓存待加密的明文数据,加密信息缓存模块缓存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;
(2)加密调度模块提取加密信息缓存模块中的帧长、初始密钥、初始计数器值,从写数据缓冲区模块读取明文数据,根据初始计数器值生成加密需要的计数器值,根据帧长,将密钥、计数器值以及明文数据送入AES处理模块进行加密;
(3)加密调度模块将加密后的密文送入读数据缓冲区模块进行缓存。
11.根据权利要求10所述的实现方法,其特征在于,所述步骤(1)中写数据缓冲区模块接收并缓存待加密的明文数据,包括:
当写数据缓冲区模块收到写使能信号,则轮流使能写数据缓冲区模块中的写先进先出电路,轮流将待加密的明文数据写入写先进先出电路。
12.根据权利要求10所述的实现方法,其特征在于,所述步骤(2)包括如下步骤:
(a)加密调度模块从加密信息缓存模块提取帧长、初始密钥、初始计数器值;
(b)加密调度模块根据帧长计算需要加密的块数,产生相应的加密使能信号;
(c)加密调度模块将初始密钥、初始计数器值送入AES处理模块,AES处理模块对密钥和计数器值进行加密;
(d)加密调度模块将明文数据送入AES处理模块,与加密后的计数器值进行异或,得到加密后的密文。
13.根据权利要求12所述的实现方法,其特征在于,加密调度模块将密钥、计数器值分成多个128位的块,形成多组128×2的密钥和计数器值。
14.根据权利要求13所述的实现方法,其特征在于,所述计数器值包括帧内计数器值、帧间计数器值,加密调度模块将16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼接成138位宽,去掉高10位,剩下的128位作为计数器值。
15.根据权利要求12所述的实现方法,其特征在于,加密调度模块对同一帧数据,使用密钥相同,每加密128位,帧内计数器值加定长1,不需进位。
16.根据权利要求12所述的实现方法,其特征在于,所述步骤(c)中,AES处理模块还根据初始密钥生成新的密钥:通过取轮常数表相应列与上一次密钥异或,得到当前密钥。
17.根据权利要求10所述的实现方法,其特征在于,所述步骤(3)执行之后,若所述读数据缓冲区模块收到读使能信号,则读数据缓冲区模块的读先进先出电路轮流依次将数据送出,当数据被读空时,读数据缓冲区模块输出读先进先出空信号,暂停读出数据。
CN2007101304023A 2007-03-05 2007-07-18 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法 Active CN101114903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101304023A CN101114903B (zh) 2007-03-05 2007-07-18 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710080026.1 2007-03-05
CN200710080026 2007-03-05
CN2007101304023A CN101114903B (zh) 2007-03-05 2007-07-18 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法

Publications (2)

Publication Number Publication Date
CN101114903A true CN101114903A (zh) 2008-01-30
CN101114903B CN101114903B (zh) 2011-10-26

Family

ID=39023044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101304023A Active CN101114903B (zh) 2007-03-05 2007-07-18 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法

Country Status (1)

Country Link
CN (1) CN101114903B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035642A (zh) * 2010-12-20 2011-04-27 西安西电捷通无线网络通信股份有限公司 一种分组密码计数器运行模式中计数器的选择和同步方法
CN102346716A (zh) * 2011-09-20 2012-02-08 记忆科技(深圳)有限公司 硬盘存储设备的加密方法和解密方法及其加解密***
CN101782956B (zh) * 2010-02-09 2012-06-13 杭州晟元芯片技术有限公司 一种基于aes实时加密的数据保护方法及装置
CN102647711A (zh) * 2011-02-17 2012-08-22 中兴通讯股份有限公司 一种数据加密***及方法
CN101520966B (zh) * 2008-02-27 2013-06-12 英特尔公司 并行运算模式中优化高级加密标准加解密的方法和装置
CN103338447A (zh) * 2013-07-09 2013-10-02 东南大学 一种应用于短距离传输的自存取加解密电路
CN103679061A (zh) * 2013-11-22 2014-03-26 北京民芯科技有限公司 国密sm4算法的可扩展高吞吐率的实现方法及装置
CN105447417A (zh) * 2015-11-06 2016-03-30 天津津航计算技术研究所 一种应用于高速数据存储的硬件加密方法
CN107078897A (zh) * 2014-06-16 2017-08-18 德克萨斯仪器股份有限公司 用于失序数据的推定的密码处理
CN107733590A (zh) * 2017-11-28 2018-02-23 成都蓉威电子技术有限公司 一种高速总线的数据传输装置及方法
CN108494547A (zh) * 2018-02-13 2018-09-04 中山大学 一种aes加密***及芯片
CN109587155A (zh) * 2018-12-14 2019-04-05 浙江大学 一种保障信息安全的无线车辆制动器测试***
CN111464564A (zh) * 2020-05-08 2020-07-28 郑州信大捷安信息技术股份有限公司 一种基于对称密码算法的数据高速加解密方法及装置
CN113392432A (zh) * 2021-06-11 2021-09-14 山东华宇工学院 加密存储装置及电子设备
CN113742753A (zh) * 2021-09-15 2021-12-03 北京宏思电子技术有限责任公司 一种数据流加解密的方法、电子设备及芯片***
CN113849867A (zh) * 2021-08-31 2021-12-28 浪潮电子信息产业股份有限公司 一种加密芯片
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981153B1 (en) * 2000-11-28 2005-12-27 Xilinx, Inc. Programmable logic device with method of preventing readback
KR100574965B1 (ko) * 2004-01-19 2006-05-02 삼성전자주식회사 유한체 곱셈기
CN1761185B (zh) * 2005-11-18 2011-08-17 清华大学 乱序执行的数据流aes加密电路结构

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520966B (zh) * 2008-02-27 2013-06-12 英特尔公司 并行运算模式中优化高级加密标准加解密的方法和装置
US8600049B2 (en) 2008-02-27 2013-12-03 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
CN101782956B (zh) * 2010-02-09 2012-06-13 杭州晟元芯片技术有限公司 一种基于aes实时加密的数据保护方法及装置
CN102035642B (zh) * 2010-12-20 2013-02-13 西安西电捷通无线网络通信股份有限公司 一种分组密码计数器运行模式中计数器的选择和同步方法
CN102035642A (zh) * 2010-12-20 2011-04-27 西安西电捷通无线网络通信股份有限公司 一种分组密码计数器运行模式中计数器的选择和同步方法
CN102647711A (zh) * 2011-02-17 2012-08-22 中兴通讯股份有限公司 一种数据加密***及方法
CN102346716A (zh) * 2011-09-20 2012-02-08 记忆科技(深圳)有限公司 硬盘存储设备的加密方法和解密方法及其加解密***
CN102346716B (zh) * 2011-09-20 2015-03-18 记忆科技(深圳)有限公司 硬盘存储设备的加密方法和解密方法及其加解密***
CN103338447B (zh) * 2013-07-09 2016-06-29 东南大学 一种应用于短距离传输的自存取加解密电路
CN103338447A (zh) * 2013-07-09 2013-10-02 东南大学 一种应用于短距离传输的自存取加解密电路
CN103679061A (zh) * 2013-11-22 2014-03-26 北京民芯科技有限公司 国密sm4算法的可扩展高吞吐率的实现方法及装置
CN107078897A (zh) * 2014-06-16 2017-08-18 德克萨斯仪器股份有限公司 用于失序数据的推定的密码处理
CN105447417A (zh) * 2015-11-06 2016-03-30 天津津航计算技术研究所 一种应用于高速数据存储的硬件加密方法
CN107733590A (zh) * 2017-11-28 2018-02-23 成都蓉威电子技术有限公司 一种高速总线的数据传输装置及方法
CN108494547A (zh) * 2018-02-13 2018-09-04 中山大学 一种aes加密***及芯片
CN108494547B (zh) * 2018-02-13 2021-04-13 中山大学 一种aes加密***及芯片
CN109587155A (zh) * 2018-12-14 2019-04-05 浙江大学 一种保障信息安全的无线车辆制动器测试***
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
CN111464564A (zh) * 2020-05-08 2020-07-28 郑州信大捷安信息技术股份有限公司 一种基于对称密码算法的数据高速加解密方法及装置
CN113392432A (zh) * 2021-06-11 2021-09-14 山东华宇工学院 加密存储装置及电子设备
CN113849867A (zh) * 2021-08-31 2021-12-28 浪潮电子信息产业股份有限公司 一种加密芯片
CN113849867B (zh) * 2021-08-31 2024-02-23 浪潮电子信息产业股份有限公司 一种加密芯片
CN113742753A (zh) * 2021-09-15 2021-12-03 北京宏思电子技术有限责任公司 一种数据流加解密的方法、电子设备及芯片***
CN113742753B (zh) * 2021-09-15 2023-09-29 北京宏思电子技术有限责任公司 一种数据流加解密的方法、电子设备及芯片***

Also Published As

Publication number Publication date
CN101114903B (zh) 2011-10-26

Similar Documents

Publication Publication Date Title
CN101114903B (zh) 一种吉比特无源光网络***中高级加密标准加密装置及其实现方法
CN101854353B (zh) 一种基于fpga的多芯片并行加密方法
CN101969376B (zh) 一种具有语义安全的自适应加密***及方法
CN105119715B (zh) 一种基于重加密算法的fpga虚拟io片间互连数字电路
CN101714917A (zh) 一种基于混沌密钥的数据加密传输卡
Mane et al. High speed area efficient FPGA implementation of AES algorithm
CN105007154B (zh) 一种基于aes算法的加密解密装置
CN113078996B (zh) Sm4密码算法的fpga优化实现方法、***及应用
CN103413094A (zh) 一种适用于航天器ctu的遥测加密***
CN105337728A (zh) 一种数据加密方法和***
CN103346878B (zh) 一种基于fpga高速串行io的保密通信方法
US9992053B1 (en) Multi-channel, multi-lane encryption circuitry and methods
CN101729242A (zh) 对称分组密码的生成方法及其装置
CN104219045B (zh) Rc4 流密码生成器
CN103607275A (zh) 一种安全性适应速度变化的加密方法及装置
CN103336920B (zh) 用于无线传感网络soc芯片的安全***
CN105429748A (zh) 一种数据加密方法和***
El-meligy et al. 130nm Low power asynchronous AES core
CN101588234B (zh) 一种aes中列混合变换模块的加解密复用方法
CN114584297B (zh) 一种基于物理不可克隆技术的加解密***及加解密方法
Nabil et al. Design and implementation of pipelined aes encryption system using FPGA
CN203119915U (zh) 一种基于硬件加密数据的装置
CN102135871A (zh) 利用混沌原理产生随机数的装置及其动态口令牌
Dixit et al. Speed optimization of aes algorithm with hardware-software co-design
CN202602901U (zh) 基于混沌加密***的无线汉字传输装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151116

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

Patentee after: ZTE Corp.

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corp.

TR01 Transfer of patent right

Effective date of registration: 20221201

Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.

Patentee before: SANECHIPS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right