自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 分布式系统架构-samgr/source系统服务开发框架基础代码message.c讲解

分布式系统架构-samgr/source系统服务开发框架基础代码message.c讲解本篇概述代码框架消息管理流程图message.h关键结构体函数声明message.c发送请求与响应接收消息与释放消息共享知识补充本篇概述本篇主要讲解message.h和message_inner.h以及message.c的部分代码,这三个文件代码核心在于消息(msg)的收发,通过请求与响应的方式,利用消息交换进行外部接口对服务于功能的调用管理,请求与响应像是一对相生相融的兄弟,共同决定了系统的安全运作。代码框架me

2021-10-30 20:22:00 1963

原创 从接口模式开始COM编程

COM编程简介COM(Component Object Model)即组件对象模型,COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自

2021-10-30 12:19:06 455

原创 分布式系统架构-samgr/source系统服务开发框架基础代码iunknown.c讲解

分布式系统架构-samgr/source系统服务开发框架基础代码iunknown.c讲解本篇概述代码框架一些宏定义iunknown.cIUNKNOWN_QueryInterfaceIUNKNOWN_AddRefIUNKNOWN_Release本篇概述基于IUnknown,我们可以开发服务或功能的对外接口,接口实现的本质是函数地址的传导与函数的调用,因此IUnknown在M核和A核系统服务开发框架基础代码中显得尤为重要。组件对外公布的是接口,一个组件可以实现多个接口,也就是说可以对外公布多个接口,组件本

2021-10-30 11:43:36 1732

原创 分布式系统架构-samgr/source系统服务开发框架基础代码feature.c讲解

分布式系统架构-samgr/source系统服务开发框架基础代码feature.c讲解本篇概述feature.hfeature_impl.hfeature.c代码框架本篇概述本篇主要讲解feature.h、feature_impl.h以及feature.c三个文件。这三个文件主要集中讲述了有关开发功能时,需要实现的功能的生命周期接口的一系列基础函数。总结来说:feature.hfeature_impl.hfeature.c代码框架...

2021-10-29 09:34:06 306

原创 分布式系统架构-samgr/source系统服务开发框架基础代码common.c讲解

分布式系统架构-samgr/source系统服务开发框架基础代码common.c讲解本篇概述common.h宏定义部分函数声明部分common.c函数框架向量的初始化操作向量位置定位操作向量功能性函数小结本篇概述本篇主要讲解文件common.h 和 common.c,它们:提供了Samgr和外部模块的常用对象和函数。提供了简化的矢量容器和向下转换函数。common.h宏定义部分typedef void *MQueueId;typedef void *MutexId;typedef vo

2021-10-24 16:50:42 300

原创 Cortex简介

Cortex简介前提即要简介Cortex-ACortex-MCortex-M核心特点:Cortex-R总结前提即要在系统服务框架-子系统samgr_lite介绍中有:由于平台资源有限,且硬件平台多样,因此需要屏蔽不同硬件架构和平台资源的不同、以及运行形态的不同,提供统一化的系统服务开发框架。根据RISC-V、Cortex-M、Cortex-A不同硬件平台,分为两种硬件平台,以下简称M核、A核。M核:处理器架构为Cortex-M或同等处理能力的硬件平台,系统内存一般低于512KB,无文件系统或者仅提

2021-10-24 16:32:56 8741

原创 POSIX和CMSIS接口

POSIX和CMSIS接口POSIX标准系统接口简介进一步理解知识补充POSIX框架图CMSIS标准简介CMSIS的结构框架图进一步理解小结POSIX标准系统接口简介POSIX(Portable Operating System Interface of UNIX),可移植操作系统接口,它定义了操作系统应该为应用程序提供的接口,其中X代表UNIX,是对Unix API的传承。POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的PO

2021-10-23 01:01:04 1708

原创 《机器学习工具与方法》--- WEKA实战二

