cbc

iOS AES128 CBC No Padding加密解密

半城伤御伤魂 提交于 2020-04-02 08:24:04
最近的项目中数据传输用到加密,项目选择了AES128 CBC No Padding加密方式,PHP和Android方面的代码网上太多了。但是唯独没有iOS的,但是也有别的写法,但不是是AES128 CBC No Padding或者不是CBC No Padding。自己仿照着写了个,不过PHP端总是解密不出。问题就处在No Padding. No Pading的情况下,一定要对加密数据不是kCCKeySizeAES128倍数部分进行0x0000的填充,不然加密长度不正确,一般情况下选择使用kCCOptionPKCS7Padding(也就是0x0001)进行填充,但是我们是No Padding所以要用0x0000填充。加密后再对加密数据进行了Base64加密,用到了google的GTMBase64,没有的网上自己找,下面上ios的代码: DES3Util.h内容 // // DES3Util.h // JuziAnalyticsDemo // // Created by wanyakun on 13-6-6. // Copyright (c) 2013年 The9. All rights reserved. // #import <Foundation/Foundation.h> @interface DES3Util : NSObject + (NSString*)

AES五种加密模式(CBC、ECB、CTR、OCF、CFB)

折月煮酒 提交于 2020-03-18 14:07:26
分组密码有五种工作体制:1. 电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Counter (CTR));4.密码反馈模式(Cipher FeedBack (CFB));5.输出反馈模式(Output FeedBack (OFB))。 以下逐一介绍一下: 1.电码本模式( Electronic Codebook Book (ECB) 这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。 2.密码分组链接模式(Cipher Block Chaining (CBC)) 这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。 3.计算器模式(Counter (CTR)) 计算器模式不常见,在CTR模式中, 有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密,但是 在计算器不能维持很长的情况下,密钥只能使用一次 。CTR的示意图如下所示: 4.密码反馈模式(Cipher FeedBack (CFB)) 这种模式较复杂。 5.输出反馈模式(Output FeedBack (OFB)) 这种模式较复杂。 以下附上C+

密码学总结(一)

二次信任 提交于 2020-03-07 23:56:59
一、密码常识 1.1 信息安全面临的问题以及解决方案 记住: 不要过于依赖密码保证信息安全,因为任何密码都会有被破解的一天; 不要使用低强度的密码; 不要使用保密的密码算法; 信息安全是一个系统的问题,密码只是信息安全的一部分; 1.2 加密三要素 明文和密文:加密处理的数据。 秘钥(key):用于生成明文的一串数字。 算法(algorithm):用于解决复杂问题的步骤。从明文生成密文的步骤,也就是加密的步骤,称为“加密算法",而解密的步骤则称为“解密算法"。 1.3 凯撒密码 恺撒密码(Caesar cipher)是一种相传尤利乌斯·恺撒曾使用过的密码。恺撒于公元前100年左右诞生于古罗马,是一位著名的军事统帅。 恺撤密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密的。 为了讲解方便,我们用小写字母(a,b,c,…)来表示明文,用大写字母(A,B,C,…)来表示密文。 现在我们将字母表平移3个字母,于是,明文中的a在加密后就变成了与其相隔3个字母的D,以此类推。b变成E,c变成F,d变成G…v变成Y,w变成Z,而x则会回到字母表的开头而变成A,相应地,y变成B,z变成C。通过下图我们可以很容易地理解“平移"的具体工作方式。 比如英文 hello ,加密后的数据变为 KHOOR 。 恺撒密码的解密过程是使用与加密时相同的密钥进行反向的平移操作。比如上面例子

AES256 CBC Q't实现 加密解密心血历程~

我的未来我决定 提交于 2020-02-29 02:54:27
花了很长时间,感叹啊 刚开始是打算在网上能找个现成的代码,直接合到Qt工程里就结束了的,但是找来找去,加密后的文件都和想要的对不上,最后放弃了直接找现成的,潜心去看了看详细的算法介绍,深入了解了一下什么是AES256 CBC加密 AES加密算法的详细介绍与实现 , 感谢这位版主,文章写的很详细,看了详细介绍后自己手动修改了手头代码后最终实现啦 来源: CSDN 作者: weixin_39291453 链接: https://blog.csdn.net/weixin_39291453/article/details/104551978

AES CFB/OFB/ECB/CBC/CTR优缺点

不想你离开。 提交于 2020-02-28 17:18:21
AES CFB/OFB/ECB/CBC/CTR优缺点 摘自:http://www.metsky.com/archives/418.html 发表时间:2010年05月11 分类: 网络日志 作者: 天缘 AES常见加密模式有CFB/OFB/ECB/CBC/CTR,本文概述这些算法特点,让大家更快的了解AES,当然天缘也不是专业做算法的,工作中也只是使用到才会学习一点,如有错误,欢迎指出。 一、Cipher feedback(CFB) CFB算法优点: 同明文不同密文,分组密钥转换为流密码。 CFB算法缺点: 串行运算不利并行,传输错误可能导致后续传输块错误。 二、Output feedback(OFB) OFB算法优点: 同明文不同密文,分组密钥转换为流密码。 OFB算法缺点: 串行运算不利并行,传输错误可能导致后续传输块错误。 三、Electronic codebook(ECB) ECB算法优点: 简单、孤立,每个块单独运算。适合并行运算。传输错误一般只影响当前块。 ECB算法缺点: 同明文输出同密文,可能导致明文攻击。我们平时用的AES加密很多都是ECB模式的,此模式加密不需要向量IV。 四、Cipher-block chaining(CBC) CBC算法优点: 串行化运算,相同明文不同密文 CBC算法缺点: 需要初始向量,不过这其实不算缺点,下文的CTR也是需要随机数的

conda安装包

佐手、 提交于 2020-02-06 12:01:19
  我们一般安装第三方包(pulp)会通过cmd命令: conda install pulp   但是今天安装pulp包的时候出现下面的问题: C:\Users\81584>conda install pulp Fetching package metadata ............. PackageNotFoundError: Packages missing in current channels: - pulp We have searched for the packages in the following channels: - https://repo.continuum.io/pkgs/main/win-64 - https://repo.continuum.io/pkgs/main/noarch - https://repo.continuum.io/pkgs/free/win-64 - https://repo.continuum.io/pkgs/free/noarch - https://repo.continuum.io/pkgs/r/win-64 - https://repo.continuum.io/pkgs/r/noarch - https://repo.continuum.io/pkgs/pro/win-64 - https://repo

使用 openssl 生成证书

时光怂恿深爱的人放手 提交于 2020-01-29 05:06:34
一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。 官网: https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 建立 RSA、DH、DSA key 参数 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表) 计算消息摘要 使用各种 Cipher加密/解密 SSL/TLS 客户端以及服务器的测试 处理S/MIME 或者加密邮件 二、RSA密钥操作 默认情况下,openssl 输出格式为 PKCS#1-PEM 生成RSA私钥(无加密) openssl genrsa -out rsa_private.key 2048 生成RSA公钥 openssl rsa -in rsa_private.key -pubout -out rsa_public.key 生成RSA私钥(使用aes256加密) openssl genrsa -aes256 -passout pass:111111 -out rsa_aes_private.key 2048 其中 passout 代替shell 进行密码输入,否则会提示输入密码; 生成加密后的内容如: -----BEGIN RSA PRIVATE

