Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pwang00
GitHub Repository: pwang00/Cryptographic-Attacks
Path: blob/master/Symmetric Key/AES/byte_at_a_time/break_ecb.py
336 views
1
from oracle import oracle
2
from itertools import product
3
4
def break_ecb(data):
5
6
known_bytes = ""
7
for j in range(1, len(data) + 1):
8
seen = oracle(data[:-j])
9
for i in range(256):
10
payload = data[:-j]+known_bytes+chr(i)
11
if oracle(payload)[:len(data)] == seen[:len(data)]:
12
known_bytes += chr(i)
13
break
14
print(known_bytes)
15
16
if __name__ == "__main__":
17
data = "A"*512
18
break_ecb(data)
19