《机器学习工具与方法》— WEKA实战二第一题题目:Glass.arff-Classify-Ibk-10折交叉验证选择元学习器FilteredClassifier-IBk分类器,并选择AddNoise无监督属性过滤进行数据分析,同时可以根据数据画图进行结果分析。解答:导入玻璃数据集,分类器中选中weka.classifiers.meta.FilteredClassifier,选择元学习器weka.classifiers.lazy.IBk,即k邻近算法进行分类,同时选中过滤器weka.filt

2021-10-17 00:15:49 1308

原创 《机器学习工具与方法》--- WEKA实战一

《机器学习工具与方法》— WEKA实战一第一题题目:weather数据中,添加Mode属性,设置为nominal类别,并设置和输入mode的值解答:导入weather数据集选择AddUserFields过滤器,并在编辑框中增加新属性Mode,设置为nominal类别,然后应用该过滤器。操作过程如下图所示:选择AddValues过滤器,编辑其标签为good&bad,应用后即可在数据编辑框中进行数据填写,操作过程如下:第二题题目:glass数据中查看Fe属性,并进行

2021-10-16 10:45:05 2406

原创 系统服务框架-子系统samgr\_lite介绍

samgr_lite介绍简介目录约束开发服务开发服务的子功能开发进程内对外接口调用进程内服务开发跨进程间对外接口调用跨进程间服务开发跨进程间服务调用客户端代理涉及仓简介由于平台资源有限,且硬件平台多样,因此需要屏蔽不同硬件架构和平台资源的不同、以及运行形态的不同,提供统一化的系统服务开发框架。根据RISC-V、Cortex-M、Cortex-A不同硬件平台,分为两种硬件平台,以下简称M核、A核。M核:处理器架构为Cortex-M或同等处理能力的硬件平台,系统内存一般低于51

2021-10-15 20:42:51 918

原创 security_huks模块下hks_service.c代码评注(四)

security_huks模块下hks_service.c代码评注(四)本篇概述代码框架密钥检查服务1. hks_service_import_public_key2. hks_service_export_public_key3. hks_service_delete_key4. hks_service_is_key_exist安全相关服务1. hks_service_register_file_callbacks2. hks_service_get_pub_key_alias_list3. hks_se

2021-10-09 20:43:40 161

原创 security_huks模块下hks_service.c代码评注(三)

security_huks模块下hks_service.c代码评注(三)本篇概述代码框架非对称密钥与认证服务1. hks_service_asymmetric_sign2. hks_service_asymmetric_verify3. hks_service_verify_with_alias4. hks_service_asymmetric_verify_init大数运算服务1. hks_service_bn_exp_mod_check2. hks_service_bn_exp_mod本篇概述本篇接

2021-10-09 17:35:34 179

原创 security_huks模块下hks_service.c代码评注(二)

非对称部分算法服务部分管理服务部分安全模块封装

2021-10-09 00:09:50 260

原创 security_huks模块下hks_service.c代码评注(一)

security_huks模块下hks_service.c代码评注(一)本篇概述本篇框架准备工作添加包依赖定义静态量核心函数定义1. hks_service_generate_key、2.本篇概述由security_huks模块下hks_service部分代码框架,我们可将华为密钥存储hks的服务部分分成:密钥服务、算法服务、管理服务和检验服务这几个模块,本篇主要讲述有关密钥服务的部分代码注释。本篇框架准备工作添加包依赖本部分要特别注意增加mbedtls相关接口源码库,其中的hkdf、ecdh、

2021-09-30 12:23:11 356

原创 security_huks模块下hks_service部分代码框架

security_huks模块下hks_service部分代码框架本篇综述hks_service代码框架generate_key_service部分algorithm_sign_verify_service部分functional_service部分key_management_service部分general_security_guarantee部分本篇综述本篇文章主要讲解hks_service的代码框架,依照hks_service.h部分函数的申明和头文件的定义,我们能够先入为主地了解到hks_se

2021-09-24 12:29:13 203

原创 ECDH算法详解

