Hari ini tujuan Anda adalah mendekripsi pesan rahasia menggunakan AES . Diberikan ciphertext dan kunci Anda akan mendekripsi dan mencetak pesan.
Program Anda mungkin dalam bahasa apa pun. Ini akan dijalankan dengan input pada stdin, dan outputnya pada stdout akan diperiksa kebenarannya.
Baris input pertama pada stdin adalah kunci 16 byte, yang dikodekan dalam heksadesimal. Baris input kedua pada stdin adalah ciphertext 16 byte, yang dikodekan dalam heksadesimal.
Output dari program harus berupa pesan 16 byte setelah mendekripsi ciphertext menggunakan AES-128 dengan kunci yang diberikan. Anda harus menampilkan hasil yang ditafsirkan sebagai oktet ASCII. Anda dapat berasumsi bahwa hasil apa pun adalah ASCII yang valid setelah didekripsi.
Anda tidak boleh menggunakan pustaka / fitur bawaan apa pun yang menerapkan AES. Anda dapat menggunakan fitur tersebut untuk mengkonversi antara pengkodean hex / binary / ASCII.
Kode terpendek dalam byte menang.
Contoh input dan output:
bd8ab53f10b3d38576a1b9a15cf03834
02c0ee126cae50ba938a8b16f0e04d23
Serang besok.
Dan satu lagi:
f4af804ad097ba832906db0deb7569e3
38794338dafcb09d6b32b04357f64d4d
Selamat.
sumber
Jawaban:
Python, 661 karakter
k
adalah kuncinya,c
adalah ciphertext. Saya membangun P, kekuatan 3 di bidang, laluS
, kotak itu. Kemudiank
diperpanjang dengan jadwal kunci. Akhirnya kami melakukan dekripsi AES. Mixcolumns adalah fase yang sulit, semua fase lainnya cukup mudah.sumber