See here : [https://berryberry.hatenablog.jp/](https://berryberry.hatenablog.jp/entry/2022/03/27/092652)
Two files containing the 32 bytes of data and one python file for encoding below were given.The Python script is on my blog.
![](https://cdn-ak.f.st-hatena.com/images/fotolife/B/Berrys/20220327/20220327090213.png)
We know the value of S[0] is "LINECTF{", so we can calculate a simultaneous equation for every 8 bytes in hexadecimal.This text file is a summary of what went on in my head.
```share1[ 0: 8] 25243e2a31202715share1[ 8:16] 0000000000000000share1[16:24] 2b0719073a0d2c2fshare1[24:32] 0214251c09404813
share4[ 0: 8] 1d08081b2d1d1231share4[ 8:16] 0331361e3319061cshare4[16:24] 0607001b3a0f311fshare4[24:32] 3933342926756706
xor(r[0], s[0], r[0], s[3]) = xor(s[0], s[3]) = 382c36311c3d3524xor(r[1], s[2], r[1]      ) = !!!!!xor(r[2], s[1], r[2], s[3]) = xor(s[1], s[3]) = 2d00191c00021d30xor(r[3], s[0], r[3], s[2]) = xor(s[0], s[2]) = 3b2711352f352f15
r[0] = xor(r[0], s[3]) ^ s[3]r[1] = xor(r[1], s[2]) ^ s[2]r[2] = xor(r[2], s[1]) ^ s[1]r[3] = xor(r[3], s[0]) ^ s[0]
s[0] = 4c494e454354467b = LINECTF{s[1] = 596561685f6b6e6fs[2] = 776e5f706c61696es[3] = 746578745f69735f
r[0] = 696d706f7274616er[1] = 745f696e5f786f72r[2] = 5f62617365645f70r[3] = 757a7a6c6521217d
```
Join R to S, and Convert to a string from hexadecimal. Finally, we can get the FLAG.
![](https://cdn-ak.f.st-hatena.com/images/fotolife/B/Berrys/20220327/20220327092158.png)
You can solve this using z3-solver of course.