ECDH算法详解ECDH算法详解DH密钥交换原理结合ECC椭圆曲线算法ECDSA签名算法参考资料ECDH算法详解DH密钥交换原理进一步解释:两端(Alice 和 Bob)想要安全的交换信息并且第三方不能获取到该信息。当然这也是TLS协议中的目的之一,举个例子。(其实下面的描述其实是ECDHE,而不是ECDH)Alice 和 Bob 生成他们自己的私钥和公钥,即 Alice 已知随机数a, 以及一个底数g和一个大质数p;Bob已知随机数b。Alice把经过模幂运算的结果A,以及已知的g,

2021-09-23 21:06:34 13108

原创 ECDH算法详解

ECDH算法详解ECDH算法详解DH密钥交换原理结合ECC椭圆曲线算法ECDSA签名算法ECDH算法详解DH密钥交换原理进一步解释:两端(Alice 和 Bob)想要安全的交换信息并且第三方不能获取到该信息。当然这也是TLS协议中的目的之一,举个例子。(其实下面的描述其实是ECDHE,而不是ECDH)Alice 和 Bob 生成他们自己的私钥和公钥,即 Alice 已知随机数a, 以及一个底数g和一个大质数p;Bob已知随机数b。Alice把经过模幂运算的结果A,以及已知的g,p发给B

2021-09-23 20:59:37 2541

原创 Curve25519加解密与Ed25519加密签

Curve25519加解密与Ed25519加密签几种著名的椭圆曲线的方程和对应的实际应用几种著名的椭圆曲线的方程和对应的实际应用魏尔斯特拉斯曲线和基于魏尔斯特拉斯曲线的若干种椭圆曲线公钥算法蒙哥马利曲线和基于蒙哥马利曲线的Curve25519密钥协商算法爱德华曲线和基于爱德华曲线的Ed25519数字签名算法...

2021-09-17 00:28:46 6713

原创 密钥导出函数KDF

密钥导出函数KDFKDF概述KDF执行方法密钥派生算法KDFs的使用KDF流程图参考地址KDF概述KDF全称(Key derivation function) 密钥导出函数。密码学中,密钥导出函数是指使用伪随机函数从主密钥master_key中导出一个或多个密钥key。KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥。密钥加密哈希函数是用于密钥推导的伪随机函数的流行示例。KDF执行方法实现 key stretching [1] 的方法,具体就是从一个 master key,password

2021-09-05 23:47:24 19371 1

原创 security_huks模块下hks_rkc.c代码评注第六部分

security_huks模块下hks_rkc.c代码评注第六部分本篇概述代码框架代码详解1. hks_rkc_chk_init_para2. hks_rkc_init_ksf3. hks_rkc_init4. hks_rkc_destroy5. hks_rkc_clear_mem6. hks_rkc_chk_kek_para7. hks_rkc_get_kek本篇小结本篇概述本篇是接着:security_huks模块下hks_rkc.c代码评注第一部分security_huks模块下hks_rk

2021-09-04 00:55:21 425

原创 security_huks模块下hks_rkc.c代码评注第五部分

security_huks模块下hks_rkc.c代码评注第五部分本篇概述代码框架密钥加密、生成与掩码1. hks_rkc_mk_crypt2. hks_rkc_mask_mk3. hks_rkc_make_mk4. hks_rkc_create_ksf密钥内存恢复1. hks_rkc_recover_mk_mem2. hks_rkc_recover_rk_mem3. hks_rkc_load_ksf本章小结本篇概述本篇是接着:security_huks模块下hks_rkc.c代码评注第一部分se

2021-08-30 17:50:15 145

原创 security_huks模块下hks_rkc.c代码评注第四部分

security_huks模块下hks_rkc.c代码评注第四部分本篇概述代码框架密钥获取部分1. hks_rkc_pbkdf2_hmac2.本篇概述本篇是接着:security_huks模块下hks_rkc.c代码评注第一部分security_huks模块下hks_rkc.c代码评注第二部分security_huks模块下hks_rkc.c代码评注第三部分在讲解完密钥库文件的检查操作、密钥库文件中材料的生成相关操作和方法后,本篇将继续讲述hks_rkc.c代码中有关密钥获取以及写所有密钥库

