CTR 计数器模式 计数器模式CTR是分组密码模式中的一种.通过将逐次累加的计数器进行加密来生成密钥流的流密码.每次加密时会生成一个不同的值来作为计数器的初始值. 可以事先进行加密.解密的准备. 加密.解密使用相同结构. 对包含某些错误比特的密文进行解密时,只有明文中响应的比特会出错. 加密和解密均支持并行运算.可以以任意顺序对分组进行加密和解密. 在CTR模式基础上添加认证功能的模式称为GCM模式.生成密文的同时生成用于认证的信息.用于识别主动攻击者发送的伪造的密文. 混合密码系统 混合密码系…
加密解密: 对称加密:加密和解密相同秘钥.常见算法:AES, XTEA, 3DES. 非对称加密: 公钥加密 私钥加密. 加密和解密秘钥不同.常见算法:RSA OpenSSL> genrsa -out app_private_key.pem 1024 #生成私钥 OpenSSL> pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem #Java开…
CFB密文反馈模式 CFB密文反馈模式属于分组密码模式中的一种.加密与解密使用同一结构,加密步骤生成用于异或的密钥流. 其弥补了ECB电子密码本模式的不足(明文中的重复排列会反映在密文中,通过删除替换分组可以对明文进行操作) 其优点是 不需要填充.因为从明文分组到密文分组只需要一次XOR,使用的是前一次密文分组经过加密算法生成的密钥流. 解密支持并行.在已知全部密文分组的情况下,可以对每一部分分组开启多线程进行解密. 能够解密任意密文分组.任意密文分组只与前一个密文分组有关. 其缺点是: 加密不…
HMAC 单向散列消息认证码 消息认证码MAC是用于确认完整性并进行认证的技术,消息认证码的输入包括任意长度的消息和一个发送者和接收者之间共享的密钥(可能还需要共享盐值). HMAC是使用单向散列函数来构造消息认证码的方法,任何高强度单向散列函数都可以被用于HMAC,具体方法如下图所示. 发送者需要同时把消息和认证码发送给接收者,接收者接收了两者,并根据接收到的消息和共享的密钥生成认证码进行比较.如果相同则消息未被篡改且认证成功. MAC不能保证信息的机密性!MAC无法对第三方"C"证…
前言 未加密的抓包截图 加密之后的抓包截图 基本需求及概念 AES算法 AES基本原理及算法流程 AES算法流程 RSA算法 RSA算法基本原理及流程 RSA算法实现流程 AES与RSA相结合数据加密方案 Android端 AESRSA结合实践 基本要求 基本流程 Android端 服务器端 java版示例 更多参考 前言 最近维护公司APP应用的登录模块,由于测试人员用Fiddler抓包工具抓取到了公司关于登录时候的明文登录信息.虽然使用的是HTTPS的方式进行http请求的,但还是被Fidd…
前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用RSA来加密传输AES的秘钥,用AES来加密数据,并提供如下思路: 说人话就是前.后端各自生成自己的RSA秘钥对(公钥.私钥),然后交换公钥(后端给前端的是正常的明文公钥,前端给后端的是用后端公钥加密后的密文公钥:PS:其实我觉得直接交换两个明文公钥就行了),后端生成AES的明文key,用明文key进…
2016-04-08 09:03 编辑: liubinqww 分类:iOS开发 来源:liubinqww 投稿 4 889     "APP的数据安全已经牵动着我们开发者的心,简单的MD5/Base64等已经难以满足当下的数据安全标准,本文简单的介绍下AES与Base64的混合加密与解密" AES:高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先…
当前,区块链和分布式账本技术已有了长足发展并广泛应用与多种场景中,原因在于其提供透明性,冗余性和问责性的能力.就区块链而言,此类特征是通过公钥加密和哈希函数提供的.但是,随着量子计算机技术的发展和量子霸权的实现,通用量子计算机不再是理论上可望而不可及的圣杯,并将在可预见的未来带来一系列深刻的变化.基于大数分解和离散对数问题的非对称密码体制的崩塌是这一转换中最突出的特征之一.目前Grover和Shor(格罗弗和舒尔)算法对公钥密码学和散列函数构成了重要威胁,迫使我们重新设计具有量子抗性的区块链密码…
/// <summary> /// AES加密方法(AES加密和Base64混合加密) /// </summary> /// <param name="toEncrypt"></param> /// <returns></returns> public static string Encrypt(string content, string InsureKey) { string toEncrypt = Syste…
这是一个高内聚低耦合可复用的DES加密系统的实现. Github 链接:https://github.com/cyendra/CyDES 要实现加密系统,先考虑数据的基本单位. 在DES加密中,数据是以64位为一组的(unsigned long long),我们称它为Bit. 加密过程中会对Bit做位移操作(左移.右移.循环左移.循环右移),也会做位运算(And.Or.Xor),还会做分割以及合并等操作. 我们设计一个类Bit来封装这些操作,作为数据的基本单位. /* 表示64位以下的数据 可以…