20189221 2018-2019-2 《密码与安全新技术专题》第五周作业

…衆ロ難τιáo~ 提交于 2020-01-23 05:38:30
20189221 2018-2019-2 《密码与安全新技术专题》第五周作业 课程:《密码与安全新技术专题》 班级: 201892 姓名: 郭开世 学号:20189221 上课教师:谢四江 上课日期:2019年4月23日 必修/选修: 选修 1.本次讲座的学习总结 讲座主题:区块链技术 比特币 比特币(BitCoin)是一种由开源的P2P软件产生的电子币,数字币,是一种网络虚拟资产。比特币也被意为“比特金”。比特币基于一套密码编码、通过复杂算法产生,这一规则不受任何个人或组织干扰,去中心化;任何人都可以下载并运行比特币客户端而参与制造比特币;比特币利用电子签名的方式来实现流通,通过P2P分布式网络来核查重复消费。每一块比特币的产生、消费都会通过P2P分布式网络记录并告知全网,不存在伪造的可能。 比特币的特点: ​ 1.数字货币 ​ 2.不依托于任何国家或组织而利用计算机技术独立发行。 ​ 3.通过P2P分布式技术实现,无中心点。 ​ 4.所有人均可自由的参与。 ​ 5.总量有限,不可再生。 ​ 6.本身机制开源,可以被山寨。 面临的一些疑问: ​ 1.较大的政策风险,国家组织是否会承认? ​ 目前德国是唯一承认比特币具有合法货币地位的国家。 ​ 中国明令禁止 ​ 2.安全性如何得到保证,被盗了谁来给你找回? ​ 11年MyBitcion遭遇黑客攻击,7.8万比特币至今下落不明。 ​

主机漏洞-SSL/TLS 受诫礼(BAR-MITZVAH)***漏洞(CVE-2015-2808)【原

↘锁芯ラ 提交于 2020-01-22 01:46:09
一、漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015发表论文《Attacking SSL when using RC4》阐述了利用存在了13年之久的RC4漏洞——不变性弱密钥(《Weakness in the Key Scheduling Algorithm of RC4》,FMS 发表于2001年)进行的***,并命名为“受戒礼”***(Bar Mitzvah Attack)。 直到2015年3月,还有约30%的网络通信是由RC4进行保护的。通过“受戒礼”***,***者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。 ***方法和模式 ***者嗅探监听大量的SSL链接,可以判断第一个加密消息包含SSL的完成消息和HTTP请求,都是具有可预测的信息的。然后等待一个不变性弱密钥的链接到来,当获取到一个弱密钥链接时候就可以提取出LBS。当弱密钥使用的时候,明文和密钥会进行异或,***者可以看到生成的密文模式。 ***者同样也进行DNS投毒,将所有的链接链接到一个恶意的主机,主机进行中间人***,能够有效地进行大量用户的嗅探监听和会话劫持。

主机漏洞-SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】-RC4密码套件

Deadly 提交于 2020-01-20 03:28:11
一、漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015发表论文《Attacking SSL when using RC4》阐述了利用存在了13年之久的RC4漏洞——不变性弱密钥(《Weakness in the Key Scheduling Algorithm of RC4》,FMS 发表于2001年)进行的攻击,并命名为“受戒礼”攻击(Bar Mitzvah Attack)。 直到2015年3月,还有约30%的网络通信是由RC4进行保护的。通过“受戒礼”攻击,攻击者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。 攻击方法和模式 攻击者嗅探监听大量的SSL链接,可以判断第一个加密消息包含SSL的完成消息和HTTP请求,都是具有可预测的信息的。然后等待一个不变性弱密钥的链接到来,当获取到一个弱密钥链接时候就可以提取出LBS。当弱密钥使用的时候,明文和密钥会进行异或,攻击者可以看到生成的密文模式。 攻击者同样也进行DNS投毒,将所有的链接链接到一个恶意的主机,主机进行中间人攻击,能够有效地进行大量用户的嗅探监听和会话劫持。 漏洞原理和细节 根据