2021-08-29 23:46:32 291

原创 mbedTLS简介

mbedTLS简介mbedTLS的背景介绍关于mbedTLS的简要概括mbedTLS常用结构体1. 公钥算法类型mbedtls_pk_type_t2. 摘要算法类型mbedtls_md_type_t3. 公钥上下文mbedtls_pk_context4. 解析证书得到的mbedtls_pk_info_tmbedTLS使用事例mbedTLS_API分析参考文章mbedTLS的背景介绍MbedTLS前身是开源加密算法库PolarSLL,现已被arm公司收购并由arm技术团队进行维护更新,是对TLS和SSL协

2021-08-28 21:56:24 14163

原创 PBKDF2算法原理

PBKDF2算法原理算法介绍函数定义PBKDF2的算法流程主密钥生成流程图算法执行步骤结合SHA-256算法流程图PBKDF2算法的产生背景参考资料算法介绍PBKDF2(Password-Based Key Derivation Function) 应用一个伪随机函数以导出密钥。导出密钥的长度本质上是没有限制的(但是,导出密钥的最大有效搜索空间受限于基本伪随机函数的结构)。它的基本原理是通过一个伪随机函数(例如 HMAC 函数),把明文和一个盐值作为输入参数,然后重复进行运算,并最终产生密钥。如果重

2021-08-28 16:26:36 9651

原创 security_huks模块下hks_rkc.c代码评注第三部分

security_huks模块下hks_rkc.c代码评注第三部分本篇概述代码结构密钥库文件审查1. hks_rkc_chk_ksf2. hks_rkc_chk_all_ksf密钥库材料的生成1. hks_rkc_get_fixed_material2. hks_rkc_calc_material3. hks_rkc_make_random_material本篇小结本篇概述本篇接着security_huks模块下hks_rkc.c代码评注第一部分security_huks模块下hks_rkc.c代

2021-08-27 17:46:44 203

原创 memcpy_s与wmemcpy_s函数的理解

