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

文档序号:7658546阅读:114来源:国知局

专利名称::一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法
技术领域
:本发明涉及通讯领域,尤其涉及一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法。
背景技术
:自2001年AES算法标准化以来,世界上许多研究机构提出了多种AES算法的硬件实现方式,但是目前还没有一种方式在保证一定逻辑规模的条件下具备较高的加密带宽,并且它们提供的接口也难以与GPON芯片的实际情况相结合,因此无法满足GPON芯片的实际需求。采用AES算法加密是为了满足GPON系统对于安全性和可靠性的需求。由于普通的AES算法实现复杂,耗用逻辑娟j模巨大,因此采:f又一种好的实现方式对控制芯片逻辑规模有着非常重要的意义。在现有的实现方法中,都是采用在固定时钟周期内(如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轮运算选择列混合运算模块的输出作为输入值,在最后l轮运算中,将字节变换和行移位模块的输出作为输入值;密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;第二异或模块用于第二选捧器的输出和密钥扩展模块的输出进行异或;第三D触发器,用于锁存第二异或模块的输出结果;第三异或模块,用于对加密后计数器值和明文数据进行异或;第四D触发器,用于锁存第三异或模块的输出结果。进一步地,所述密钥扩展模块中取轮常数表使用初值分别为10'hOOl和10'h06c的两个移位寄存器,通过用轮数计数器选通这两个移位寄存器,在轮数计数器的控制下循环左移,产生轮常数表相应列。进一步地,所述读数据緩冲区模块包括至少两个读先进先出电路,用于存储写入加密后的密文数据;读指针计数器,用于轮流指示读先进先出电路;移位使能控制电路,用于根据读指针计数器的值,通过移位轮流使能读先进先出电路,当读先进先出电路为使能状态,则可以将密文数据读出;当数据被读空时,读数据緩沖区模块输出读先进先出空信号,暂停读出数据。进一步地,所述读数据緩沖区模块的读先进先出电路为4个,每个位宽为32。为了解决上述技术问题,本发明还提供了一种吉比特无源光网络系统中高级加密标准加密装置的实现方法,包括如下步骤(1)写数据緩冲区模块接收并緩存待加密的明文数据,加密信息緩存模块緩存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;(2)加密调度模块提取加密信息緩存模块中的帧长、初始密钥、初始计数器值,从写数据緩冲区模块读取明文数据,根据初始计数器值生成加密需要的计数器值,根据帧长,将密钥、计数器值以及明文数据送入AES处理^t块进行加密;(3)加密调度模块将加密后的密文送入读数据緩沖区模块进行緩存。进一步地,所述步骤(l)中写数据緩冲区模块接收并緩存待加密的明文数据,包括当写数据緩沖区模块收到写使能信号,则轮流使能写数据緩冲区模块中的写先进先出电路,轮流将待加密的明文数据写入写先进先出电路。进一步地,所述步骤(2)包括如下步骤(a)加密调度模块从加密信息緩存模块提取帧长、初始密钥、初始计数器值;(b)加密调度模块根据帧长计算需要加密的块数,产生相应的加密使能信号;(c)加密调度模块将初始密钥、初始计数器值送入AES处理模块,AES处理模块对密钥和计数器值进行加密;(d)加密调度模块将明文数据送入AES处理模块,与加密后的计数器值进行异或,得到加密后的密文。进一步地,加密调度模块将密钥、计数器值分成多个128位的块,形成多组128x2的密钥和计^t器值。进一步地,所述计数器值包括帧内计数器值、帧间计数器值,加密调度模块将16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼-接成138位宽,去掉高10位,剩下的128位作为计数器值。进一步地,加密调度模块对同一帧数据,使用密钥相同,每加密128位,帧内计数器值加定长l,不需进位。进一步地,所述步骤(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处理模块进行加密。从加密调度模块出去的数据就没有了帧的概念,而是多组128x2的计数器值。为了充分利用流水,在加密电路进行最后一轮的时候立即送入新的一组256位凄t据,开始下一组加密运算。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,计数器的值、密钥、明文、密文都是l位对应l位;CO—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—FIFOl~W—FIF04)及写指针计数器、移位使能控制电路组成。在写入端为配合32位的数据总线每次写入32位的数据,四个FIFO轮流写入;在读出端由于AES的加密处理位宽为128,每次同时读出128位的数据。下面描述写入端的相关控制四个FIFO是轮回操作的,在一帧处理完后下一帧的应该从第一个FIFO开始写入,而上级模块的写信号可能因此写緩冲区即将满而暂停写入,此时需要采用写指针保护而非写指针复位。为了解决这个问题,采用了移位控制的方法实现数据选择写入的功能移位使能控制电路中的移位寄存器的移位使能shift—reg标志的4位分别对应四个FIFO的写使能信号,在上级模块写使能有效期间,通过移位实现对不同FIFO的轮回操作;对数据通道则不用做处理,直接连至各FIFO即可。在一帧数据处理完时,shift一reg复位;如果是在一帧过程中中断,只是暂停移位,待上级模块恢复写操作时,再接着原来的FIFO位置继续写入新数据。相关时序如图5所示,其中clkl:表示系统时钟;wren、data—in:表示上级模块的写使能和写数据;wfifo—l一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,将移位寄存器清O,准备下次写数据操作。加密调度模块负责读取并緩存密钥和帧长、响应上级模块、产生计数器值流以及对两个AES处理模块的调度。如图6所示,加密调度模块包括密钥帧长信息存储模块、调度模块、计数器生成模块。密钥、帧长信息存储模块用来存储从加密信息緩存模块读取出来的帧长以及当前被加密帧的密钥。计数器生成模块用于从加密信息緩存模块读出初始计数器值,生成相应的计数器值,发送给AES处理模块。调度模块用于接收、发送控制信号,并读取密钥、帧长信息存储模块緩存的帧长以及当前被加密帧的密钥,发送给AES处理模块,并控制计数器生成模块生成计数器值。加密调度模块在新的加密帧到来的时候,首先从加密信息緩存才莫块提取帧长、初始密钥、初始帧内计数器值、初始帧间计数器值,因为AES加密是根据块进行的,所以加密调度模块需要根据帧长计算需要多少块,然后产生相应的加密使能信号,同时,将密钥、计数器值一起送到AES处理模块进行加密。从加密调度模块出去的加密信号就没有了帧的概念,而是把一个长帧切分成多个128bits的块,形成多组128x2的密钥和计凄t器i^直。送入计数器生成模块的计数器值位宽128,是由16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼接成138位宽,去掉高10位,剩下的128位就是计数器值。加密模块加密的是计数器的值,由于加密周期长度固定(22个时钟周期),所以可以预知加密后的计数器值在什么时刻有效,可以提前将输入数据緩存模块中的明文读出,与加密后的计数器值异或后,送给输出数据緩存模块保存。调度遵从以下方法a)同一帧数据的密钥相同,每加密128位,帧内计数器值加定长l;b)加密使能enciypt—reqa、encryptjeqb(力口密使能信号a,加密使能信号b)的间隔至少2个时钟周期;c)如果AES处理模块a和b都空闲,优先调用模块a;d)对于帧内计数器值加定长l的时候,不考虑进位。加密调度模块的关4定信号时序如图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—1—cnt加4,帧内计数器的值cntjn一a的值加1,直到加密数据完成。由于一个AES电路提供的加密带宽只有1.6Gbits/s,因此本实施例使用了两个完全相同的AES处理模块处理以达到3.2Gbits/s的处理带宽。每个AES电路的结构如图8所示。AES处理模块主要包括4个D触发器(DFF1DFF4),2个选择器,3个异或模块,以及字节变换和行移位模块、列混合运算模块、密钥扩展模块。其中,第一异或模块,用于对输入的密钥和计数器值进行异或;第一D触发器,用于锁存第一异或模块的输出结果;第一选择器,用于在第1轮加密运算时选择第一D触发器的输出作为输入值,在后面9轮的运算中,选择第三D触发器的输出作为输入值;第二D触发器,用于锁存第一选择器模块的输出结果;字节变换和行移位模块,用于对接收到的数据进行字节变换和行移位操作;列混合运算模块,用于对接收到的数据进行列混合运算;第二选择器,用于在前9轮运算选择列混合运算模块的输出作为输入值,在最后l轮运算中,将字节变换和行移位模块的输出作为输入值;密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;第二异或模块用于第二选择器的输出和密钥扩展模块的输出进行异或;第三D触发器,用于锁存第二异或模块的输出结果;第三异或模块,用于对加密后计数器值和明文数据进行异或;第四D触发器,用于锁存第三异或模块的输出结果。AES处理模块的启动由加密调度模块输出的加密使能信号encrypt—reqa和encrypt—reqb控制。在AES处理模块启动后,两个128位的计数器值依次进入AES处理模块,先与初始密钥异或完成InitialRound(第一轮)运算,之后进行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置O,拉高aes—ready表示可以处理新的数据。由于在启动之后每个时刻处理什么数据都是已知的,所以可用aes—cnt产生相关的控制信号选择器muxl在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的结构,除第一列元素外,其余元素都是O,而第一行元素前八个之间与后两个之间有移位关系,因此可以通过移位寄存器再加简单的控制信号实现分别定义两个移位寄存器用于产生前八个数据及后两个数据,它们的初值分别为10'hOOl及10'h06c,在轮数计数器的控制下实现循环左移,同时用轮数计数器选通这两个移位寄存器。这样就可以通过较少的逻辑资源实现了Rcon的功能。Rcon结构表<table>tableseeoriginaldocumentpage17</column></row><table>与写数据緩冲区模块类似的,读数据緩冲区模块R—FIFOs也主要由4个位宽为32、深度为16的FIFO及读指针计数器、移位使能控制电路组成。数据在经过AES电路加密完之后并行写入读緩沖区;在下行模块发送读使能信号后,由读指针计数器控制移位使能信号的产生,使之能顺序地将数据读出。其电路结构如图IO所示。为了避免过高的突发读速率,设置了读fifo空信号r—fifo一aempty信号,当緩冲区快被读空时,通过该信号告诉下级模块暂停读数据。读緩冲区设计的难点也在于对读出端的控制,其时序与写緩沖区时序原理相似。本发明用一些设计技巧控制电路的逻辑规模,使得加密电路工作频率高达125MHz,下行加密带宽2.4Gbits/s,完全符合GPON系统接口标准,克服了现有技术中加密带宽不足、逻辑资源耗用过多等缺点,适合在GPON等高速系统中应用。权利要求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轮运算选择列混合运算模块的输出作为输入值,在最后l轮运算中,将字节变换和行移位模块的输出作为输入值;密钥扩展模块,用于通过取轮常数表相应列与上一次密钥异或,得到当前密钥;第二异或模块用于第二选择器的输出和密钥扩展模块的输出进行异或;第三D触发器,用于锁存第二异或模块的输出结果;第三异或模块,用于对加密后计数器值和明文数据进行异或;第四D触发器,用于锁存第三异或模块的输出结果。6.根据权利要求5所述的加密装置,其特征在于,所述密钥扩展模块中取轮常数表使用初值分别为10'hOOl和10'h06c的两个移位寄存器,通过用轮数计数器选通这两个移位寄存器,在轮数计数器的控制下循环左移,产生轮常数表相应列。7.根据权利要求1所述的加密装置,其特征在于,所述读数据緩沖区模块包括至少两个读先进先出电路,用于存储写入加密后的密文数据;读指针计数器,用于轮流指示读先进先出电路;移位使能控制电路,用于根据读指针计数器的值,通过移位轮流使能读先进先出电路,当读先进先出电路为使能状态,则可以将密文数据读出;当数据被读空时,读数据緩冲区模块输出读先进先出空信号,暂停读出数据。8.根据权利要求7所述的加密装置,其特征在于,所述读数据緩沖区模块的读先进先出电路为4个,每个位宽为32。9.根据权利要求1所述的加密装置,其特征在于,所述加密调度模块包括密钥帧长信息存储模块,用于存储从加密信息緩存模块读取出来的帧长以及当前被加密帧的密钥;调度模块,用于接收、发送控制信号,并读取密钥、帧长信息存储模块缓存的帧长以及当前被加密帧的密钥,发送给AES处理模块,并控制计数器生成模块生成计数器值;计数器生成模块,用于从加密信息緩存模块读出初始计数器值,生成计数器值,发送给AES处理模块。10.—种吉比特无源光网络系统中高级加密标准加密装置的实现方法,包括如下步骤(1)写数据緩沖区模块接收并緩存待加密的明文数据,加密信息緩存模块緩存需要加密明文每一帧的帧长度,初始计数器值以及初始密钥;(2)加密调度模块提取加密信息緩存模块中的帧长、初始密钥、初始计数器值,从写数据緩冲区模块读取明文数据,根据初始计数器值生成加密需要的计数器值,根据帧长,将密钥、计数器值以及明文数据送入AES处理模块进行加密;.(3)加密调度模块将加密后的密文送入读数据緩冲区模块进行緩存。11.根据权利要求IO所述的实现方法,其特征在于,所述步骤(l)中写数据緩沖区模块接收并緩存待加密的明文数据,包括当写数据緩冲区模块收到写使能信号,则轮流使能写数据緩冲区模块中的写先进先出电路,轮流将待加密的明文数据写入写先进先出电路。12.根据权利要求IO所述的实现方法,其特征在于,所述步骤(2)包括如下步骤(a)加密调度模块从加密信息緩存模块提取帧长、初始密钥、初始计数器值;(b)加密调度模块根据帧长计算需要加密的块数,产生相应的加密使能信号;(c)加密调度模块将初始密钥、初始计数器值送入AES处理模块,AES处理模块对密钥和计数器值进行加密;(d)加密调度模块将明文数据送入AES处理模块,与加密后的计数器值进行异或,得到加密后的密文。13.根据权利要求12所述的实现方法,其特征在于,加密调度模块将密钥、计数器值分成多个128位的块,形成多组128x2的密钥和计数器值。14.根据权利要求13所述的实现方法,其特征在于,所述计数器值包括帧内计数器值、帧间计数器值,加密调度模块将16位的帧内计数器值和30位的帧间计数器值合并成46位宽度以后,再将这46位的值复制3次,拼接成138位宽,去掉高10位,剩下的128位作为计数器值。15.根据权利要求12所述的实现方法,其特征在于,加密调度模块对同一帧数据,使用密钥相同,每加密128位,帧内计数器值加定长l,不需进位。16.根据权利要求12所述的实现方法,其特征在于,所述步骤(c)中,AES处理^t块还沖艮据初始密钥生成新的密钥通过取轮常数表相应列与上一次密钥异或,得到当前密钥。17.根据权利要求IO所述的实现方法,其特征在于,所述步骤(3)执行之后,若所述读数据緩沖区模块收到读使能信号,则读数据緩冲区模块的读先进先出电路轮流依次将数据送出,当数据被读空时,读数据緩沖区模块输出读先进先出空信号,暂停读出数据。全文摘要本发明公开了一种吉比特无源光网络系统中高级加密标准加密装置,包括写数据缓冲区模块,缓存需要加密的明文数据;加密信息缓存模块,缓存需要加密明文的帧长度,初始计数器值以及初始密钥;AES处理模块,完成数据加密;读数据缓冲区模块,将加密后的密文数据进行缓存;加密调度模块,从加密信息缓存模块读取并缓存密钥和帧长、产生计数器值流、对AES处理模块进行调度以及将计数器值、密钥、明文数据处理后输入AES处理模块,并将加密后的数据送入读数据缓冲区模块。本发明还公开了该加密装置的实现方法。本发明解决了现有技术无法适应如GPON等高速系统中较高加密带宽和系统频率的需求,同时满足GPON系统中固定加密时延的要求。文档编号H04L12/28GK101114903SQ20071013040公开日2008年1月30日申请日期2007年7月18日优先权日2007年3月5日发明者史洪波,娄本刚,涂晓东,佃王,刚胡,军谢申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1