![](https://img-blog.csdnimg.cn/20210805235843425.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
crypto
文章平均质量分 68
aes rsa
代码改变世界ctw
ARMv8/ARMv9/TEE/安全/芯片
展开
-
[专栏目录]-Crypto学习笔记目录
reserved-2021-0204-01sdgdfgdg原创 2021-02-04 23:57:58 · 366 阅读 · 0 评论 -
01-密码学基础-前言
reserved-ARMV8的aarch64和aarch32通用寄存器之间的map关系原创 2021-04-21 10:48:09 · 597 阅读 · 0 评论 -
06-密码学基础-混合密码系统
混合密码系统 : 用对称密码提高速度,用公钥密码保护会话密钥通过使用对称密码,就能够在通信中确保机密性。然而要在实际中运用对称密码,就必须解决密钥配送问题。公钥密码,可以避免解密密钥的配送,从而也就解决了对称密码所具有的密钥配送问题。但是,公钥密码还有两个很大的问题:公钥密码的处理速度远远低于对称密码。公钥密码难以抵御中间人攻击。混合密码系统:将对称密码和公钥密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合。混合密码系统中会先用快速的对称密码来对消息进行加密,这.原创 2021-10-16 07:31:53 · 750 阅读 · 0 评论 -
05-密码学基础-RSA的介绍
1、什么是RSA?RSA是一种公钥密码算法,它的名字由三位开发者,即Ron Rivest、Adi Shamir和Leonard Adleman的姓氏的首字母组成的。 RSA被用于公钥密码和数字签名。 1983年,RSA公司为RSA算法在美国取得了专利,但现在该专利已经过期。2、算法原理介绍step说明描述备注1找出质数P 、Q-2计算公共模数N = P * Q-3欧拉函数φ(N) = (P-1)(Q-1)-4计算公钥E1 < E &原创 2021-10-16 07:20:42 · 1738 阅读 · 1 评论 -
04-密码学基础-aes和分组密码的介绍
1、什么是AESAES(Advanced Encryption Standard)是取代前任(DES)而成为新标准的一种对称密码算法。全世界的企业和密码学家提交了多种对称密码算法作为AES的候选,最终在2000年从这些候选的算法中选出一种叫Rijndael的对称密码算法,并将其确定为AES。AES的选拔过程组织者:美国的一个标准化组织NIST(National Institute of Standards and Technology)目的:选出的算法将成为美国国家标准,也将成为一个世界性标准。原创 2021-10-13 11:19:36 · 1518 阅读 · 0 评论 -
03-密码学基础-数字摘要hash的介绍
密码学基础(3)-数字摘要hash的介绍原创 2021-10-13 10:51:46 · 1832 阅读 · 1 评论 -
02-密码学基础-基础知识介绍
密码学学习什么?AESHASHHMACRSA将对称密码和公钥密码结合起来的又成为混合密码.除上述之外,还有:隐写术和数字水印伪随机数生成器密码与信息安全常识不要使用保密的密码算法使用低强度的密码比不进行任何加密更危险任何密码总有一天都会被破解密码只是信息安全的一部分...原创 2021-10-04 10:40:54 · 319 阅读 · 0 评论 -
密码学基础(1)-前言
密码学基础(1)-前言密码学基础(2)-基础知识介绍密码学基础(3)-前言密码学基础(4)-前言密码学基础(5)-前言Information2021/10/24为社么要写这一系列博文?本渣原来是做驱动的,一个偶然的机会进入到了Trustzone/TEE行业,也就是所谓着终端安全行业。在安全行业有太多的知识要学习,很多知识、原理、技术也都串在了一起,如果不了解底层的基础原理,业务层的框架和设计理解起来就非常的痛苦。在做安全的这几年,“加密、解密、算法、签名、验签…”着一些列的词汇一直伴.原创 2021-10-04 10:28:25 · 353 阅读 · 0 评论 -
[crypto]-51.3-C语言实现:RSA的因子(nedp...)拼接pem
1、定义一个结构体struct pem_struct{char head[4];char version[3];char n_b[5]; //0x02, 0x82, 0x01, 0x01, 0x00char n[256];char e[2+3];char d_b[4]; //0x02, 0x82, 0x01, 0x00char d[256];char p_b[4]; //0x02, 0x81, 0x81, 0x00char p[128];char q_b[4]; //0x02, 0x原创 2021-06-08 17:20:19 · 337 阅读 · 0 评论 -
[crypto]-05.1-PKCS PKCS#1 PKCS#7 PKCS#11的介绍
相关推荐: [crypto]-01-对称加解密AES原理概念详解 [crypto]-02-非对称加解密RSA原理概念详解 [crypto]-03-数字摘要HASH原理概念详解 .原创 2021-07-16 23:51:38 · 547 阅读 · 0 评论 -
07-密码学基础-国产密码算法(国密算法sm2/sm3/sm4)介绍
reserved-2020-1128–5原创 2020-11-28 16:30:21 · 12180 阅读 · 0 评论 -
[crypto]-05-转载:PKCS #1 RSA Encryption Version 1.5介绍
转载:https://www.cnblogs.com/spencerN/archive/2012/10/18/2729602.html在进行RSA运算时需要将源数据D转化为Encryption block(EB)。其中pkcs1padding V1.5的填充模式安装以下方式进行(1) EB = 00+ BT+PS +00 + D说明EB:为转化后Hex进制表示的数据块,长度为128个字节(密钥1024位的情况下)00:开头为00。个人认为应该是一个保留位。因为目前BT的类型至于三种(00,01.转载 2021-01-04 21:14:30 · 1633 阅读 · 1 评论 -
[crypto]-02-非对称加解密RSA原理概念详解
说明:本文使用的数据来自网络,重复的太多了,也不知道哪篇是原创.随机选择两个不相等的质数 : p=61、q=53计算 n = p × q = 61×53 = 3233计算n的欧拉函数 : φ(n) = (p-1)(q-1) = 3120随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质, 我们选择一个 e=17计算e对于φ(n)的模反元素d : d*e%φ(n)=1支持 n e d都算出来了,n=3233,e=17,d=2753,所以公钥就是 (3233,.原创 2020-10-20 13:13:20 · 2009 阅读 · 2 评论 -
[crypto]-31-crypto engion的学习和总结
文章目录1、硬件加解密的分类2、ARM-CE / ARM-NEON3、Soc crypto engion4、cryptoisland5、cryptocell1、硬件加解密的分类在armv8的芯片中,有ARM-CE可以进行aes/hash/md5计算,有ARM-NEON也可以进行aes/hash/md5计算arm的security IP中,有cryptoisland加密芯片,有cryptocell加密芯片另外SOC厂商也可能集成自己设计的crypto engion加解密芯片2、ARM-CE /原创 2020-07-06 14:57:24 · 2970 阅读 · 0 评论 -
[crypto]-90-crypto的一些术语和思考[inProgress]
1、ECB CBC XTS的特点? 为什么CTR的encrypt和decrypt是同一个函数?2、为什么磁盘加密(window磁盘加密、android的FBE)都选择了XTS?3、破解aes-ecb有多难? 穷举法破解需要多久时间?4、ARM-CE是怎样实现aes的?ARM NEON呢? 纯软实现呢?5、...原创 2020-06-15 14:40:45 · 1612 阅读 · 0 评论 -
[crypto]-01-对称加解密AES原理概念详解
1、对称加解密术语:P是明文,C是密文,K是密钥,E是加密算法,D是解密算(1)、常用的对称加解密有哪些?(2)、加解密的模式【ecb】这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密【cbc】这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密【ctr】计算器模式不常见,在CTR模式中, 有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密原创 2020-06-14 17:55:49 · 2723 阅读 · 0 评论 -
[crypto]-30-The Armv8 Cryptographic Extension在linux中的应用
1、在aes-glue.c中, 注册了aes算法接口:static struct crypto_alg aes_algs[] = { { .cra_name = "__ecb-aes-" MODE, .cra_driver_name = "__driver-ecb-aes-" MODE, .cra_priority = 0, .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER | CRYPTO_ALG_INTERNAL, .cra_blocksize原创 2020-05-28 13:57:42 · 5784 阅读 · 3 评论