- 博客(34)
- 收藏
- 关注
原创 【Eclipse 之一】搭建基于Eclipse的HDSC(华大)芯片的开发环境
查找系统环境变量的方式一般为:在“此电脑”上鼠标右键,选择“属性”,打开如下界面,选择“高级系统设置”,然后选择“环境变量”,然后添加我们的安装目录到环境变量中即可。,这两个文件必须是基于Eclipse平台下能够使用的,需要根据自己当前使用的芯片去查找,我们使用的华大的芯片,可以通过华大提供的SDK开发包中进行查找。”,进入如下界面,我们可以更换其他的镜像点,但是都是国外的,换不换的都没有太大的意义,这里我们直接点“下载完成之后,解压,并将make.exe所在的目录添加到环境变量中去。
2025-03-03 10:35:04
771
原创 【Linux 之二 】基于VirtualBox安装Ubuntu系统的详细流程
问题1:安装 Guest Additions 时,提示如下错误,此时执行命令即可解决。问题2:若选择的VirtualBox的版本为6.xx的版本,安装Ubuntu22.04、Ubuntu24.04时问题。经过多次尝试安装测试,发现在VirtualBox 6.xx版本均能够正常的安装Ubuntu的各个版本的系统(20.04、22.04、24.04),但是安装 Guest Additions 时总是安装不成功,或者安装成功后,却依然无法查看共享文件夹下的文件(本质还是未安装成功)。
2025-02-06 08:00:00
1293
原创 【Linux 之 二十 】使用 ln 命令创建符号链接
重要的事情说3遍:ln -s [源文件] [链接符号]ln -s [目录] [目录链接符号]ln -s [源文件] [链接符号]ln -s [目录] [目录链接符号]ln -s [源文件] [链接符号]ln -s [目录] [目录链接符号]
2025-01-08 22:31:01
1378
原创 【Linux 之一 】Linux常用命令汇总
最近由于工作需要,接触到linux开发,但是截至目前为止,自身对linux的认知依然非常浅显(基本处于小白状态),为了激励自己学习linux,同时也是为了做一下总结,故写了本篇文章。 本文的很多内容都来自于网络,但基本都是经过本人验证过的,基本未进行原版抄袭,若您发现侵权,请私信我,谢谢。...
2025-01-08 14:55:10
2123
1
原创 代码格式化工具:clang-format
平时团队进行合作的时候需要注意代码的格式,虽然很难统一每个人的编码风格,但是通过工具能够很好的管理代码格式。clang-format,它是基于clang的一个命令行工具,能够自动化格式C/C++/Obj-C代码,支持多种代码风格:Google、Chromium、LLVM、Mozilla、WebKit,也支持自定义风格(通过编写.clang-format文件)很方便的统一代码格式。
2024-06-11 08:49:18
2419
1
原创 【T690 之十一】基于方寸EVB2开发板,结合 Eclipse+gdb+gdbserver 调试 CCAT 的流程总结
gdb与gdbserver必须使用同一个版本的。在使用Eclipse进行调试时,当配置文件中指定了共享库的搜索路径之后,在ccat.gdbinit中可以不再指定共享库的搜索路径了。但是若在该文件中指定共享库的搜索路径,则启动调试到调试环境就绪所消耗的时间要比在配置选项中指定共享库所消耗的时间少的多。
2023-11-13 08:00:00
1245
原创 【T690 之十二】基于方寸EVB2开发板(T690芯片)构建基于GMSSL的文件系统的方式
备注:1,假设您已对方寸微电子的T690系列芯片的使用方式都有了一定的了解,然后需要构建基于GMSSL的文件系统,此文才对您有意义;
2023-11-07 13:47:49
857
原创 【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Samba \ ...)
目前正在进行Linux相关项目的开发,而我的Linux开发是在Ubuntu(版本20.04)下进行的,为此需要搭建很多Linux相关的开发环境,方便工作的进行。这里主要是对各种开发环境的搭建做一个总结记录,方便后面查阅,也方便在Linux开发之路上遇到困难的各位同仁。好了,废话不多说,直接罗列各种开发环境的安装步骤等。
2023-09-22 15:25:50
837
原创 【U-Boot 之七】fastboot原理分析及uboot fastboot功能实践
(1)fastboot是android使用的一种刷机方法。android系统设计了2种刷机方式:fastboot和recovery;(2)fastboot使用usb作为物理传输。刷机其实是镜像传输+烧录,fastboot刷机时就是通过usb线来传输镜像的;(3)fastboot也是uboot中的一个命令,uboot启动时手动进入命令行模式,此时如果需要刷机,则可以在命令行中执行fastboot命令,就可以让uboot进入fastboot模式,刷机就是在fastboot模式下进行的;
2023-05-30 20:22:13
6538
10
原创 【Linux 之五】 Linux中使用fdisk命令实现磁盘分区
最近由于工作的需要,初步研究了uboot中的fastboot实现方式。研究fastboot不可避免的需要了解磁盘分区的相关知识点,在linux下可以使用fdisk命令实现磁盘的分区。好了,下面步入正题。
2023-05-17 15:57:51
4380
原创 【密码算法 之六】CCM 浅析
加密流程总结首先将数据N,A,P格式化成block块,分别对各个块进行加密,取最后一个“密文块”的高Tlen字节作为Tag值(至此CCM方法计算的MAC值已经得到了);通过“计数生成函数”生成各Ctr0,Ctr1 … Ctrm值(生成器的种子就是nonce),然后分别对各个Ctrx值进行加密,得到密文Sx,将S1,S2 … Sm拼接组成S(特别注意:这里的S0);最后得到密文,密文是P和T按照一定的形式进行的拼接;CCM的加密过程是“先计算MAC,再进行加密”,符合“MTE”的模式;
2023-04-29 08:34:21
8798
7
原创 【密码算法 之七】GCM 浅析
GCM 全称为 Galois/Counter Mode,其中 G 是指 GMAC,C 是指 CTR 模式,可以将 GCM 认为是认证模式的一种,提供认证和加密两种功能。GCM模式的分组大小为128bit。在进行GCM原理分析之前,首先应该了解一下GHASH函数及GCTR函数。GCM运算所需的对称加密算法的分组长度必须是128bit(DES\3DES不满足添加,AES\SM4满足条件);加密时,在计算MAC之前必别将附加数据(A)及密文(C)分别进行Block对齐;
2023-04-16 22:28:06
13598
12
原创 【密码算法 之十四】非对称算法,ECC椭圆曲线算法 之 ECDSA、ECDH、SM2、SM9等
ECC(Elliptic Curve Cryptography),就是椭圆曲线密码算法,它是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全,RSA加密算法也是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密(有待考证)。 ECDSA(Elliptic Curve Digital Signature Al
2023-04-16 21:14:34
7952
1
原创 【密码算法 之零】对称算法(DES,、3DES、 AES、DM5、HMAC、CMAC、SHAxx、SM3、SM4),非对称算法(RSA、ECC、ECDSA、ECDH、SM2、SM9...)
由于工作的需要,在过去的两年中学习、适配了很多算法,包括对称算法、非对称算法、国密算法、国际算法等。为了逼迫自己能够牢记并掌握这些算法的基本知识点,故本人写了一个关于算法的专栏(持续更新中。
2023-04-10 21:19:24
5110
2
原创 【OpenSSL 之一】OpenSSL初体验(编译安装、工作机制、Engine加载(afalg、cryptodev-linux)、offload等)
OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用密钥、证书封装管理功能及实现SSL协议。整个软件包大概可以分成三个主要的功能部分:SSL协议库libssl、应用程序命令工具以及密码算法库libcrypto。
2023-03-14 16:45:20
7658
原创 【密码算法 之一】对称加密算法 DES \ 3DES 浅析
DES 与 3DES 属于“分组密码”算法,目前属于“不推荐,慎用”的算法;DES 与 3DES 的分组长度均为64bit(8字节);DES 的秘钥长度为64bit(8字节),真实的有效秘钥长度为56bit;3DES 的秘钥长度为192bit(24字节),真实的有效秘钥长度为168bit;
2023-03-10 16:44:10
4436
原创 【密码算法 之二】对称加密算法 AES(Advanced Encryption Standard)浅析
AES算法的分组长度为128比特(16字节);AES算法的秘钥长度有3种,分别为128比特、192比特、256比特;AES算法是是 Rijndael 的一个子集,两者不能完全画等号,只有分组长度为128比特,秘钥长度为128、192、256比特的Rijndael算法才是AES算法;。
2023-03-06 08:00:00
3837
原创 【密码算法 之八】Hash类算法(单向散列函数) MD5 \ SHA1 \ SHA224 \ SHA256 \ SHA384 \ SHA512等浅析
MD5与SHA-1算法已被攻破,不应该再用于新的用途;SHA-2与SHA-3还是安全的,可以使用。SHA-2包括:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。SHA-3包括:SHA3-224、SHA3-256、SHA3-384、SHA3-512。算法分组长度(bytes)输出长度(hash value)(bytes)是否安全SM36432安全MD46416不安全MD56416不安全SHA164。
2023-03-01 22:06:53
6918
原创 【Nginx 之一】Nginx初体验(反向代理、负载均衡、动静分离)
Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 Nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx* 由俄罗斯软件工程师 Igor Sysoev 开发,是一款基于类似 BSD 许可的高性能 HTTP 和逆向代理 web 服务器。同时,它还可以提供
2023-02-28 22:32:25
366
原创 【Intel QAT】编译QAT自带的功能测试Sample的方法
如下图所示,修改ccat/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile文件,将156行的代码屏蔽掉,就不会再出上面的问题了。第2章节中修复的bug的思路略显粗暴,找到”根”才是出了问题之道。添加如下的这个库,就能解决找不到osalHashSHA512Full的问题。
2023-01-04 17:25:35
638
1
原创 【Intel QAT】QAT所涉及的基本术语(ADF \ CY \ CPA \ DC \ KPT ...)
在学习QAT的过程中发现,QAT代码中涉及到了很多的专业术语,有些是QAT自己定义的,有些是行业标准的。为了方便后期学习,在这里将所学到的一些术语做如下总结:术语描述备注AADAdditional Authenticated Data附加认证数据AESAdvanced Encryption Standard高级加密标准(一种对称算法)ADFAcceleration Driver Framework加速驱动框架CPACryptographic加密的
2022-05-07 10:50:43
2494
原创 C语言 之一:双向链表
在学习QAT开源框架过程中,发现代码中的双向链表写的非常好,特此记录下来,以备不时之需。好了,废话不多说,下面主要以实例的形式展示双向链表的写法。1. 双向链表结构体typedef struct registation_handle_s{ Status (*EventHandler)(accel_dev_t *accel_dev, enum adf_event event, void
2022-05-02 21:42:11
1568
原创 【密码算法 之三】分组密码工作模式 (ECB \ CBC \ CFB \ OFB \ CTR \ XTS)浅析
1. 什么是分组密码的模式 对称加密算法DES、3DES、AES等都属于分组密码,它们只能加密固定长度的明文,然而在实际生活中,人们通常需要加密的文件(数据)并不是8字节或者16字节的单个明文分组,而是需要加密一个较大的文件或者电子邮件等,对于这种需要加密任意长度的明文,就需要对分组密码进行迭代,分组密码的迭代方式就称为分组密码的“模式”。 分组密码的模式有很多种,主要分为如下几类:ECB模式:Electronic Code Book mode(电子密码本模式)CBC模式:Cipher Blo
2022-05-01 22:16:10
30813
原创 【Intel QAT】SYM类算法轮询回调过程分析
本文分析的QAT源码版本为:QAT1.7.L.4.13.0-00009,源码下载地址为:https://01.org/intel-quickassist-technology,比较遗憾的是Intel并没有开放QAT源码的版本控制,一旦有新版本的QAT发布,老版本的QAT就下架了,再也找不到了。 以下主要从回调函数的注册(初始化)及轮询两个方面进行详细的分析:1. 函数注册(初始化) 在使用Engine+Lib(QAT)实现加解密的过程中,所涉及的主要函数如下: (1) Engine回调函数
2022-04-30 16:54:07
1104
原创 【OpenSSL 之五】:HMAC算法分析
在openssl中,hamc的计算被归为pkey类的计算,但是它和digest的计算有很多的显示之处,主要区别在于digest的计算需要秘钥,而hamc的计算需要秘钥,且秘钥还有两个ipad_key、opad_key,而且这两个可以都是通过我们的秘钥key生成的。hamc的计算有一个秘钥生成的过程,与其说是秘钥生成,不如说是秘钥的复制,其实就是将秘钥放到EVP_PKEY 结构体中的ptr位置处(内存需要自己申请)。在EVP_MD_CTX下文中包含。
2021-10-16 11:08:16
5618
3
原创 Linux 之三:终端复用工具tmux浅析
目前正在进行linux方面的学习,此篇文章记录了自己在学习linux过程中的部分心得,1. 什么是tmux2. tmux的安装与启动3. 会话(session)操作4. 窗口(window)操作5. 窗格(pane)操作
2021-09-03 22:55:25
1690
原创 Linux 之二:GDB调试命令
1. 什么是gdb gdb(GNU symbolic debugger)是GNU开源组织发布的一个强大的Linux下的程序调试工具(GNU Project 调试器),它使你可以查看另一个程序在“执行”期间正在执行的操作,或该程序崩溃时正在执行的操作。 gdb主要可以如下4个方面的事情: (1)启动我们的程序,可以按照我们的自定义的要求随心所欲的运行程序。 (2)使程序在指定条件下停止。 (3)检查程序停止时发生的情况。 (4)更改程序中的内容,以便我们可以尝试纠正一个错误的影响,然后
2021-08-22 21:47:09
4041
原创 【密码算法 之四】HMAC 浅析
1. 什么是HMAC HMAC是一种使用单向散列函数来构造消息认证码(MAC)的方法,其中H就代表了hash的意思。 HMAC中所使用的单向散列函数并不是仅仅局限于一种,任何获得认证的高强度的单向散列函数都可以用于HMAC的计算。 使用单向散列函数SHA-1、SHA-224、SHA-256、SHA-384、SHA-512等构造的HMAC,分别称为HMAC-SHA1、HMAC-SHA224、HAMC-SHA256、HMAC-SHA384、HAMC-SHA512。2. HMAC的工作步骤 步
2021-08-13 12:51:24
7991
1
原创 【密码算法 之五】CMAC 浅析
1. 概述 CMAC(Cipher Block Chaining-Message Authentication Code),也简称为CBC_MAC,它是一种基于对称秘钥分组加密算法的消息认证码。由于其是基于“对称秘钥分组算法”的,故可以将其当做是对称算法的一种操作模式。 CMAC可以应用的算法主要有:AES、DES、3DES等。2. 原理分析 以AES128为例,对其工作原理进行探讨。2.1 符号名称含义b加密块的位长(bit)Rb用于生成子秘钥的常量字符串
2021-08-12 20:37:07
39921
18
原创 ARM之一 分散加载文件(scatter)详述
1. 基础知识 为了充分理解分散加载文件的魅力,必须对工程编译后的内容有详细的了解。 编译后的内容如下所示: 1)Code:为程序代码部分; 2)RO-Data:表示程序定义的常量及 const 型数据; 3)RW-Data:表示已经初始化的静态变量,变量有初值; 4)ZI-Data:表示未初始化的静态变量,变量无初值。 当 Keil 工程编译完成后,查看其 map 文件,可得到结果如程序清单。==========================================
2021-02-25 11:20:11
12353
7
原创 电信物联网平台SOTA升级(软件升级)的全流程说明
电信物联网平台SOTA升级(软件升级)的全流程说明中国电信物联网开放平台(以下简称“平台”)提供了基于LWM2M的固件升级功能,用于模组的固件升级。但是由于多数模组并未提供升级接口给MCU,所以MCU升级只能基于应用层来实现升级,为了避免和模组的升级混淆,我们把MCU的升级称为软件升级。1.总体流程要在电信平台上执行软件升级功能,基本需要完成如下步骤:(1)在电信开发者平台上制作“编解码插件”,并通过电信的认证,取得认证证书之后,才能将“编解码插件”部署到电信的正式平台(测试平台好像不需要证书验证)
2021-02-20 13:32:43
4084
9
原创 国产蓝牙SOC CST92F30在线仿真的方法
最近在使用芯海的CST92F30蓝牙芯片做一个蓝牙模块,但是新建工程后,发现直接通过MDK对其在线调试是一件非常麻烦的问题。经过测试,现将其在线调试的方式做如下总结:1、编译环境 编译环境工具:MDK(Keil5.17)2、配置步骤1、清空Flash数据 在开启调试功能前,首先要保证CST92F30的Flash是清空状态,如果Flash没有被清空将有此错误提示。清空Flash的方法如下步骤: 1)将DEMO板使用MicroUSB线连接电脑,按住BOOT0键后按一下RST键,松开BOOT
2020-12-24 13:59:34
2061
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人