- 博客(19)
- 收藏
- 关注
原创 特别篇---01
本来是打算在网页上贴出常见加解密算法的RTL,但是由于本人在工作的时候也在写这些代码,考虑到信息安全问题, 所以我取消了RTL的附录,不过我们可以线下交流。
2025-03-04 14:06:48
307
转载 常见编码算法4-- 算数编码
算术编码是图像压缩的主要算法之一。是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n < 1.0)的小数n。
2024-11-21 14:32:35
187
转载 常见编码算法 3--Golomb编码
终于完成了这篇博文,本文主要对Golomb编码进行了一个比较详尽的描述,包括Golomb编码的两个变种:Golomb-Rice和Exp-Golomb。byte数组和bit流之间的转换需要一个唯一的编码终止符解码时,byte buffer中剩余数据不足以完成一次解码实现了一个简单的BitStream库,能够方便在bit流和byte数组之间进行转换对编码后的码元长度做了一个假设,其最长长度不会超过64位,这样就使用64比特的0作为编码的终止符。
2024-11-20 16:27:43
369
原创 常见编码算法 2--huffman编码
例:0在没有对应的编码数字,那就再查找00,发现编码表中没有00这种编码,那就再查找001,而编码表中d的编码是001,于是我们找到了第一个编码符号d,然后再看剩下的01010010000101110101,同样从0开始匹配,发现01为a,然后再匹配剩下的,直到所有的bit全部匹配完成。举个例子:一个信息串“abaaeabcbbbecaadddaa”, 其中a出现的频率为:0.4, b出现的0.25,c出现的频率为:0.1,d出现的频率为:0.15, e出现的频率为:0.1,那如何通过比特串解码数据呢?
2024-11-18 15:17:39
240
原创 流水线中的握手和反压-01
在AXI总线,交换数据采取的是握手协议,也就是valid 和ready,这种方式也常常出现在数据流链路中,其特点是数据不会被污染,泄露,覆盖等,我们可以把其这个握手做成一个单独的模块,封装起来后直接调用。如果下一级没有接受能力,也就是i_ready拉为0,如果直接将i_ready打一拍,那在当前周期,上一级还没看到i_ready拉为0,还会继续给本级输入数据,此时本级内部的数据会污染(因为下一级没法接受数据了)代码里的输入输出的命令方式有点不习惯,在实际应用中大家可以改一下。# 流水线 总线 #
2024-08-23 15:28:46
651
原创 消息认证码(MAC)
声明:本文创作内容含代码均为个人创作所得,允许学习、传阅,不得用于商业用途#消息认证码(MAC)是消息和密钥的函数,它是生成一个定长的值作为认证符,一般用于添加到消息尾部用于验证身份。
2024-01-09 23:39:50
707
原创 SHA-3算法原理和硬件实现
声明:本文创作内容含代码均为个人创作所得,允许学习、传阅,不得用于商业用途##本文包含SHA-3从算法到硬件实现的全部#
2024-01-08 21:46:33
941
1
原创 对称加密算法模式简介
在对称加密算法中,我们常用的AES和SM4是不是可以满足所有的应用需求的数据块加密呢?答案是否定的,如果简单的使用AES去加密所有的信息,则比较容易被破解,因为相同的数据块加密后的结果是一样的。假设我们将数据分为多块,每一块的数据加密后同时又影响到另一块的数据加密,然后依次影响后面的数据加密,这样的加密方案才是更加安全的,于是诞生了多种加密模式。不同加密需求适用于不同的加密模式;---------先开个头,后面介绍下所有的加密模式-----,可能会给出一种模式的python代码(如果有golden数据)
2023-12-12 23:37:52
1802
原创 SHA-256算法原理和硬件实现
SHA-256整个算法架构和SM3一样,第一步拼接,第二步迭代,区别是迭代过程中的对数据逻辑运算不一样,大家可以和专栏里面SM3对比起来看。#声明:本文创作内容含代码均为个人创作所得,允许学习、传阅,不得用于商业用途#-------------先起个开头,后面再来补充-----------#实践会让你更加透彻理解算法原理,才能让知识灌入大脑##本文包含SHA-256从算法到硬件实现的全部#
2023-12-09 21:57:58
1176
原创 AES算法原理和硬件实现
声明:本文创作内容含代码均为个人创作所得,允许学习、传阅,不得用于商业用途##本文包含AES从算法到硬件实现的全部##实践会让你更加透彻理解算法原理,才能让知识灌入大脑#一 背景:AES(Advanced Encryption Standard)是对称加密算法中的一种,应用于数据块加密,是美国国家标准与技术提供的一种数据加密算法,目前已成为国际上标准的数据加密算法;
2023-12-07 23:43:38
2102
4
原创 SM4算法原理和硬件实现
声明:本文创作内容含代码均为个人创作所得,允许学习、传阅,不得用于商业用途##本文包含SM4从算法到硬件实现的全部##实践会让你更加透彻理解算法原理,才能让知识灌入大脑#
2023-12-06 20:19:07
2868
1
原创 SM3 hash算法原理和硬件实现
算法总结:将输入的数据先进行填充得到N个512比特的数据,然后经过N轮迭代压缩运算,每一轮的具体是先将输入的512比特划分为16个字,用这16个字经过运算获得一些中间变量值,然后用这些中间变量值以及上一次轮的hash值经过64轮的逻辑运算,就可以得到最终的hash值;”,然后再添加64个比特串,比特串是消息长度L的二进制表示,比如消息长度是24个比特,那么添加的64个比特串的二进制表示为 00…V(0)是256比特的初始值,固定且已知,B(i)就是上面的填充分组后的消息,最终结果为V(n)
2023-11-27 22:38:57
4043
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人