日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AES CBC模式下的CBC bit flipping Attack

發布時間:2025/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AES CBC模式下的CBC bit flipping Attack 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?xml version="1.0" encoding="utf-8"?> AES CBC模式下的CBC bit flipping Attack

AES CBC模式下的CBC bit flipping Attack

目錄

  • 1. 簡介
  • 2. 字節翻轉攻擊測試

1 簡介

如果理解了上一篇的padding oracle attack,則CBC字節翻轉攻擊很容易理解,上一篇的最后也通過修改IV達到了修改第一個加密分組數據的效果。 CBC字節翻轉也類似,在有加密IV并可以修改IV值和能獲得服務器返回的明文結果的情況下,就能通過修改IV獲得想要的明文結果。

2 字節翻轉攻擊測試

還以上一節的測試程序為例子。用字節翻轉攻擊修改解密后的明文。

測試請求數據:

def my_dec_req(data):'''測試解密,注意這里使用test_dec函數,直接解密出明文'''txt = b64_url_enc(bytes_to_str(base64.b64encode(data)))return test_dec(txt)test_txt = 'this is a long long test' test1 = test_enc(test_txt) test_data = base64.b64decode(b64_url_dec(test1))# 解密出原始明文 print('decoded text:', my_dec_req(test_data)) decoded text: this is a long long test

修改my_dec_req直接解密出明文。

cbc字節翻轉的具體實現:

def data_xor(xs, ys):'''xor兩個序列'''return bytes([x ^ y for (x, y) in zip(xs, ys)])def cbc_xor(data, fake_data, org_data):'''使用cbc xor構造第一個偽造數據 data 加密后的密文,前16字節為iv fake_data 要偽造的明文 org_data 原始明文,只要有前16個字節的明文即可'''data_is = data_xor(data[0:BS], bytes(org_data[0:BS], 'utf-8'))return build_fake_first(data, fake_data, data_is)new_data=cbc_xor(test_data, "admin pass", test_txt)from urllib.parse import quote print("decoded text:", quote(my_dec_req(new_data))) decoded text: admin%20pass%06%06%06%06%06%06ong%20test

可以看到前16字節明文被成功替換,不過因為偽造的字符串不夠16個字節,添加了padding:

使用空格代替pkcs7 padding:

def pad_bs_space(s):'''不足一個分組長的字符串 填充空格'''return s + ' ' * (BS - len(s))new_data=cbc_xor(test_data, pad_bs_space("admin pass"), test_txt) print("decoded text:", my_dec_req(new_data)) decoded text: admin pass ong test

作者: ntestoc

Created: 2019-06-21 周五 18:14

轉載于:https://www.cnblogs.com/ntestoc/p/11063894.html

總結

以上是生活随笔為你收集整理的AES CBC模式下的CBC bit flipping Attack的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。