STM8L探索套件学习笔记-AES硬件加密(十三)

发布者:jingyun最新更新时间:2015-12-21 来源: eefocus关键字:STM8L  探索套件  学习笔记  AES  硬件加密 手机看文章 扫描二维码
随时随地手机看文章
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。

对称密码体制的发展趋势将以分组密码为重点。分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成。密钥扩展算法将b字节用户主密钥扩展成r个子密钥。加密算法由一个密码学上的弱函数f与r个子密钥迭代r次组成。混乱和密钥扩散是分组密码算法设计的基本原则。抵御已知明文的差分和线性攻击,可变长密钥和分组是该体制的设计要点。   

AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。   

AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。1999年3月完成了第二轮AES2的分析、测试。2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为AES.   

在应用方面,尽管DES在安全上是脆弱的,但由于快速DES芯片的大量生产,使得DES仍能暂时继续使用,为提高安全强度,通常使用独立密钥的三级DES。但是DES迟早要被AES代替。流密码体制较之分组密码在理论上成熟且安全,但未被列入下一代加密标准。   

AES加密数据块和密钥长度可以是128比特、192比特、256比特中的任意一个。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。

STM8L采用的是128比特的AES加密数据块和密钥长度。
今天我们测试下面加密与解密,使用板上两个LED显示是否成功。
uint8_t PlainText[16] = "STM32L and STM8L";//需要加密的内容
 
/* encryption key used to encrypt PlainText */
uint8_t EncryptionKey[16] = "ultra-low power.";//密钥
关键字:STM8L  探索套件  学习笔记  AES  硬件加密 引用地址:STM8L探索套件学习笔记-AES硬件加密(十三)

上一篇:STM8L探索套件学习笔记-信号发生器(十四)
下一篇:STM8L探索套件学习笔记-低功耗模式(十二)

推荐阅读最新更新时间:2024-03-16 14:40

一文分享STM32的学习笔记
1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2 1,意思是APB2接高速设备 2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用 3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz 4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为32.768KHz,LSI RC(Low Speed InternalRC
[单片机]
一文分享STM32的<font color='red'>学习</font><font color='red'>笔记</font>
STM8学习笔记---定时器输出7路PWM波
STM8S003F3P6单片机共有三个定时器定时器1、定时器2、定时器4。其中定时器1为16位高级定时器,定时器2为16位通用定时器,定时器4为8位基本定时器。定时器1和定时器2可以输出PWM波。其中定时器1有4个通道,定时器2有3个通道。 现在让定时器1和定时器2所有通道同时输出PWM波。 首先初始化定时器IO口 通过最小系统图可以看出定时器通道对应的IO口为: TIM1_CH1– PC6, TIM1_CH2– PC7, TIM1_CH3– PC3, TIM1_CH4– PC4, TIM2_CH1– PC5, TIM2_CH2– PD3, TIM2_CH3– PA3, 将定时器对应的IO口都设置为推挽输出模式。因为要
[单片机]
STM8<font color='red'>学习</font><font color='red'>笔记</font>---定时器输出7路PWM波
51单片机学习笔记:基于状态机的按键对时程序(短按,长按,连
之前的电子钟程序中,用的按键消抖处理方法是10ms的延时,这种方法效率比较低 所以现在利用状态机原理重写一下,效率很高啊 4个独立按键中用到3个, keys5用于切换对时分秒等状态,keys2是减小数值,keys3是增加数值 同时可以判断按键的 短按,长按,连发 等功能 小于2秒视为短按, 大于2秒视为长按, 在长按状态下每0.2秒自动连发一次, 这样对时的时候就不用按N次了 欢迎一起交流,qq 102351263 验证码 iteye 程序分很多个文件 ,Keil uVision4 打包 C代码 #include MY51.H #include keyScan.h #include sm
[单片机]
51单片机<font color='red'>学习</font><font color='red'>笔记</font>:基于状态机的按键对时程序(短按,长按,连
MSP430学习笔记2---两个LED同时亮灭和顺闪
参照学习笔记1,再看看板子上写着P1.0(LED1) P1.6(LED2)很容易写出同时点亮两个LED的程序: 1 #include msp430x14x.h 2 3 void main(void) 4 { 5 WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer 6 P1DIR |= 0x41; // Set P1.0 to output direction 7 8 for (;;) 9 { 10 volatile unsigned int i; 11 12 P1OUT ^= 0x41;
[单片机]
C51单片机学习笔记之LED
简介 LED就是一个发光二极管,没啥好说的。唯一 一点就是低电平有效! 原理图 代码部分 #include REGX52.H void delay() { unsigned int i; for(i=0;i 30000;i++); } main() { unsigned int i; unsigned char J; while(1) { /*P0=0xFE; delay(); P0=0xFD; delay(); P0=0xFB; delay(); P0=0xF7; delay(); P0=0xEF; delay(); P0=0x
[单片机]
C51单片机<font color='red'>学习</font><font color='red'>笔记</font>之LED
ARM汇编语言学习笔记(一)介绍
目的 在看了某位大佬的文章之后也想写一点自己在学习汇编的时候的学习笔记。 新手入门,主要基于韦东山老师的新一期代码来实现操作,掌握汇编的基础操作。 以一个菜鸟的角度来看待汇编代码问题,希望可以了解代码的具体运作过程。 把问题拿出来,分析总结。希望方便后来的自己和后来学习的伙伴,不要做 double work。 一、汇编语言是什么 这是百度百科的介绍:汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过
[单片机]
STM8学习笔记---串口printf函数的实现
在使用单片机的时候,串口是要经常使用的功能,特别是在调试代码的过程中,经常需要使用串口打印出某些变量值,来判断程序执行流程是否正常。但是单片机默认情况下没有printf函数,如果需要使用printf函数的功能,就需要自己在串口代码中配置。下面总结一下如何在STM8单片机中使用printf函数功能。 首先按照常规方法先初始化串口 void Uart1_IO_Init( void ) { PD_DDR |= ( 1 5 ); //输出模式 TXD PD_CR1 |= ( 1 5 ); //推挽输出 PD_DDR &= ~( 1 6 ); //输入
[单片机]
STM8<font color='red'>学习</font><font color='red'>笔记</font>---串口printf函数的实现
STM8学习笔记——初步认识
最近项目要求找个便宜又够用的单片机,本来是想选STC的,但其实STC也并不便宜,且调试比较麻烦,而且AD不是很好,所以选择了STM8。昨天买来了ST-LINK III,拿了一块STM8S105S4,此单片机有16K ROM,2K RAM,1K的EEPROM,带10bitADC,定时器(ICOCPWM)和SPI I2C UART通讯接口,看门狗等,封装为LQFP44。 这款单片机的供电分得很细,主电源、IO口、模拟供电都分开,这样就可以非常灵活的配置,比如模拟供电可以选用5V以扩大量程;IO口可以配置位3.3或5V以适应一些设备。上图中VDD/VSS引脚用于给内部主电压调节器(MVR)和内部低功耗电压(LPVR)调节器供电
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved