基于数据冗余检错机制的AES加/解密电路的制作方法与工艺

文档序号:11732875阅读:385来源:国知局
基于数据冗余检错机制的AES加/解密电路的制作方法与工艺
本发明属于密码电路实现技术领域,特别是涉及一种基于数据冗余检错机制的AES加/解密电路。

背景技术:
AES(AdvancedEncryptionStandard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(DataEncryptionStandard,数据加密标准)。AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种。AES规定,根据这三种不同的密钥长度,加密过程分别需要进行10,12和14轮轮变换运算,每一个轮变换运算又包括包括字节替换,行移位,列混合和密钥加四个子运算,除了最后一轮。为了消除对称性,最后一轮轮变换不包含列混合运算,并且在第一轮轮变换运算之前加上一次密钥加运算。AES解密过程为加密过程的逆过程,因此也分别需要进行10,12和14轮轮变换运算,且每一轮轮变换包括逆字节替换,逆行移位,逆列混合和逆密钥加四个子运算,除了第一轮。第一轮轮变换不包括逆列混合运算,在最后一轮运算结束后还需要加上一次逆密钥加运算。根据不同的应用需求,AES采用不同的实现架构。参见图1,AES加/解密电路实现架构一般可分为两种:循环展开结构和全展开结构。循环展开结构中使用了Nk(1≤Nk≤Nr,Nr=10/12/14)个轮变换单元(包括独立的密钥加运算),与全展开结构相比,循环展开结构需要更小的电路面积,特别是当Nk=1时(Nk=1时又称为全循环结构),循环展开结构具有最小的电路面积。但循环展开结构需要迭代⌈Nr/Nk⌉次才能得到最终结果,因此数据处理速度比较低。循环展开结构用于要求电路面积小、数据速率不高的场合,如无线传感网,RFID等。循环展开结构还可以根据具体应用需求对电路面积和速度的进行折衷。全展开结构使用了Nr+1个轮变换电路单元,电路面积大,但数据不需要反馈,数据处理速度高。全展开结构还可以通过增加流水线级数的方式来加快数据处理速度。全展开结构适用于高速数据实时处理场合,如实时视频信号传输等。错误注入攻击是一类针对密码系统旁路攻击方式,攻击者通过电磁、激光等手段向密码硬件电路中注入错误,使密码设备产生错误消息,因而使解密方得不到正确的信息认证而拒绝服务,更进一步,攻击者可以通过差分错误分析得到系统密钥。另外一些极端条件应用环境,如高空环境、深海环境,对设备要求可靠性较高。针对错误注入攻击,以及一些极端条件应用环境对设备高可靠性的要求,传统的解决方案主要采用结构冗余检错机制,即将采用多个相同功能的电路,同时对同一组数据进行处理,并将结果数据进行比较。一个简单的结构冗余检错机制的电路原理框图如图2所示,电路1和电路2具有相同的运算功能,电路1和电路2对数据A同时进行处理,比较器对电路1和电路2的输出结果进行比较,如果电路1和电路2的输出结果相同,则电路工作正常,如果电路1和电路2的输出结果不同,则电路工作发生异常。结构冗余检错机制需要增加大量冗余电路来实现检错功能。

技术实现要素:
本发明所要解决的技术问题是针对结构冗余检错机制需要增加大量冗余电路来实现检错功能的缺陷,提出了一种基于数据冗余检错机制的AES加/解密电路,用于抵御错误注入攻击和提高AES密码电路可靠性。本发明为解决上述技术问题,采用的技术方案如下:一种基于数据冗余检错机制的AES加/解密电路,包括AES加/解密单元和比较器,以及数据输入端口、检测输出端口和数据输出端口,AES加/解密单元的输入端与数据输入端口相连接,AES加/解密单元有两个输出端,其中第一输出端与比较器的一个输入端相连接,第二输出端与比较器的另一个输入端以及数据输出端口相连接,比较器的输出端与检测输出端口相连接;所述AES加/解密单元在数据处理过程中采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算;AES加/解密运算完成之后,两次运算的最终结果分别从第一输出端和第二输出端输出;所述比较器在AES加/解密运算完成之后,对AES加/解密单元的第一输出端和第二输出端输出的数据进行比较,如果运算结果相同则AES加/解密单元工作正常,如果不相同,则AES加/解密单元发生错误;比较结果从检测输出端口输出,同时AES加/解密运算结果从数据输出端口输出。进一步的,本发明的AES加/解密电路,所述AES加/解密单元为全展开结构,由Nr+2个轮变换单元和一个二选一选择器构成,其中Nr为AES标准所规定的轮变换运算数量;所述数据输入端口分别与选择器的一个输入端、第一轮变换单元的输入端相连接,第一轮变换单元的输出端与选择器的另一个输入端相连接,选择器的输出端与第二轮变换单元的输入端相连接;第i轮变换单元的输入端与第i−1轮变换单元的输出端相连接,第i轮变换单元的输出端与第i+1轮变换单元的输入端相连接,其中3≤i≤Nr+1;第Nr+1轮变换单元的输出端作为AES加/解密单元的第一输出端与比较器的一个输入端相连接;第Nr+2轮变换单元的输出端作为AES加/解密单元的第二输出端分别与比较器的另一个输入端以及数据输出端口相连接;各轮变换单元之间采用流水线数据处理方式,AES加/解密单元每两个时钟周期从数据输入端口输入一组数据。进一步的,本发明的AES加/解密电路,所述第一轮变换单元用于实现密钥加运算功能;第二轮变换单元为可重构轮变换单元,用于实现密钥加运算功能和轮变换运算功能;第k轮变换单元用于实现轮变换运算功能,其中3≤k≤Nr;第Nr+1轮变换单元为可重构轮变换单元,用于实现轮变换运算功能和末轮轮变换运算功能;第Nr+2轮变换单元用于实现末轮轮变换运算功能。进一步的,本发明的AES加/解密电路,所述第一轮变换单元由密钥加运算单元构成;其中密钥加运算单元的输入、输出端分别与数据输入、输出端连接。进一步的,本发明的AES加/解密电路,所述第二轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;其中,数据输入端分别与字节替换/逆字节替换运算单元的输入端、二选一选择器的一个输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端相连接;列混合/逆列混合运算单元的输出端与二选一选择器的另一个输入端相连接;二选一选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过二选一选择器对数据通路的选择,第二轮变换单元分别实现密钥加运算功能和轮变换运算功能。进一步的,本发明的AES加/解密电路,所述第k轮变换单元用于实现轮变换运算功能,由依次连接的字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元和密钥加运算单元构成;其中,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,密钥加运算单元输出端与数据输出端相连接。进一步的,本发明的AES加/解密电路,所述第Nr+1轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;其中,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端分别与列混合/逆列混合运算单元的输入端,以及二选一选择器的一个输入端相连接;列混合/逆列混合运算单元的输出端与二选一选择器的另一个输入端相连接;二选一选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过二选一选择器对数据通路的选择,第Nr+1轮变换单元分别实现轮变换运算功能和末轮轮变换运算功能。进一步的,本发明的AES加/解密电路,第Nr+2轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元和密钥加运算单元构成;其中,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接。进一步的,本发明的AES加/解密电路,所述AES加/解密单元为循环展开结构,由Nk个轮变换单元和两个二选一选择器构成,所述两个二选一选择器分别为第一选择器、第二选择器;2≤Nk≤Nr+1,Nr为AES标准所规定的轮变换运算数量;其中,所述数据输入端口分别与第一选择器的一个输入端、第二选择器的一个输入端相连接,第一选择器的另一个输入端与第Nk轮变换单元的输出端相连接,第一选择器的输出端与第一轮变换单元的输入端相连接;第一轮变换单元的输出端与第二选择器的另一个输入端相连接,第二选择器的输出端与第二轮变换单元的输入端相连接;第i轮变换单元的输入端与第i−1轮变换单元的输出端相连接,第i轮变换单元的输出端与第i+1轮变换单元的输入端相连接,其中3≤i≤Nk–1;第n轮变换单元的输出端作为AES加/解密单元的第一输出端与比较器的一个输入端相连接,其中n=mod(Nr/Nk)+1;第m轮变换单元的输出端作为AES加/解密单元的第二输出端分别与比较器的另一个输入端以及数据输出端口相连接,其中m=mod((Nr+1)/Nk)+1;所述轮变换单元之间采用流水线数据处理方式,最多能够同时处理Nb组数据,其中Nb=⌊Nk/2⌋。进一步的,本发明的AES加/解密电路,所述轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、三选一选择器和密钥加运算单元构成;其中,外部数据输入端分别与字节替换/逆字节替换运算单元的输入端、三选一选择器的第一输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端分别与列混合/逆列混合运算单元的输入端、三选一选择器的第二输入端相连接;列混合/逆列混合运算单元的输出端与三选一选择器的第三输入端相连接;三选一选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过三选一选择器对数据通路的选择,分别实现密钥加运算、轮变换运算和末轮轮变换运算三种功能。本发明采用以上技术方案,具有以下技术效果:(1)采用一个比较器检测AES加/密单元是否工作正常,极大减少了检测单元电路面积。(2)及时发现电路运行错误,避免错误信息传输,提高信息有效性和可靠性。(3)抵御错误注入攻击。当有错误注入时,及时发现错误,并通知管理系统。管理系统停止加解密运算或采取其它有效措施,防止密钥泄露。本发明提出了一种基于数据冗余检错机制的AES加/解密电路,与结构冗余检错机制相比,数据冗余检错机制极大减少了冗余电路面积。附图说明图1为AES加/解密电路实现的基本结构:(a)循环展开结构;(b)全展开结构。图2为一个简单的结构冗余检错机制的电路原理框图。图3为AES加/解密单元采用全展开结构时本发明电路结构。图4为全展开结构AES加/解密单元中轮变换k(其中3≤k≤Nr)电路结构。图5为全展开结构AES加/解密单元中轮变换1电路结构。图6为全展开结构AES加/解密单元中轮变换Nr+2电路结构。图7为全展开结构AES加/解密单元中轮变换2电路结构。图8为全展开结构AES加/解密单元中轮变换Nr+1电路结构。图9为Nr=10时图3所示电路在进行加密运算时的时序图。图10为AES加/解密单元采用循环展开结构时本发明电路结构。图11为循环展开结构AES加/解密单元中的轮变换单元电路结构。图12为AES加/解密单元为循环展开结构,且Nk=2时的本发明具体电路实现结构。图13为Nr=10时图12所示电路在进行加密运算时的时序图。图14为AES加/解密单元为循环展开结构,且Nk=4,Nr=10时的本发明具体电路实现结构。图15为图14所示电路在进行解密运算时的时序图。具体实施方式下面参照附图并结合具体实施例对本发明作进一步的描述。本发明将不包括列混合(逆列混合)运算的轮变换运算称之为末轮轮变换运算。本发明还将独立于轮变换运算之外的密钥加运算作为一轮特殊的轮变换运算。由于逆密钥加运算和密钥加运算操作相同,本发明统一称为密钥加运算。参见图3,本发明一个实施实例为AES加/解密单元采用全展开结构实现。如图3所示,电路结构包括AES加/解密单元和比较器两部分,电路还包括数据输入端口、检测输出端口和数据输出端口。AES加/解密单元输入端与数据输入端口相连接,AES加/解密单元有两个输出端(输出端1和输出端2),输出端1与比较器一个输入端相连接,输出端2与比较器另一个输入端,以及数据输出端口相连接,比较器输出端与检测输出端口相连接。如图3所示,AES加/解密单元由Nr+2(其中Nr为AES标准所规定的轮变换运算数量)个轮变换单元(轮变换单元1,轮变换单元2,…,轮变换单元Nr+2)和一个二选一选择器构成。选择器的一个输入端与数据输入端口相连接,另一个输入端与轮变换单元1的输出端相连接,选择器的输出端与轮变换单元2的输入端相连接;轮变换单元1的输入端与数据输入端口相连接,输出端与选择器的一个输入端相连接;轮变换单元2输入端与选择器的输出端相连接,输出端与轮变换单元3输入端相连接;轮变换单元i(其中3≤i≤Nr+1)的输入端与轮变换单元i−1的输出端相连接,输出端与轮变换单元i+1的输入端相连接;轮变换单元Nr+1的输出端分别与输出端1以及轮变换单元Nr+1的输入端相连接,轮变换单元Nr+2的输出端与输出端2相连接。在全展开结构AES加/解密单元中,轮变换单元k(其中3≤k≤Nr)实现完整的轮变换运算功能,电路结构为图4所示。完整的轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元和密钥加运算单元构成;字节替换/逆字节替换运算单元的输入端与数据输入端相连接,输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端相连接;列混合/逆列混合运算单元的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接。轮变换单元1只实现密钥加运算功能,如图5所示,电路结构只包含密钥加运算单元。轮变换单元Nr+2实现末轮轮变换运算功能,电路结构如图6所示,轮变换单元Nr+2的电路结构只包含字节替换/逆字节替换运算单元、行移位/逆行移位运算单元和密钥加运算单元等三部分,没有列混合/逆列混合运算单元,如图6所示,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接。轮变换单元2为可重构轮变换单元,可以实现密钥加运算和轮变换运算两种功能,参见图7,图7为轮变换单元2的一种具体实现方案:轮变换单元2由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;字节替换/逆字节替换运算单元的输入端与数据输入端相连接,输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端相连接;列混合/逆列混合运算单元的输出端与选择器的一个输入端相连接;选择器的另一个输入端与数据输入端相连接,选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过选择器对数据通路的选择,轮变换单元2分别实现密钥加运算功能和轮变换运算功能。轮变换单元Nr+1为可重构轮变换单元,可以实现轮变换运算和末轮轮变换运算两种功能,参见图8,图8为轮变换单元Nr+1的一种具体实现方案:轮变换单元Nr+1由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;字节替换/逆字节替换运算单元的输入端与数据输入端相连接,输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端,以及选择器的一个输入端相连接;列混合/逆列混合运算单元的输出端与选择器的另一个输入端相连接;选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过选择器对数据通路的选择,轮变换单元Nr+1分别实现轮变换运算功能和末轮轮变换运算功能。在全展开结构AES加/解密单元中,轮变换单元之间采用流水线数据处理方式,AES加/解密单元每两个时钟周期输入一组数据。在数据处理过程中,AES加/解密单元采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算。AES加/解密运算完成之后,两次运算的最终结果分别从输出端1和输出端2输出。比较器在AES加/解密运算完成之后,对输出端1和输出端2输出的数据进行比较,比较结果从检测输出端口输出,同时AES加/解密运算结果从数据输出端口输出。参见图9,图9为Nr=10时全展开结构AES加/解密电路进行加密运算的时序图。图中RTx()表示第x轮轮变换运算,其中RT0()为密钥加运算,RT10()为末轮轮变换运算,Ey为数据By加密结果,Dy为比较器对数据By两次运算结果的比较结果。如图9所示,在时钟周期l,电路从数据输入端口输入数据B0,并对数据B0进行加密运算,由相邻的两级轮变换单元对数据B0进行两次相同的运算。在时钟周期l+10,加密运算完成,AES加/解密单元输出端1和输出端2分别输出轮变换单元11和轮变换单元12运算结果(数据B0加密结果E0),比较器对输出端1和输出端2输出的加密结果进行比较,并将比较结果D0通过检测输出端口输出,同时输出端2输出的加密结果E0从数据输出端口输出。参见图10,本发明另一个实施实例为AES加/解密单元采用循环展开结构实现。如图10所示,电路结构包括AES加/解密单元和比较器两部分,电路还包括数据输入端口、检测输出端口和数据输出端口。AES加/解密单元输入端接与数据输入端口相连接,AES加/解密单元有两个输出端(输出端1和输出端2),输出端1与比较器一个输入端相连接,输出端2与比较器另一个输入端,以及数据输出端口相连接,比较器输出端与检测输出端口相连接。如图10所示,AES加/解密单元由Nk(其中2≤Nk≤Nr+1,Nr为AES标准所规定的轮变换运算数量)个轮变换单元(轮变换单元1,轮变换单元2,…,轮变换单元Nk)和两个二选一选择器(选择器1、选择器2)构成。选择器1的一个输入端与数据输入端口相连接,另一个输入端与轮变换单元Nk的输出端相连接,选择器1的输出端与轮变换单元1的输入端相连接;选择器2的一个输入端与数据输入端口相连接,另一个输入端与轮变换单元1的输出端相连接,选择器2的输出端与轮变换单元2的输入端相连接;轮变换单元2的输出端与轮变换单元3的输入端相连接;轮变换单元i(其中3≤i≤Nk−1)的输入端与轮变换单元i−1输出端相连接,输出端与轮变换单元i+1输入端相连接;轮变换单元Nk的输入端与轮变换单元Nk−1的输出端相连接,轮变换单元Nk的输出端与选择器1的一个输入端相连接;轮变换单元n(其中n=mod(Nr/Nk)+1)的输出端还与输出端1相连接;轮变换单元m(其中m=mod((Nr+1)/Nk)+1)的输出端还与输出端2相连接。参见图11,图11为循环展开结构AES加/解密单元中的轮变换单元电路结构。轮变换单元为可重构轮变换单元,可以实现密钥加运算,轮变换运算和末轮轮变换算三种运算功能。轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、三选一选择器和密钥加运算单元构成;其中,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端,以及选择器的一个输入端相连接;列混合/逆列混合运算单元的输出端与选择器的一个输入端相连接;选择器的三个输入端分别与数据输入端、行移位/逆行移位运算单元的输出端、以及列混合/逆列混合运算单元的输出端相连接,选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接。通过选择器对数据通路的选择,轮变换单元分别实现密钥加运算、轮变换运算和末轮轮变换运算三种功能。参见图12,图12为AES加/解密单元为循环展开结构,且Nk=2时的本发明具体电路实现结构。Nk=2时是本发明最简电路结构形式,AES加/解密单元由两个轮变换单元(轮变换单元1和轮变换单元2)和两个二选一选择器(选择器1和选择器2)构成。Nk=2时轮变换单元1和轮变换单元2输出数据相同,输出端1与轮变换单元1的输出端相连接,输出端2与轮变换单元2的输出端相连接。参见图13,图13为Nr=10时图12所示电路在进行加密运算时的时序图,Nk=2时电路只能处理一组数据。图中RTx()表示第x轮轮变换运算,其中RT0()为密钥加运算,RT10()为末轮轮变换运算,E1为数据B1加密结果,D1为比较器对数据B1两次运算结果的比较结果。如图13所示,在时钟周期l,电路从数据输入端口输入数据B1,并对数据B1进行加密运算,由相邻的两级轮变换单元对数据B1进行两次相同的运算。在时钟周期l+10,加密运算完成。AES加/解密单元输出端1和输出端2分别输出加密结果E1。比较器对输出端1和输出端2输出的加密结果进行比较,并将比较结果D1通过检测输出端口输出,同时输出端2输出的加密结果E1从数据输出端口输出。参见图14,图14为AES加/解密单元为循环展开结构,且Nk=4,Nr=10时的本发明具体电路实现结构。如图14所示,AES加/解密单元由四个轮变换单元(轮变换单元1,轮变换单元2,轮变换单元3和轮变换单元4)和两个二选一选择器(选择器1和选择器2)构成。当Nk=4,Nr=10时,输出端1与轮变换单元3相连接,输出端2与轮变换单元4相连接。参见图15,图15为图14所示电路在进行解密运算时的时序图,Nk=4时电路可以同时处理两组数据。图中RTx()表示第x轮轮变换运算,其中RT10()为末轮轮变换运算,RT0()为密钥加运算,By为数据Ey解密结果,Dy为比较器对数据By两次运算结果的比较结果。如图15所示,在时钟周期l,电路从数据输入端口输入第一组数据E1,并对E1进行解密运算,相邻的两级轮变换单元对数据E1进行两次相同的运算。在时钟周期l+2,电路从数据输入端口输入第二组数据E2,并对E2进行解密运算,相邻的两级轮变换单元对数据E2进行两次相同的运算。在时钟周期l+10,数据E1解密运算完成,AES加/解密单元输出端1和输出端2分别输出解密结果B1。比较器对输出端1和输出端2输出的解密结果进行比较,并将比较结果D1通过检测输出端口输出,同时输出端2输出的解密结果B1从数据输出端口输出。在时钟周期l+12,数据E2解密运算完成,AES加/解密单元输出端1和输出端2分别输出解密结果B2。比较器对输出端1和输出端2输出的解密结果进行比较,并将比较结果D2通过检测输出端口输出,同时输出端2输出的解密结果B2从数据输出端口输出。本发明已参照当前的实施方式进行了描述,未详细说明部分属本领域技术人员公知常识。本技术领域的普通技术人员应当认识到,上述实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进,均应包含在本发明的权利保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1