来源memcpy_s、 wmemcpy_s源于memcpy、 wmemcpy,并且是它们的安全版本,安全性体现在memcpy_s、 wmemcpy_s函数定义中加入了目标缓冲区的大小。函数声明具体的函数声明如下:errno_t memcpy_s( void *dest, size_t numberOfElements, const void *src, size_t count );errno_t wmemcpy_s( wchar_t *dest, size_

2021-08-27 15:45:52 897

原创 security_huks模块下hks_rkc.c代码评注第二部分

security_huks模块下hks_rkc.c代码评注第二部分本篇综述本篇代码架构关键信息提取1.hks_rkc_extract_ksf_file_flag2.hks_rkc_extract_ksf_hash3.hks_rkc_extract_ksf_rk4.hks_rkc_extract_ksf_mk5. hks_rkc_extract_ksf_buf读取密钥库文件1.hks_rkc_read_ksf2.hks_rkc_read_all_ksf本篇小结本篇综述本篇是hks_rkc.c代码评注的第二

2021-08-25 18:13:10 214

原创 security_huks模块下hks_rkc.c代码评注第一部分

security_huks模块下hks_rkc.c代码评注第一部分本篇综述变量定义与初始化密钥库文件属性初始化初始化熵填充密钥库文件缓冲区填充哈希字段到缓冲区填充根密钥数据到缓冲区填充主密钥数据到缓冲区填充密钥库文件信息(整体封装)写入密钥库文件本篇小结本篇综述hks_rkc.c中主要包含了对密钥库文件操作的各项函数定义,结合hks_rkc.h我们能详细了解根密钥组件在密钥系统当中是如何工作并发挥效能的。本篇是hks_rkc.c代码评注的第一部分,主要讲解在hks_rkc.c中变量定义与初始化、密钥库文

2021-08-21 18:58:27 269

原创 security_huks模块下hks_rkc.h代码评注

security_huks模块下hks_rkc.h代码评注本篇综述代码框架关键代码展开1. 枚举类型定义2. 预编译模块3. 结构体定义4. 函数声明本篇小结本篇综述本篇主要讲解hks_rkc头文件代码的主要内容。hks_rkc.h中主要定义了有关RKC(root key component)根密钥组件相关的一系列结构体、枚举类型、预编译以及函数声明部分,对hks_rkc.h的了解有助于我们进一步对hks_rkc.c的理解。因此,本篇我们会重点讲解hks_rkc.h中含有的关键定义,为hks_rkc.c

2021-08-20 17:55:38 163

原创 security_huks模块下hks_file.c代码评注

security_huks模块下hks_file.c代码评注本篇综述关键代码架构关键先导1. 结构体 hks_file_callbacks2. 函数 hks_init_buf_data3. 空间的申请与释放hks_file.c中关键函数1. hks_file_register_callbacks2. hks_file_read3. hks_file_write4. hks_file_size5. hks_file_init_data6. hks_file_del_s本篇小结本篇综述hks_file.c是

2021-08-19 19:26:11 178

原创 security_huks模块下hks_client.c代码评注(下)

security_huks模块下hks_client.c代码评注(下)hks_client.c总述(下)代码关键部分模块框架各模块详解hks的aead加密hks的密钥派生和密钥许可协议hash运算相关函数集服务类函数集其他函数知识提点AEAD加密服务类调用原函数参考hks_client.c总述(下)本篇解上篇代码评注展开,上篇详见:security_huks模块下hks_client.c代码评注(上)代码关键部分模块框架hks_client.c├── include│ └── "hks_cl

2021-08-17 21:01:51 224

原创 security_huks模块下hks_client.c代码评注(上)

这里写目录标题一级目录知识提点DLL编程的导入导出二级目录三级目录一级目录知识提点DLL编程的导入导出#ifdef _EXPORTING#define API_DECLSPEC __declspec(dllexport)#else#define API_DECLSPEC __declspec(dllimport)#endif这个宏,是为了便于开发和使用自己写的dll库的。用同样的 API_DECLSPEC 类型声明,在dll的.cpp文件里,添加#define _EXPORTING

2021-08-17 19:42:55 296

原创 security_huks模块下hks_access.c代码评注

安全模块hks_access.c代码评注1.hks_access.h2.__hks_handle_secure_call3.几个关键函数的定义进入安全模式函数获取权限初始化、存取权限销毁、更新密匙信息生成密匙信息(对)存取签名信息使能、存取证实信息使能存取aead加密解密密匙信息存取控制系列函数加密规则与算法相关函数对应功能函数的执行函数知识提点1.hks_access.hhks_access.c是在hks_access.h的基础上对具体函数的定义操作,因此其中用到了access.h中对各个功能结构体的

2021-08-16 21:01:34 241

原创 security_huks模块下hks_access.h代码注解

安全模块security_huks/frameworks/huks_lite/source/hks_access.h代码注解预编译cmd类型成员结构体定义函数声明预编译cmd类型成员结构体定义函数声明预编译#ifndef HKS_ACCESS_H/*可以根据是否已经定义了一个变量来进行分支选择,其作用是:1、防止头文件的重复包含和编译;2、便于程序的调试和移植;*/#define HKS_ACCESS_H#include "hks_types.h"cmd类型成员//hw_

2021-08-15 21:22:29 137

原创 OpenHarmony中HUKS组件基本介绍

OpenHarmony中HUKS组件基本介绍HUKS简介HUKS分层HUKS框架相关仓HUKS简介HUKS(Harmony Universal KeyStore,鸿蒙通用密钥库系统)向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。HUKS是通用密钥管理服务,向应用提供KeyStore及Crypto接口API,包括密钥管理及加解密等功能。HUKS分层HUKS SDK层HUKS SDK层能提供HUKS API供应用调用。

2021-08-15 19:44:10 2648

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除