AES算法中S盒的FPGA实现 I

语言 : verilog EDA
工具 : quartus

  • AES算法中S盒的FPGA实现 I
  • 一、S盒的简介
  • 二、S盒的实现要求
  • 三、S盒FPGA实现的具体方案

一、S盒的简介

在密码学中,S盒(Substitution-box)是对称密钥算法 ,执行置换计算的基本结构。S盒用在分组密码算法中,是唯一的非线性结构,其S盒的指标的好坏直接决定了密码算法的好坏。

二、S盒的实现要求

4×4的S-Box所占空间为64bit,对应于图中 RAM0~RAM31 这32个数据存储块。以上 32 个 S-Box 的总空间为 256 字节(=8×256bit),正好是一个8×8的S-Box 的所需空间。

图中与输入数据直接相连的 32 个 2 选 1 选择器主要负责选择输入数据的来源,由信号 Sbox_8_en 控制,当 Sbox_8_en使能时输入数据选择 Sbox_8_addr [3:0](Sbox_8_addr的低4位)的通道,不使能Sbox_8_en时输入数据选择Sbox_4_addr31[3:0]~ Sbox_4 addr0[3:0](共128位)的通道。Read_en 信号和 Write_en 信号则是分别用来控制 32 个 RAM 的数据读模式和数据写模式。每个 RAM 的输出分别标记位 D0[3:0]、D1[3:0]、…、D30[3:0]、D31[3:0],对应的输出数据 Sbox_4_Dout[127:0]是由以上32个半字节数据按照从高到低组合而成。而对于另一条路径对应的输出有16个数据:Sbox_8 D0[7:0] = {D0[3:0],D1[3:0]}、…、Sbox_8_D15[7:0] = {D30[3:0],D31[3:0]},这16个数据最终由Sbox_8_addr [7:4](Sbox_8 _addr 的高4位)控制一个16选 1 的选择器来进行选择,输出为Sbox_8_Dout[7:0]。



三、S盒FPGA实现的具体方案

具体实现的方案如下所示:

AES算法中S盒的FPGA实现相关推荐

  1. AES算法中S盒的FPGA实现 II

    AES算法中S盒的FPGA实现 II 语言 : verilog EDA 工具 : quartus 仿真 : Modelsim AES算法中S盒的FPGA实现 II 一.引言 二.S盒的FPGA实现 2 ...

  2. s盒c语言算法,AES加密算法中的S盒及其C语言实现

    摘要 详细叙述了算法中S盒的构造,并给出了其C语言实现的程序代码.S盒由有限域G F(28)上所有元素的乘法逆元及在域G F(2)上的仿射变换构成,经过S盒的非线性字节代换,密文的差分均匀性和线性偏差 ...

  3. s盒密码c语言源代码csdn,AES中S盒的c语言实现及代码

    什么是AES? AES 是一个对称分组密码算法,又称高级加密标准. AES是一个区块加密标准,用于替代原本的DES,其已然成为对称密钥加密中最流行的算法之一. 这里主要实现AES算法中最基本的S盒. ...

  4. 基于AES算法的英文文字加解密

    目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 AES算法是一种对称加密算法,被广泛应用于数据加密和保护领域中.将介绍如何使用AES算法对英文文字进行加解密. 一.AES算法概述 AES ...

  5. 奇妙的安全旅行之AES算法

    hi,大家好,今天开始我们来介绍一下对称加密算法中的AES算法. AES简介 AES(英语:Advanced Encryption Standard,缩写:AES),即高级加密标准,在密码学中又称Ri ...

  6. AES算法相关数学知识 - 素域学习

    在AES算法中的MixColumn层中会用到伽罗瓦域中的乘法运算,而伽罗瓦域的运算涉及一些数学知识如下: 素域 有限域有时也称伽罗瓦域,它指的是由有限个元素组成的集合,在这个集合内可以执行加.减.乘和 ...

  7. python base64编码_JS和Python实现AES算法

    1. AES原理 AES算法是典型的对称加密算法,AES原理可以学习这两篇文档: 漫画:什么是AES算法:https://www.toutiao.com/i6783550080784794124/ A ...

  8. 关于AES算法及JAVA中的实现

    为什么80%的码农都做不了架构师?>>>    什么是AES 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法, ...

  9. AES算法在Wi-Fi加密中的应用

    一. Wi-Fi加密技术的发展史 Wi-Fi是一种创建于IEEE802.11标准的无线局域网技术,Wi-Fi部署区网可让客户端设备无需使用电线,降低网络部署和扩充的成本.随着技术的逐渐成熟,Wi-Fi ...

最新文章

  1. 【IEEE出版-EI检索】第三届IEEE信息与计算机前沿技术国际学术会议
  2. hdu 5045 费用流
  3. python+mysql:实现一千万条数据插入数据库
  4. Linux shell脚本编程(一)
  5. mysql主键外键_MySQL主键和外键使用及说明
  6. SQL Server2000企业管理器在Win7中新建表错误的解决方法
  7. docker create_Docker镜像管理(一)
  8. centos/linux下的安装Nginx
  9. wince 错误 Error: failed PB timebomb check
  10. 精确率(查准率)、召回率(查全率)和F1值
  11. XP系统计算机桌面图标不见,win10桌面计算机图标不见了怎么办
  12. docker卸载提示Device or resource busy
  13. 1984年图灵奖--尼克劳斯·沃思简介
  14. win10系统一键安装教程
  15. Few-Shot Object Detection with Fully Cross-Transformer论文精读
  16. 【Linux】删除旧版本内核
  17. 如何计算 R 中的变异系数
  18. 互联网江湖录3——武当阿里
  19. Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构
  20. 【开源代码】Wheel-SLAM:首个只有一个 Wheel-IMU 使用地形特征(由 Wheel-IMU 测量)的 SLAM 系统

热门文章

  1. cc2530 按键中断实验——按键控制LED灯的亮灭
  2. 阿里妈妈称日均覆盖人数破7000万
  3. 个人独资企业,核定征收;怎么申请?
  4. MySQL面试:索引为啥使用B+树而不是B树
  5. 华为OD机试真题大全完整目录
  6. Pytorch 如何 优化/调整 模型参数
  7. android 桌面动画,Android 如何在Launcher的桌面滑动时添加动画效果? M
  8. 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
  9. 求和计算机教案,七年级信息技术《Excel求和》教学设计
  10. 离散数学中的x|y是什么意思?