
💡 각 AES 라운드의 첫 번째 단계는
이번에는 sbox에 대해 설명하고 있다. 내가 해야할 것은 주어진 sbox를 바탕으로 SubBytes 부분을 구현하고, inv_sbox를 통해 plaintext를 복원해내면 된다.

파일을 다운받으면 다음과 같이 sbox와 inv_sbox가 구현되어 있다. 따라서 그냥 이 sbox를 이용하기만 하면 된다.
def sub_bytes(s, sbox=s_box):
res=[]
for i in s:
tmp=[]
for j in i:
tmp.append(sbox[j])
res.append(tmp)
return(res)
sub_bytes
함수를 구현한 것이다. 정말 간단하게 sbox의 해당 부분 값으로 대체하는 코드이다.
그 다음 matrix2bytes 함수를 거치면 flag를 얻을 수 있다.

flag를 얻어냈다!

🚩 flag: crypto{l1n34rly}