;; -*- Mode: Irken -*- (include "lib/basis.scm") (include "lib/map.scm") (include "lib/codecs/base64.scm") (include "lib/codecs/hex.scm") (include "aes.scm") (define (get-ct) (pipe list->string generator->list b64-dec file-char-generator (file/open-read "01_07.txt") )) (let ((aes (AES "YELLOW SUBMARINE")) (ct (get-ct)) ((q r) (divmod (string-length ct) 16)) (blocks '())) (for-range i q (PUSH blocks (aes.decrypt (substring ct (* 16 i) (* 16 (+ i 1)))))) (printf (join "" (reverse blocks)) "\n") )