Tato aplikace vám umožní zašifrovat daný text, stačí poslat POST HTTP požadavek s proměnnou plaintext. A v odpovědi dostanete odpovídající ciphertext. Aplikace šifruje za pomoci SPN s SBoxem definovaným tabulkou [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15] (spoiler - je lineární), permutace posune i. bit na ((i mod 4) * 4 + i div 4). bit; šifrovací mód je ECB (tj. text rozkouskujete na bloky odpovídající délky a bloky zašifrujete jednotlivě). Rozmyslete si, jak se jako funkce chová tato SPN se čtyřmi klíči a vymyslete, jak dešifrovat zadaný ciphertext.
Heslo, které hledáte, po zašifrování vyjde jako b048400a537a207ae12b20c8812b647bd1c8912b30c8557a. Až ho najdete, tak ho pošlete v proměnné answer HTTP POST požadavkem a dostanete "vlaječku", kterou mi společně s postupem pošlete na e-mail. Tradičně je formát této vlaječky KRYPTO{...}.
Ukázkový vstup: requests.post("http://krypto.ptera.cz/linear.php", data={"plaintext": b"\x00\x00\x00\x00"}). Na výstupu je hex-encoded string.