![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
骆驼驼峰
文章平均质量分 79
小生叫安辰
总会解决的
展开
-
鸿蒙源码分析(四十三)
hks_openssl_hash.c代码分析一、hash函数介绍1.哈希将数据打乱混合,通过散列算法,重新创建一个叫做散列值的指纹,通常用一个短的随机字母和数字组成的字符串表示散列值。2.哈希算法特点2.1 单向不可逆性哈希(Hash)算法是一种单向密码体制,即只有加密过程,没有解密过程。2.2 可重复性相同输入经过同一哈希函数得到相同散列值,但并非散列值相同则输入结果相同。哈希函数是一种无需密钥对的加密方式无需借助任何秘钥,主要用于针对对称和非对称加密过程中需要保护的部分提供完整性、防原创 2021-08-31 17:35:09 · 178 阅读 · 0 评论 -
令牌桶算法原理
token_bucket令牌桶算法原理讲在原理之前我们今天主要是分析令牌桶算法,分析之前我们先介绍一下使用该算法的背景。限流每个API接口都是有访问上限的,当访问频率或者并发量超过其承受范围时候,我们就必须考虑限流来保证接口的可用性或者降级可用性.即接口也需要安装上保险丝,以防止非预期的请求对系统压力过大而引起的系统瘫痪.通常的策略就是拒绝多余的访问,或者让多余的访问排队等待服务,或者引流.如果要准确的控制QPS,简单的做法是维护一个单位时间内的Counter,如判断单位时间已经过去,则将Cou原创 2021-10-27 17:18:27 · 5648 阅读 · 2 评论 -
鸿蒙源码分析(四十)
kdf算法介绍以及hks_mbedtls_kdf.c代码分析一、算法介绍kdf是一种密钥派生函数,全称Key Derivation Function。密钥派生函数的作用是从一个共享的秘密比特串中派生出密钥数据。在密钥协商过程中,密钥派生函数作用在密钥交换所获共享的秘密比特串上,从中产生所需的会话密钥或进一步加密的密钥数据。函数的输入:一个比特串z,以及要获得的密钥的比特长度klen。输出:长度为klen的密钥数据比特串。其中一种变形形式为hkdf算法。(hmac+kdf)参考文章:kdf通俗原创 2021-08-24 16:51:05 · 497 阅读 · 0 评论 -
鸿蒙源码分析(三十九)
文章目录hmac算法分析一、背景知识介绍二、代码分析三、总结hmac算法分析hash函数是一种常见的单向不可逆加密函数,本篇主要分析hks_mbedtls_hash.c代码文件路径(security_huks\frameworks\huks_standard\main\crypto_engine\mbedtls\src\hks_mbedtls_hash.c)一、背景知识介绍1.什么是Hmac算法HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authenticat原创 2021-08-22 18:11:05 · 280 阅读 · 0 评论 -
鸿蒙源码分析(三十七)
ECDSA算法介绍本篇主要介绍hks_mbedtls_ecdsa.c中涉及到的加密和签名算法过程。一、相关代码hks_mbedtls_ecdsa.c代码分析二、算法介绍ECDSA(Elliptic Curve Digital Signature Algorithm),椭圆曲线数字签名算法。椭圆曲线数字签名生成假设Alice希望对消息m mm进行签名,所采用的椭圆曲线参数为D = ( p , a , b , G , n , h ) D=(p,a,b,G,n,h)D=(p,a,b,G,n,h),对原创 2021-08-22 16:55:45 · 158 阅读 · 0 评论 -
鸿蒙源码分析(三十六 )
Ecc算法简单介绍因为安全加密模块使用到很多椭圆曲线加密方法,今天主要为大家介绍一下ecc的加密原理和简单流程。具体详细过程这里不做过赘述,只介绍加密和签名的验证。因为算法代码中主要涉及这部分的知识。详细的知识原理可以参考csdn有相关优秀文章,本篇博客借助博主 Leo挺 文章链接在后面。ECC(Elliptic Curves Cryptography)加密算法是一种公钥加密算法,与主流的RSA算法相比,ECC算法可以使用较短的密钥达到相同的安全程度。近年来,人们对ECC的认识已经不再处于研究阶段,开始转载 2021-08-22 11:46:17 · 222 阅读 · 0 评论 -
鸿蒙源码分析(三十三)
ecdh算法详解一、算法概述通过椭圆曲线 Diffie-Hellman (ECDH) 密钥协商协议,两个用户可以创建共享的机密协议。他们可以在不安全的公共媒体上完成此操作,而不必事先交换任何私有信息。该共享机密协议通常用于派生密钥材料。对称算法(如高级加密标准 (AES) 算法)可以使用密钥材料对后续消息进行加密。下一代加密技术 (CNG) 安全通信示例演示了 ECDH 和 AES 算法的 CNG 实现。Alice、Bob 和 Mallory 在创建 Communicator 对象时在其 Run 方法原创 2021-08-16 08:09:25 · 211 阅读 · 0 评论 -
鸿蒙源码分析(二十九)
ED25519签名算法机制主要介绍安全密钥木块下的ed25519签名算法,为代码的标注提供理论储备。一、知识介绍Curve25519/Ed25519/X25519 是著名密码学家Daniel J. Bernstein在2006年独立设计的椭圆曲线加密/签名/密钥交换算法,与现有的任何椭圆曲线算法完全独立,其中Ed25519用于签名。ED25519 是一种 EdDSA 算法,是一种在扭曲爱德华兹曲线(Twisted Edwards curves)上使用 Schnorr 机制来实现的一种数字签名机制。它原创 2021-08-14 13:14:40 · 508 阅读 · 0 评论 -
鸿蒙源码分析(二十八)
hks_mbedtls_bn.c代码详细本篇主要分析安全模块下hks_mbedtls_bn.c文件,主要涉及到两个函数,都是为了实现大数运算中的expmod运算。文件位置一、相关知识大数运算代码二、代码分析运算参数的检查该函数主要是为了检查运算中的x和n参数,来判断n是否为大奇数,该运算要求取模数n必须为大奇数,该函数基于与运算对n的最后一位进行判断奇偶。同时比较x和n的数据域宽度,如果x_data.size < n_data.size函数报错返回,即x小于n则有可能无法存放最后结果。原创 2021-08-13 23:12:05 · 137 阅读 · 0 评论 -
最大公约数,不定方程和同余方程
求解不定方程和同余方程计算最大公约数和不定方程计算同余方程和同余方程组计算多项式同余方程1.计算最大公约数和同余方程计算最大公约数常用有辗转相除法或者是欧几里得算法。二者原理基本相似:整数a和整数b的最大公约数通过反复应用除运算,直到余数为零,最后的非零余数就是最大公约数。欧几里得算法(辗转相除法)如下:void gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}欧几里得算法数学证明:欧几里得有个非常原创 2021-02-05 10:24:45 · 639 阅读 · 0 评论 -
实现制作萝莉语音包前的准备——百度AI的使用介绍
想玩转制作语音包的同时了解AI,看这里让你二者兼得。玩转百度AI制作你想要的语音包!原创 2020-04-13 09:14:48 · 3872 阅读 · 0 评论 -
python制作萝莉御姐语音包
宅男神器——教你制作各种音色语音包,内容由你定!原创 2020-04-11 18:14:13 · 9884 阅读 · 9 评论