书签 分享 收藏 举报 版权申诉 / 17

一种基于RAM共享技术的可重构S盒电路结构.pdf

  • 上传人:e1
  • 文档编号:1115799
  • 上传时间:2018-04-01
  • 格式:PDF
  • 页数:17
  • 大小:621.99KB
  • 摘要
    申请专利号:

    CN201110284750.2

    申请日:

    2011.09.22

    公开号:

    CN102347833A

    公开日:

    2012.02.08

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 9/06申请日:20110922|||公开

    IPC分类号:

    H04L9/06

    主分类号:

    H04L9/06

    申请人:

    东南大学

    发明人:

    单伟伟; 朱佳梁; 陆寅超; 田朝轩; 余云帆; 时龙兴

    地址:

    214135 江苏省无锡市新区菱湖大道99号

    优先权:

    专利代理机构:

    南京天翼专利代理有限责任公司 32112

    代理人:

    朱戈胜

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种基于RAM共享技术的可重构S盒电路结构,可以实现多种分组密码算法中的S盒替换操作,适用于各种分组密码处理器。该S盒电路结构由配置单元电路和替换单元电路构成。其中:配置单元,用于接收输入的控制信号,进行存储,配置并控制替换单元的运算状态;所述替换单元包括n个替换基元和一块RAM,各个替换基元并行工作共享一个RAM;本发明具有运算速度快,配置灵活,可并行处理数据,占用存储单元少,电路实现面积小的优点。

    权利要求书

    1: 一种基于 RAM 共享技术的可重构 S 盒电路结构, 包括配置单元和替换单元, 其特征是 所述替换单元包括 n 个替换基元和一块 RAM, 各个替换基元并行工作共享一个 RAM ; 本 S 盒的工作模式包括配置模式和运算模式两种 : 在配置模式下, 配置单元首先接收输入的控制信号, 存储配置信息, 然后根据配置信息 对 RAM 进行初始化配置 ; 替换单元不工作, RAM 在配置单元的控制下进行初始化 ; 在运算模式下, 根据存储的配置信息控制替换单元的运算状态 ; 替换单元接收输入数 据, 完成 S 盒的替换操作, 输出处理后数据 ; 所述替换单元采用基于查找表的方法实现 S 盒 ; 替换单元有对应 n 组输入数据, 分别对应 n 个替换基元 ; 每个替换基元和 RAM 组合都实 现 S 盒的替换功能, 并行实现 n 个 S 盒的流水线操作 ; RAM 包括 m 个相同的单元 RAMm ; 每个替换基元包括输入数据控制电路和输出数据选择电路 ; 输入信号 DATA_INm 输入给输入数据控制电路, 输入信号处理电路处理得到内部信号 Ainm, Ainm 输出给 RAM 作为 RAM 的输入地址信号, 分别对应输出给相应的单元 RAMm, 由单元 RAMm 把相应的输出数据信号 Aoutm 返回输入到替换基元中, 输出数据选择电路对返回的数 据信号进行处理, 输出最终的数据信号, 即完成 S 盒替换的数据信号。 由 运 算 状 态 控 制 信 号 MODE_IN 控 制 替 换 基 元 的 运 算 状 态, 由配置状态控制信号 CONFIG_IN 对替换基元的配置状态进行控制, MODE_IN 和 CONFIG_IN 来控制由输入数据控制 电路以及输出数据选择电路的工作状态。
    2: 根据权利要求 1 所述的 S 盒电路结构, 其特征是所述替换单元由 16 个替换基元和一 块 RAM 构成 ; 所述 RAM 由 8 个大小为 64×4 位的单元 RAM 单元组成 ; RAM 能同时被 16 个替 换基元驱动, 实现 16 个替换基元的并行工作。
    3: 根据权利要求 2 所述的 S 盒电路结构, 其特征是替换基元在配置模式下不工作, 在运 算模式下有三种运算状态 : 4×4 替换、 6×4 替换、 8×8 替换 ; 表 1 为替换单元的替换基元的信号定义 : 2 表 1 所示, 替换基元的 8 个 8 位输入信号 DATA_IN0, DATA_IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7, 1 个时钟信号 CLK, 1 个 1 位的控制信号 CONFIG_ IN, 1 个 2 位的控制信号 MODE_IN, 控制替换基元的运算状态 ; 8 个 6 位的内部信号 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7, 8 个 4 位输出信 号 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7, 1 个 8 位输出信号 Bout ; CLK 为替换基元提供时钟信号 ; CONFIG_IN 对替换基元的配置状态进行控制 : 1: 配置状态 ; 0: 模块工作状态 替换基元在配置模式下不工作, 在运算模式下有三种运算状态 : (1)4×4 替换, 当 MODE_IN = 00 时, 替换基元执行 4×4 替换, 输入信号 DATA_IN0, DATA_ IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7 经过输入信号处理电 路处理, 得: Ain0[5:0] = {2’ b00, DATA_IN0[3:0]} ; 即 Ain0 的高 2 位为 00, 低 4 位为 DATA_IN0 的 低4位 Ain1[5:0] = {2’ b00, DATA_IN1[3:0]} ; 3 Ain2[5:0] = {2’ b00, DATA_IN2[3:0]} ; Ain3[5:0] = {2’ b00, DATA_IN3[3:0]} ; Ain4[5:0] = {2’ b00, DATA_IN4[3:0]} ; Ain5[5:0] = {2’ b00, DATA_IN5[3:0]} ; Ain6[5:0] = {2’ b00, DATA_IN6[3:0]} ; Ain7[5:0] = {2’ b00, DATA_IN7[3:0]} ; 则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ; RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输出分别为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ; 将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元中, 再输出就得到经过 32×32 即 8*4×4 的 S 盒变换的数据, 此模式下 Bout 输出为 0。 (2)6×4 替换, 当 MODE_IN = 01 时, 替换基元执行 6×4 替换, 输入信号 DATA_IN0, DATA_ IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7 经过输入信号处理电 路处理, 得: Ain0[5:0] = DATA_IN0[5:0] ; 即 Ain0 为 DATA_IN0 的低 6 位 Ain1[5:0] = DATA_IN1[5:0] ; Ain2[5:0] = DATA_IN2[5:0] ; Ain3[5:0] = DATA_IN3[5:0] ; Ain4[5:0] = DATA_IN4[5:0] ; Ain5[5:0] = DATA_IN5[5:0] ; Ain6[5:0] = DATA_IN6[5:0] ; Ain7[5:0] = DATA_IN7[5:0] ; 则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ; RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输出分别为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ; 将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元中, 再输出就得到经过 48×32 即 8*6×4 的 S 盒替换的数据, 此模式下 Bout 输出为 0 ; (3)8×8 替换, 当 MODE_IN = 10 时, 替换基元执行 8×8 替换, 在此运算状态下, 输入信 号 DATA_IN0 = DATA_IN1 = DATA_IN2 = DATA_IN3 = DATA_IN4 = DATA_IN5 = DATA_IN6 = DATA_IN7, 经过输入信号处理电路处理, 得: Ain0[5:0] = DATA_IN0[5:0] ; 即 Ain0 为 DATA_IN0 的低 6 位 Ain1[5:0] = DATA_IN0[5:0] ; Ain2[5:0] = DATA_IN0[5:0] ; Ain3[5:0] = DATA_IN0[5:0] ; Ain4[5:0] = DATA_IN0[5:0] ; Ain5[5:0] = DATA_IN0[5:0] ; 4 Ain6[5:0] = DATA_IN0[5:0] ; Ain7[5:0] = DATA_IN0[5:0] ; 则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ; RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输出分别为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ; 将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元中, 将它们分为四组 : {Aout0, Aout1}, {Aout2, Aout3}, {Aout4, Aout5}, {Aout6, Aout7}, 将这 四组信号输入 4 选 1 输出数据选择电路, DATA_IN0[7:6] 为控制信号 : DATA_IN0[7:6] = 00 时, Bout = {Aout0, Aout1} ; DATA_IN0[7:6] = 01 时, Bout = {Aout2, Aout3} ; DATA_IN0[7:6] = 10 时, Bout = {Aout4, Aout5} ; DATA_IN0[7:6] = 11 时, Bout = {Aout6, Aout7} ; 输出 Bout, 即为经过 8×8 的 S 盒替换的数据。

    说明书


    一种基于 RAM 共享技术的可重构 S 盒电路结构

        技术领域 本发明涉及信息安全技术和集成电路技术领域, 具体地, 涉及一种基于 RAM 共享 技术的可重构 S 盒电路结构, 用于实现分组密码算法中的 S 盒替换操作。
         背景技术 随着现代社会的日益信息化、 数字化与网络化, 人们对信息安全技术的需求越来 越广泛和深入。信息安全技术的应用领域, 已从传统的军事、 政治部门, 逐步扩展到社会经 济生活的各个角落 ; 信息安全产品成为整个社会良性运转的重要保障, 保护信息的安全也 已经成为科学技术领域的重要课题。信息安全体系中, 密码算法是信息安全的基础和核心 技术, 在密码算法中分组密码占有重要的地位, 并广泛的被应用于各个领域。
         通过对大量的分组密码算法进行分析和研究, 发现分组密码算法具有一个显著的 特征 : 很多不同的分组密码算法具有相同或相近的基本操作, 对 DES、 AES、 RC6 等 27 种典型 的分组密码算法的基本操作及其使用频度做了统计, 发现 S 盒变换的使用频度达到 50%。 S 盒是许多分组密码算法的核心组成部分, 提供分组密码算法所必需的混淆作用。在不同的 分组密码算法中, S 盒的内部结构和构建方式也有所不同。S 盒是许多分组密码算法中的唯 一非线性模块, 因此它的密码强度对整个分组密码算法的安全强度产生直接影响。
         现有技术中的密码处理器中, S 盒的实现方式主要有 2 种 : (1) 基于逻辑电路的实 现方式, 即用硬件逻辑电路来实现 S 盒操作所包含的布尔函数, 其占用资源较少, 但运算速 度较慢, 而对于多种不同类型的 S 盒操作来说, 不具可配置性, 不能并行处理数据 ; (2) 基于 查找表 (Look Up Table, LUT) 的实现方式, 将 S 盒替换表存储在存储器 ( 如 RAM 或 ROM) 中, S 盒的输入作为存储器的地址输入, 对应的地址空间中存放的数据就是 S 盒的输出值, 这种 方法占用较多存储单元, 电路实现面积大, 但运算速度快, 并且具有可配置性, 能实现多种 分组密码运算的 S 盒操作, 并且当处理器不工作时, 存储器不带有任何算法信息, 使得处理 器具有更好的安全性。
         另一方面, 目前许多的密码处理器中采用流水线技术, 可以大幅提升处理器的运 行速度。 但由于通用 S 盒模块不具备并行处理数据的能力, 所以在 n 级流水线结构的密码 处理器中, 每 1 级的运算模块中都需要包含一个通用 S 盒和其他相应运算单元, 此时处理器 速度增加 n 倍, 同时面积也增加 n 倍, 处理器的效率并没有得到改善。
         综上所述, 现有技术中, 基于逻辑电路实现的 S 盒存在运算速度慢, 不具有可配置 性的缺陷 ; 基于查找表实现的 S 盒存在占用存储单元多, 电路实现面积大, 不具备并行处理 数据能力的缺陷。
         发明内容 本发明的目的在于, 针对上述问题, 提出一种基于 RAM 共享技术的可重构 S 盒电路 结构, 以实现运算速度快, 配置灵活, 可并行处理数据, 占用存储单元少, 电路实现面积小的 优点。
         为实现上述目的, 本发明采用的技术方案如下 :
         一种基于 RAM 共享技术的可重构 S 盒电路结构, 包括配置单元和替换单元, 其特征 是所述替换单元包括 n 个替换基元和一块 RAM, 各个替换基元并行工作共享一个 RAM ;
         本 S 盒的工作模式包括配置模式和运算模式两种 :
         在配置模式下, 配置单元首先接收输入的控制信号, 存储配置信息, 然后根据配置 信息对 RAM 进行初始化配置 ; 替换单元不工作, RAM 在配置单元的控制下进行初始化 ;
         在运算模式下, 根据存储的配置信息控制替换单元的运算状态 ; 替换单元接收输 入数据, 完成 S 盒的替换操作, 输出处理后数据 ;
         所述替换单元采用基于查找表的方法实现 S 盒 ;
         替换单元有对应 n 组输入数据, 分别对应 n 个替换基元 ; 每个替换基元和 RAM 组合 都实现 S 盒的替换功能, 并行实现 n 个 S 盒的流水线操作 ; RAM 包括 m 个相同的单元 RAMm ;
         每个替换基元包括输入数据控制电路和输出数据选择电路 ;
         输入信号 DATA_INm 输入给输入数据控制电路, 输入信号处理电路处理得到内部 信号 Ainm, Ainm 输出给 RAM 作为 RAM 的输入地址信号, 分别对应输出给相应的单元 RAMm, 由单元 RAMm 把相应的输出数据信号 Aoutm 返回输入到替换基元中, 输出数据选择电路对返 回的数据信号进行处理, 输出最终的数据信号, 即完成 S 盒替换的数据信号。 由运算状态控制信号 MODE_IN 控制替换基元的运算状态, 由配置状态控制信号 CONFIG_IN 对替换基元的配置状态进行控制, MODE_IN 和 CONFIG_IN 来控制由输入数据控制 电路以及输出数据选择电路的工作状态。
         所述的替换单元, 由 16 个替换基元和一块 RAM 构成, 用于接收输入数据信号, 完成 S 盒 的替换操作, 输出处理后数据信号。替换单元采用 RAM 共享技术, 使 16 个替换基元共 享一个 RAM, 能够并行工作, 实现 16 个 S 盒的流水线操作。 所述的替换基元包括输入数据控 制电路和输出数据选择电路构成。
         替换基元有三种运算状态 : (1)4×4 替换 (2)6×4 替换 (3)8×8 替换。替换基元 和 RAM 组合使用可以实现 S 盒的功能, 配置单元中存储的配置信息控制替换基元的工作状 态, 输入数据控制电路对输入替换基元的数据信号做相应的处理, 输出到 RAM, 作为 RAM 的 输入地址信号。 RAM 输出对应地址的数据信号返回到替换基元, 输出数据选择电路对返回的 数据信号进行处理, 输出最终的数据信号, 即完成 S 盒替换的数据信号。
         在配置模式下, 替换单元不工作, RAM 在配置单元的控制下进行初始化。在运算模 式下, 替换单元接收输入数据信号, 完成 S 盒的替换操作, 输出处理后数据信号。替换单元 采用基于查找表的方法实现 S 盒。根据配置的不同, 能够实现多种分组密码算法中的 S 盒 替换操作。
         所述的 RAM 由 8 个大小为 64×4 位的 RAM0, RAM1,……, RAM7 组成。输入为 6 位 的地址信号, 输出为 4 位的数据信号。RAM 能同时被 16 个替换基元驱动, 实现 16 个替换基 元的并行工作。
         本发明的原理说明如下 :
         S 盒本质上可以被看做映射 : S(X) = (f1(X),…, fm(X)) :n 为 S 盒输入 X 的位数, m 为 S 盒输出的 S(X) 位数, f1(X), f2(X), ..., fm(X) 为输出 S(X) 的第 1, 2,… m 位。f1, f2, ..., fm 为输入 X 对应的输出 S(X) 各个位的映射函数, 通常简称 S 是一个 n×m的 S 盒。S 盒通常采用查找表的方式实现, 表的存储量为 m×2n 位。本发明的 S 盒在 4×4 替换、 6×4 替换、 8×8 替换三种运算状态中, 最多需要 8×28 位的 RAM, 所以本发明中采用由 8 8 个 64×4 位的 RAM0, RAM1,……, RAM7 组成的总大小为 8×2 位的 RAM。
         本发明的有益效果是 : 本发明具有运算速度快, 配置灵活, 可并行处理数据, 占用 存储单元少, 电路实现面积小的优点。 附图说明
         图 1 为本发明的基于 RAM 共享技术的可重构 S 盒电路结构示意图 ;
         图 2 为本发明的基于 RAM 共享技术的可重构 S 盒电路结构的替换单元的结构示意 图;
         图 3 为本发明的基于 RAM 共享技术的可重构 S 盒电路结构的替换单元的替换基元 的结构示意图 ;
         图 4(a) 为本发明的基于 RAM 共享技术的可重构 S 盒电路结构在流水线结构的 DES 密码 处理器中的使用说明图 ;
         图 4(b) 为流水线结构的 DES 密码处理器中轮运算的结构图。
         表 1 为本发明的基于 RAM 共享技术的可重构 S 盒电路结构的替换单元的替换基元 的信号定义 :
         表1具体实施方式
         下面结合附图和具体实施例对本发明作进一步说明。
         如图 1 所示, 本例的基于 RAM 共享技术的可重构 S 盒电路结构由配置单元电路和 替换单元电路构成, 有两种工作模式 : (1) 配置模式 (2) 运算模式。其中 : 配置单元, 用于接 收输入的控制信号, 进行存储, 配置并控制替换单元的运算状态。在配置模式下, 配置单元 首先接收输入的控制信号, 存储配置信息, 然后根据配置信息对 RAM 进行初始化配置 ; 在运 算模式下, 根据存储的配置信息控制替换单元的运算状态。替换单元, 用于接收输入数据,完成 S 盒的替换操作, 输出处理后数据, 由 16 个替换基元和一块 RAM 构成。替换单元采用 基于查找表的方法实现 S 盒。16 个替换基元可以并行工作, 共享一个 RAM。在配置模式下, 替换单元不工作, RAM 在配置单元的控制下进行初始化。在运算模式下, 替换单元接收输入 数据, 完成 S 盒的替换操作, 输出处理后数据。
         如图 2 所示, 替换单元由 16 个替换基元和一块 RAM 构成。替换单元采用基于查找 表的方法实现 S 盒。替换单元有 16 组输入数据, 分别对应 16 个替换基元。替换单元采用 RAM 共享技术, 16 个替换基元共享一个 RAM, 每一个替换基元和 RAM 组合都可以实现 S 盒的 替换功能, 最终能够实现 16 个 S 盒的流水线操作。配置单元输入的配置信号控制替换单 元的运算状态, 实现适应不同分组密码算法的 S 盒。RAM 由 8 个大小为 64×4 位的 RAM0, RAM1,……, RAM7 组成, 由配置单元在配置模式下, 通过 RAM 初始化信号, 对 RAM 进行初始 化, 存入数据。
         如图 3 和表 1 所示, 替换基元, 由输入数据控制电路和输出数据选择电路构成, 包含 8 个 8 位输入信号 DATA_IN0, DATA_IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7, 1 个时钟信号 CLK, 1 个 1 位的控制信号 CONFIG_IN, 1 个 2 位的控制信 号 MODE_IN, 控制替换基元的运算状态。8 个 6 位的内部信号 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7, 8 个 4 位输出信号 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7, 1 个 8 位输出信号 Bout。 CLK 为替换基元提供时钟信号。
         CONFIG_IN 对替换基元的配置状态进行控制 :
         1: 配置状态 ; 0: 模块工作状态
         替换基元在配置模式下不工作, 在运算模式下有三种运算状态 :
         (1)4×4 替换 (2)6×4 替换 (3)8×8 替换 ;
         (1) 当 MODE_IN = 00 时, 替换基元执行 4×4 替换, 输入信号 DATA_IN0, DATA_IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7 经过输入信号处理电路处 理, 得:
         Ain0[5:0] = {2’ b00, DATA IN0[3:0]} ;
         ( 即 Ain0 的高 2 位为 00, 低 4 位为 DATA_IN0 的低 4 位 )
         Ain1[5:0] = {2’ b00, DATA_IN1[3:0]} ;
         Ain2[5:0] = {2’ b00, DATA_IN2[3:0]} ;
         Ain3[5:0] = {2’ b00, DATA_IN3[3:0]} ;
         Ain4[5:0] = {2’ b00, DATA_IN4[3:0]} ;
         Ain5[5:0] = {2’ b00, DATA_IN5[3:0]} ;
         Ain6[5:0] = {2’ b00, DATA_IN6[3:0]} ;
         Ain7[5:0] = {2’ b00, DATA_IN7[3:0]} ;
         则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ;
         RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的 输 出 分 别 为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ;
         将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元
         中, 再输出就得到经过 32×32( 即 8*4×4) 的 S 盒变换的数据。此模式下 Bout 输出为 0。
         (2) 当 MODE_IN = 01 时, 替换基元执行 6×4 替换, 输入信号 DATA_IN0, DATA_IN1, DATA_IN2, DATA_IN3, DATA_IN4, DATA_IN5, DATA_IN6, DATA_IN7 经过输入信号处理电路处 理, 得:
         Ain0[5:0] = DATA_IN0[5:0] ; ( 即 Ain0 为 DATA_IN0 的低 6 位 )
         Ain1[5:0] = DATA_IN1[5:0] ;
         Ain2[5:0] = DATA_IN2[5:0] ;
         Ain3[5:0] = DATA_IN3[5:0] ;
         Ain4[5:0] = DATA_IN4[5:0] ;
         Ain5[5:0] = DATA_IN5[5:0] ;
         Ain6[5:0] = DATA_IN6[5:0] ;
         Ain7[5:0] = DATA_IN7[5:0] ;
         则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ;
         RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的 输 出 分 别 为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ; 将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元 中,再输出就得到经过 48×32( 即 8*6×4) 的 S 盒替换的数据, 此模式下 Bout 输出为 0。
         (3) 当 MODE_IN = 10 时, 替换基元执行 8×8 替换, 在此运算状态下, 输入信号 DATA_IN0 = DATA_IN1 = DATA_IN2 = DATA_IN3 = DATA_IN4 = DATA_IN5 = DATA_IN6 = DATA_IN7,
         经过输入信号处理电路处理, 得:
         Ain0[5:0] = DATA_IN0[5:0] ; ( 即 Ain0 为 DATA_IN0 的低 6 位 )
         Ain1[5:0] = DATA_IN0[5:0] ;
         Ain2[5:0] = DATA_IN0[5:0] ;
         Ain3[5:0] = DATA_IN0[5:0] ;
         Ain4[5:0] = DATA_IN0[5:0] ;
         Ain5[5:0] = DATA_IN0[5:0] ;
         Ain6[5:0] = DATA_IN0[5:0] ;
         Ain7[5:0] = DATA_IN0[5:0] ;
         则: RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的输入地址分别为 Ain0, Ain1, Ain2, Ain3, Ain4, Ain5, Ain6, Ain7 ;
         RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 的 输 出 分 别 为 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 ;
         将 Aout0, Aout1, Aout2, Aout3, Aout4, Aout5, Aout6, Aout7 返回输入到替换基元 中, 将它们分为四组 : {Aout0, Aout1}, {Aout2, Aout3}, {Aout4, Aout5}, {Aout6, Aout7}, 将 这四组信号输入 4 选 1 数据选择器 ( 输出数据选择电路 ), DATA_IN0[7 : 6] 为控制信号 :
         DATA_IN0[7:6] = 00 时, Bout = {Aout0, Aout1} ;
         DATA_IN0[7:6] = 01 时, Bout = {Aout2, Aout3} ;
         DATA_IN0[7:6] = 10 时, Bout = {Aout4, Aout5} ;
         DATA_IN0[7:6] = 11 时, Bout = {Aout6, Aout7} ;
         输出 Bout, 即为经过 8×8 的 S 盒替换的数据。
         如图 4(a) 和图 4(b) 所示, 采用流水线结构的 DES 密码处理器, 需要执行 16 轮的 加密运算, 即需要 16 级的轮运算模块, 每 1 级的轮运算模块中都包含扩展置换, 异或, S盒 替换, P 盒置换等操作。如果使用通用设计的 S 盒, 需要 16 个通用 S 盒才能完成 DES 算法 流水线操作, 每一个通用 S 盒都包含一 512×4 位的 RAM。但是使用所述的基于 RAM 共享技 术的可 重构 S 盒, 如图 4(a) 所示, 只需要一个 S 盒就可以实现 16 条流水线的 S 盒替换操 作, 每 1 级轮运算模块中都包含一个替换基元, 16 个替换基元共享一块 512×4 位的 RAM, 实 现 16 个 S 盒的并行替换操作, 节省了 15 个 512×4 位的 RAM 的面积。

    关 键  词:
    一种 基于 RAM 共享 技术 可重构 电路 结构
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于RAM共享技术的可重构S盒电路结构.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1115799.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1