I am trying to unscramble received data packets. Each packet is divided into 3 parts ($A$, $B$ and $D$) with equal lengths. In every packet, each of these parts are scrambled/encrypted with an unknown code $C_i$.
We can tabulate these received packets in the format shown in the table below, where $\oplus$ denotes the XORx operation:
| $\bf{A}$ | $\bf{B}$ | $\bf{D}$ |
---|---|---|---|
$\bf{C_1}$ | $A \oplus C_1$ | $B \oplus C_1$ | $D \oplus C_1$ |
$\bf{C_2}$ | $A \oplus C_2$ | $B \oplus C_2$ | $D \oplus C_2$ |
$\bf{C_3}$ | $A \oplus C_3$ | $B \oplus C_3$ | $D \oplus C_3$ |
$\bf\cdots$ | $\cdots$ | $\cdots$ | $\cdots$ |
$\bf{C_n}$ | $A \oplus C_n$ | $B \oplus C_n$ | $D \oplus C_n$ |
What I have is the XOR-ed values ($A \oplus C_1 \dots D \oplus C_n$) and I am trying to retrieve the original values of $A$, $B$ and $D$, as well as all the $C_1$ through $C_n$.
Some of the packets (in HEX) that I am playing with are attached.