在对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.
*
* */

csec的key更新的更多相关文章

  1. INSERT INTO .. ON DUPLICATE KEY更新多行记录

    现在问题来了,如果INSERT多行记录, ON DUPLICATE KEY UPDATE后面字段的值怎么指定?要知道一条INSERT语句中只能有一个ON DUPLICATE KEY UPDATE,到底 ...

  2. [转]主键冲突的话就更新否则插入 (ON DUPLICATE KEY UPDATE )

    mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...

  3. 【重要更新】Senparc.Weixin SDK v4.3.3升级说明

    为了更好地适应微信越来越快的API更新速度和越来越多的API数量,本次Senparc.Weixin.dll v4.3.3对一些通用功能进行了深度的重构. 本次更新同时影响以下所有Senparc.Wei ...

  4. Mysql中Insert into xxx on duplicate key update问题

    要点:Insert into xxx on duplicate key update可以在唯一索引重复的情况下,进行更新操作.           (1) 插入里边的字段应该只有一个 唯一索引:   ...

  5. 深入mysql “ON DUPLICATE KEY UPDATE” 语法的分析

    本篇文章是对mysql “ON DUPLICATE KEY UPDATE”语法进行了详细的分析介绍,需要的朋友参考下. mysql “ON DUPLICATE KEY UPDATE” 语法 如果在IN ...

  6. 微软Azure配置中心 App Configuration (三):配置的动态更新

    写在前面 我在前文: <微软Azure配置中心 App Configuration (一):轻松集成到Asp.Net Core>已经介绍了Asp.net Core怎么轻易的接入azure ...

  7. CRL快速开发框架系列教程五(使用缓存)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. 使用gulp解决RequireJS项目前端缓存问题(二)

    1.前言 这一节,我们主要解决在上一节<使用gulp解决RequireJSs项目前端缓存问题(一)>末尾提到的几个问题: 对通过require-config.js引入的js文件修改后,没有 ...

  9. Gulp自动添加版本号

    推荐使用gulp-rev + gulp-rev-collector是比较方便的方法,结果如下: "/css/style.css" => "/dist/css/sty ...

  10. 一次基于etcd的分布式锁自动延时失败问题的排查

    今天在测试基于etcd的分布式锁过程中,在测试获取锁后,释放之前超出TTL时长的情况下自动延长TTL这部分功能,在延长指定key的TTL时总是返回404错误信息,在对目标KEY更新TTL时目标KEY已 ...

随机推荐

  1. uniapp 自定义 picker

    前言 我们在开发的过程中经常会遇到现有插件无法满足需求的情况,毕竟不是组件库不能满足项目所有需求,这时就需要我们自己去构建组件. 写这篇博文也是记录我平时开发的,以后可能会用得到的东西.希望大家看到本 ...

  2. 记录篇-浪潮服务器raid卡

    在说raid卡之前,首先,我们要明确,不同的raid卡型号,会有不同的配置方式,但是总体来说是大同小异的 这里举例浪潮机架式服务器经常用到的raid卡型号:  PM8204      (其实像3108 ...

  3. java struts2框架漏洞合集

    目录 struts2 s2-016 payload 数据包 返回结果 struts2 s2-016 参考:https://github.com/vulhub/vulhub/blob/master/st ...

  4. 微信JS-SDK自定义分享接入的注意点

    微信文档 ,https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html, 在用微信自定义分享,遇到了几个坑,记录一 ...

  5. Visual Studio 2017(vs2017)绿色便携版-北桃特供

    原版的VisualStudio2017有几十G,安装起来特别慢,不少用户叫苦连天.该版本是精简过的vs2017,且简化了原来的安装程序,特别适用于教学.个人开发者.某些要求不高的企业. 该绿色便携版是 ...

  6. 关于paddleocr2.6 布局分析的踩坑总结(一)

    8月24日paddleocr发布了2.6.0,之前使用过2.5版本的布局分析,整体比较好用.近期就尝试了一下paddleocr的新版本,记录一下尝鲜经历.2.6版本的公告中指出,布局分析模型缩小了95 ...

  7. 高级讲师肖SIR _简历上 _金融类项目

    ================================ 项目名称:现金巴士 项目简介: 现金巴士是一家专注于消费金融的网络借贷信息中介服务平台,以大数据和互联网技术为基础,凭借自身风控系统和 ...

  8. Windchill_二次开发新手入门常用的API

    Windchill_二次开发新手入门常用的API 1.根据零件名称/编码 得到该零件 wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ;   ...

  9. 前端下载的方式总结(url,文件流,压缩包)

    1.比较常见的是通过a标签的href属性直接访问文件url地址. (1)const downloadUrl = (url: string, file_name?: string) => { if ...

  10. netmiko批量操作网络设备_pandas版

    from concurrent.futures import ThreadPoolExecutor import netmiko import os from threading import Loc ...