crypt
明潮
这个作者很懒,什么都没留下…
展开
-
RSA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA,让各位了解RSA算法本身其实也很简单,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故。本文先只谈密钥长度、明文长度和密文长度的概念知识,RSA的理论及示例等以后再谈。提到密钥,我们不得不提...转载 2018-06-02 13:48:35 · 17852 阅读 · 0 评论 -
CRC16常见几个标准的算法及C语言实现
CRC码由发送端计算,放置于发送信息报文的尾部。接收信息的设备再重新计算接收到信息报文的CRC,比较计算得到的CRC是否与接收到的相符,如果两者不相符,则表明出错。 校验码的计算多项式为(X16 + X15 + X2 + 1)。具体CRC16码的计算方法是: 1.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器; 2.把第一个8位二进制数据...转载 2018-06-25 16:15:49 · 26826 阅读 · 1 评论 -
SHA1和SHA256算法C语言实现
SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,是美国的政府标准。 哈希算法使用比较广泛,具体算法原理就不再赘述,这里只是记录一下C语言的源码和使用。 以下先是SHA1的算法 /* * FIPS-180-1 compliant SHA-1 implem...转载 2018-06-25 16:07:25 · 7745 阅读 · 1 评论 -
RSA算法C语言实现
RSA算法在数据加密中是最常用的,这里需要两组秘钥,一组私钥,一组公钥,往往是用私钥加密的数据传输到终端用公钥解密,然后用公钥加密的数据传回去用私钥解密。 下边是加解密的C语言的源码:/* RSA.C - RSA routines for RSAREF */ /* Copyright (C) RSA Laboratories, a division of RSA Data Secu...转载 2018-06-25 16:04:14 · 8244 阅读 · 3 评论 -
HTTPS背后的加密算法
当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信。InfoQ的这篇文章对此有非常详细的描述。这些复杂的步骤的第一步,就是浏览器与服务器之间协商一个在后续通信中使用的密钥算法。这个过程简单来说是这样的:浏览器把自身支持的一系列Cipher Suite(密钥算法套件,后文简称Cipher)[C1,C2,C3, …]发给服务器;服务器接收到浏览器的...转载 2018-06-25 15:52:08 · 8067 阅读 · 0 评论 -
分组加密的四种模式(ECB、CBC、CFB、OFB)
加密一般分为对称加密(Symmetric Key Encryption)和非对称加密(Asymmetric Key Encryption)。对称加密又分为分组加密和序列密码。分组密码,也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。序列密码,也叫流加密(stream cy...转载 2018-06-25 15:50:46 · 2263 阅读 · 0 评论 -
DES和3DES加密算法C语言实现
DES和3DES加密算法C语言实现 记录DES和3DES加密算法最简洁易懂的C语言源码 主要是要用到CBC这部分的算法,后边也有一个工具可以提供验证,因为网上的工具含有CBC的很少,也方便大家吧#define MBEDTLS_DES_ENCRYPT 1 #define MBEDTLS_DES_DECRYPT 0 #define MBEDTLS_ERR_DES_INV...转载 2018-06-25 15:32:02 · 5954 阅读 · 5 评论 -
MAC算法,MacKey工作密钥,PinBlock,PinKey,MasterKey主密钥,硬加密,3DES等概念
MAC算法 (Message Authentication Codes) 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC。我们知道,行业有很多数据要在网络上传递,包括从前置到主机,从自助终端到前置等,这些数据在网络上传来传去,我们很容易就会想到安全性的问题,如果这些数据被人窃取或拦截下来,那我们怎么敢在银行存钱了。这个问题在计算机出现时就被前人...转载 2018-06-25 15:29:41 · 3503 阅读 · 2 评论 -
C语言 微秒级时间生成随机字符串
秒级时间为种子,生成随机字符串//产生长度为length的随机字符串int genRandomString(int length,char* ouput){ int flag, i; time_t t; t=time(NULL); Printf("%ld",t); srand((unsigned)t); for (i = 0; i < le...原创 2017-12-21 11:19:51 · 2853 阅读 · 0 评论 -
ANSI X9.19 MAC算法的C语言实现
ANSI X9.19 MAC算法的基本思路:1.ANSI X9.19MAC算法只使用双倍长密钥(不小于16)。2.MAC数据先按8字节分组,表示为D0~Dn,如果Dn不足8字节时,尾部以字节00补齐。3.用MAC密钥左半部加密D0,加密结果与D1异或作为下一次的输入。4.将上一步的加密结果与下一分组异或,然后用MAC密钥左半部加密。5.循环操作直至所有分组结束。6.用MAC密钥右半部解密5的结果,...转载 2018-06-25 15:05:44 · 812 阅读 · 1 评论 -
国密杂凑算法SM3
转自 http://blog.csdn.net/lkiller_hust/article/details/513448280. 引言SM3杂凑算法是中国国家密码局公布的hash算法商用标准,能应用于数字签名与验证、消息认证码的生成以及伪随机数的生成。1. 常数与函数1.1 初始值IV = 7380166f 4914b2b9 172442d7 da8a0600 a转载 2017-12-07 11:41:57 · 5346 阅读 · 1 评论 -
源码学习笔记之Openssl
目录:├─apps│ │ apps.c│ │ apps.h│ │ app_rand.c│ │ asn1pars.c│ │ build.info│ │ ca-cert.srl│ │ ca-key.pem│&原创 2018-08-12 17:29:59 · 1795 阅读 · 2 评论