csec的key更新
2024-10-21 13:27:45
在对csec的使用中(其他遵循hsm key update协议的芯片也适用),kdf的运算过程中遇到的数据都是128bit。不需要考虑padding的问题。
目前并没有找到对padding的一致性的处理方式。
对于Miyaguchi-Preneel compression的具体计算过程,Wikipedia中存在相应的算法解释。
https://en.wikipedia.org/wiki/One-way_compression_function
AES的CBC模式:
mbedtls_aes_context aes;
mbedtls_aes_init( &aes );
ret = mbedtls_aes_setkey_enc( &aes, k1, 128u );
ret = mbedtls_aes_crypt_cbc( &aes, MBEDTLS_AES_ENCRYPT, ATOMIC_BUFSIZE*2, IV_zero, data_connected, pM2); /* */
mbedtls_aes_free( &aes );
AES的ECB模式:
mbedtls_aes_context aes;
mbedtls_aes_init( &aes );
ret = mbedtls_aes_setkey_enc( &aes, tempIV, 128u );
ret = mbedtls_aes_crypt_ecb( &aes, MBEDTLS_AES_ENCRYPT, key, tempENC_Text);
mbedtls_aes_free( &aes );
CMAC算法:
const mbedtls_cipher_info_t *cipher_info; cipher_info = mbedtls_cipher_info_from_type( MBEDTLS_CIPHER_AES_128_ECB );
ret = mbedtls_cipher_cmac( cipher_info, k2, 128u, data_connected, M1_SIZE + M2_SIZE, pM3);
注意,CMAC的计算模式也是CBC模式,由于CBC模式的初始化向量必然要用到,相关的NIST公开规范中规定初始化向量为全零值。
/* The Fid can be considered as always 6bits. no matter the SFE is 0x00 or 0x01.
* Align the Fid to the leftest postion.
*
* */
最新文章
- Spring task定时任务
- Libevent 的多线程操作
- include使用中注意的问题
- Java并发之工具类 ForkJoin 任务分解
- oracle触发器设置uuid变量
- 转!!java线程状态
- 实现Android 动态载入APK(Fragment or Activity实现)
- Codeforces Round #277(Div 2) A、B、C、D、E题解
- Redis系列整理
- 地精排序(Gnome Sort) 算法
- 经典案例之MouseJack
- Java中常见数据结构List之LinkedList
- Swift必备开发库(高级篇)
- linux系统下FTP服务器的安装和配置
- WebSocket参考
- nlp算法工程师养成记 目标要求
- jsp中的JSTL与EL表达式用法及区别
- JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
- 3D游戏开发之UE4中的集合:TSet容器
- [ios]IOS的AppDelegate方法中的事件触发调用 以及 关闭 ios应用程序
热门文章
- OpenLayers地图标注及弹窗实现
- 【研究生学习】SNR、Eb/N0和Es/N0的关系
- 【1】部署环境python+pycharm+JDK+SDK+node安装+appium安装+Appium-python-client安装及配置+(模拟器)
- 2020icpc沈阳H
- 布尔类型:boolean
- redis底层数据结构之整数集合(intset)
- linux端口探测
- [273] High Five Update 3 OpCodez
- shell_Day08
- kumquat