iOS逆向之对称算法(下)

本文深入探讨了iOS中的对称加密算法,包括OpenSSL终端的DES和AES加密解密演示,以及代码实现。文章指出直接使用系统函数`CCCrypt`存在明文泄漏的安全风险,并提供了安全实践建议,如加密封装和方法名混淆,以保障应用的数据安全性。
摘要由CSDN通过智能技术生成

本文主要是对称算法的终端演示+代码演示

OpenSSL终端演示

下面主要采用DES、AESECB、CBC两两组合的方式进行演示,涉及的终端命令主要有以下一些

加密

  • AES + ECB加密“hello”字符串

    • echo -n hello | openssl enc -aes-128-ecb -K 616263 -nosalt | base64
  • AES + CBC加密“hello”字符串

    • echo -n hello | openssl enc -aes-128-cbc -iv 0102030405060708 -K 616263 -nosalt | base64

解密

  • AES + ECB解密

    • echo -n d1QG4T2tivoi0Kiu3NEmZQ== | base64 -D | openssl enc -aes-128-ecb -K 616263 -nosalt –d
  • AES + CBC解密

    • echo -n u3W/N816uzFpcg6pZ+kbdg== | base64 -D | openssl enc -aes-128-cbc -iv 0102030405060708 -K 616263 -nosalt –d

1、DES + ECB

加密

    • vi abc.txt
000000000000
111111111111
222222222222
000000000000
111111111111
222222222222
000000000000
111111111111
222222222222
000000000000
111111111111
222222222222
000000000000
111111111111
222222222222
000000000000
111111111111
222222222222

  • 对称加密(默认会加盐):openssl enc -des-ecb -K 016263 -nosalt -in abc.txt -out msg1.bin

    • enc: 表示加密方式,即对称加密

    • msg1.bin: 二进制文件

  • 查看二进制文件:xxd msg1.bin

将第二个重复的前两个`00,改成88`
000000000000
111111111111
222222222222
880000000000
111111111111
222222222222
000000000000
......

查看此时的加密后密文二进制,与上面进行对比

  • 变化931f 4a54 79bf 730f 4453 2df5 e152 38f1 变成了c7e1 1de2 c778 9df6 4d79 8bec 04ad 08c4。说明修改两个字符,其最小单位16字节

  • 如果修改1个字符,最小单位是8个字节。所以加密过程中,最低是8字节

2、DES + CBC

  • vi abc.txt(内容与1中相同)

  • 加密: openssl enc -des-cbc -K 616263 -iv 0102030405060708 -nosalt -in abc.txt -out msg3.bin

  • 修改一个字符,获取 msg4.bin

    • -iv :向量的表示方式

    • 616263 :加密的key,换成 abc 也是可以的

  • 与ECB模式对比:从第2个开始,其二进制就不同了(CBC是链式加密)

注:剩余的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值