一文看懂码灵半导体CFW32C7UL系列产品应用(三): 国际标准加解密算法

欢迎再次来到“码灵半导体CFW32C7UL系列产品应用介绍”连载专题。通过前几期对CFW32C7UL系列的国密算法介绍,相信大家对码灵半导体CFW32C7UL系列的国密硬件模块有了充分的了解。
在这里插入图片描述

由于发展历程原因,目前市场上商用密码使用仍然以国际标准加解密算法为主,不过随国家对国密算法的推进,未来国密算法的应用也会越来越广泛。码灵半导体CFW32C7UL系列的加解密模块除了之前介绍的国密密码算法以外,还支持国际标准算法的AES加解密算法和SHA-1、SHA-256哈希算法。本专题聚焦于CFW32C7UL系列所支持的国际标准加解密算法硬件模块:AES分组加解密算法和SHA哈希算法。以下我们具体介绍下CFW32C7UL系列AES和SHA模块的使用以及加解密的速度等。
一、AES分组加解密算法
AES是Advanced Encryption Standard的缩写,即高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。高级加密标准是由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用,至2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
1、CFW32C7UL AES分组算法的实现
CFW32C7UL 系列的AES模块可完成标准AES加解密运算和AES-CM、AES-F8加密运算。标准AES算法即AES标准(FIPS-197)中规定的算法。AES-CM和AES-F8算法在The Secure Real-time Transport Protocol(SRTP)中有详细说明,这两种算法均以标准AES算法为基础,并对标准AES算法进行迭代运用。
AES模块中的标准AES算法除了支持CPU输入输出外,还支持DMA输入和DMA输出,而AES-CM、AES-F8只支持DMA输出。
2、CFW32C7UL AES分组算法的使用
开发模式一:裸机SDK
目前CFW32C7UL系列裸机SDK支持AES-CM, AES-F8,以及标准的AES加解密方式。其中AES-CM和AES-F8只支持加密,不支持解密。标准的AES方式支持加密和解密。
在CFW32C7UL系列 AES的SDK中有个关键的CIPHER_AES_Init_Typ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这个报错信息是指在运行一个名称为cfw的可执行件时,由于可执行件格式错误而无法运行。通常情况下,这可能是由于系统与可执行件不兼容、缺少依赖项或者件本身已经损坏。 * 如何解决这个问题? - 首先,检查可执行件的格式是否正确。可以使用file命令检查: $ file cfw cfw: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, not stripped 上述例子表示cfw是一个64位的Linux二进制件。 如果格式正确,可以检查系统中是否已经安装了必要的依赖项。如果缺少依赖项,可以下载并安装它们。 如果以上两种方法都无效,可能就需要重新编译代码并生成新的可执行件了。 总的来说,这个问题出现的原因可能有很多,需要根据具体情况采取相应的解决方案。 ### 回答2: 这个错误提示意味着尝试执行的件并不是有效的可执行二进制件。这可能是由于多种原因引起的,例如: 1. 件损坏:件可能已损坏或下载过程中出现了错误,导致它不再是完整的可执行二进制件。 2. 不兼容的体系结构:可执行件可能是为其他体系结构编译的,不兼容当前的操作系统或硬件环境。 3. 没有运行权限:如果您尝试执行一个没有运行权限的件,则会出现“无法执行二进制件”错误。 为了解决这个问题,您可以尝试以下一些方法: 1. 检查件是否完整:尝试重新下载件并检查其完整性,确保它没有损坏或缺失。 2. 检查件类型:使用命令“file filename”来查看件的类型和体系结构,确保它是适用于当前系统的有效可执行件。 3. 设定执行权限:使用命令“chmod +x filename”来为件添执行权限,确保可以运行该件。 4. 安装缺失的库:如果可执行件需要依赖其他库件,那么需要先安装这些库件,以确保可执行件可以正常运行。 总之, 您需要仔细检查件的完整性,兼容性和权限,以确保该件可以正常运行。 ### 回答3: 这个问题很可能是因为可执行件对应平台不匹配导致的。在Linux系统中,可执行件需要与当前运行的系统架构匹配,在32位系统上不能运行64位可执行件,在64位系统上不能运行32位可执行件。因此,当我们尝试运行一个不匹配的可执行件时,就会出现类似于“bash: ./cfw:无法执行二进制件: 可执行件格式错误”的错误信息。 另外,一些其他的原因也可能引起这个问题,比如可执行件没有执行权限或者件本身损坏等。 解决这个问题的方法有以下几种: 1. 确认件对应平台是否匹配。在Linux系统中,可以使用“uname -a”命令查看当前系统架构,并检查可执行件是否有与之对应的版本。 2. 确认是否有执行权限。在Linux系统中,可以使用“ls -l filename”命令查看件权限,使用“chmod +x filename”命令赋予可执行权限。 3. 确认件是否损坏。在Linux系统中,可以使用“file filename”命令查看件类型和属性,使用“md5sum filename”命令计算件的MD5值,检查件是否与原始件一致。 4. 如果可执行件是从其他系统中拷贝过来的,可以尝试重新编译一下程序,以确保在当前系统下可正常运行。 除此之外,在使用Linux系统时,我们也应该注意一些细节问题,比如不同版本系统之间的差异、件系统类型、用户权限等等,这些都可能会影响可执行件的执行情况。如果问题无法解决,可以通过搜索或向社区求助等方式获取更多的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值