[
  {
    "id": "sekaictf-2025-law-and-order",
    "title": "Challenge archive: SekaiCTF 2025 - Law and Order",
    "challenge_name": "Law and Order",
    "year": 2025,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "sekaictf-2025",
      "series": "SekaiCTF",
      "label": "2025",
      "starts_at": "2025-08-16T01:00:00+00:00",
      "date_source": "https://ctftime.org/event/2683",
      "year": 2025
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2025/law-and-order/",
    "article_path": "/challenges/sekaictf-2025/law-and-order/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2025/law-and-order/challenge.txt",
    "text_path": "/challenges/sekaictf-2025/law-and-order/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2025/law-and-order/challenge.json",
    "json_path": "/challenges/sekaictf-2025/law-and-order/challenge.json",
    "statement": {
      "label": "Description excerpt",
      "text": "My friends were the FROST to implement sharing signatures for flag and ensured to always include me but somehow it's still not working?"
    },
    "notes": [
      "The organizers report that the released handout was an incorrect version. The archived server source and solution are for the corrected version; they do not match the released handout.",
      "The original remote service is retired. Browser practice offers corrected (default) and released variants with a public dummy reward.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "released-chall.py",
        "label": "chall.py (released handout, incorrect version)",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2025-law-and-order/released-chall.py",
        "path": "/assets/challenges/sekaictf-2025-law-and-order/released-chall.py",
        "bytes": 9209,
        "sha256": "76f203c72a553a10ee134c0b03094e9b0ab6a709d0f4c0bc2ec55ea25fcd13f2",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2025/683dd81ae520581add40ec21c4819866e28cbde4/crypto/law-and-order/dist/chall.py"
      },
      {
        "name": "corrected-chall.py",
        "label": "chall.py (corrected server source)",
        "kind": "server-source",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2025-law-and-order/corrected-chall.py",
        "path": "/assets/challenges/sekaictf-2025-law-and-order/corrected-chall.py",
        "bytes": 9407,
        "sha256": "2bdeeeaf9326a11a26e56bb6a35ffb25907385d649c426492e2e6645ccf19b37",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2025/683dd81ae520581add40ec21c4819866e28cbde4/crypto/law-and-order/challenge/app/chall.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2025/blob/683dd81ae520581add40ec21c4819866e28cbde4/crypto/law-and-order/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2025/tree/683dd81ae520581add40ec21c4819866e28cbde4/crypto/law-and-order",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2025/tree/683dd81ae520581add40ec21c4819866e28cbde4/crypto/law-and-order/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ],
    "browser_practice": {
      "runtime": "law-and-order",
      "variants": [
        "corrected",
        "released"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/sekaictf-2025/law-and-order/#browser-practice",
      "launch_path": "/challenges/sekaictf-2025/law-and-order/#browser-practice"
    }
  },
  {
    "id": "google-ctf-2024-desfunctional",
    "title": "Challenge archive: Google CTF 2024 - desfunctional",
    "challenge_name": "desfunctional",
    "year": 2024,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "google-ctf-2024",
      "series": "Google CTF",
      "label": "2024 qualifiers",
      "starts_at": "2024-06-21T18:00:00+00:00",
      "date_source": "https://ctftime.org/event/2296",
      "year": 2024
    },
    "article_url": "https://deut-erium.github.io/challenges/google-ctf-2024/desfunctional/",
    "article_path": "/challenges/google-ctf-2024/desfunctional/",
    "text_url": "https://deut-erium.github.io/challenges/google-ctf-2024/desfunctional/challenge.txt",
    "text_path": "/challenges/google-ctf-2024/desfunctional/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/google-ctf-2024/desfunctional/challenge.json",
    "json_path": "/challenges/google-ctf-2024/desfunctional/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "A newbie friend of mine was trying to implement a secure server\nfor DES encryption and decryption but there seem to be some errors\nunexpectedly creeping in the key. It is getting frustrating, please help"
    },
    "notes": [
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}; it does not award an event solve.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "chall.py",
        "label": "chall.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-desfunctional/chall.py",
        "path": "/assets/challenges/google-ctf-2024-desfunctional/chall.py",
        "bytes": 2770,
        "sha256": "f8fd36aa22a93dfab66e2961f0c5ef3ad0a8ac610e71f52306a3b8f477e92799",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-desfunctional/attachments/chall.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-desfunctional/metadata.yaml",
      "archive_url": "https://github.com/google/google-ctf/tree/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-desfunctional",
      "solution_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-desfunctional/challenge/solve.py"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/Apache-2.0.txt",
        "path": "/assets/challenges/licenses/Apache-2.0.txt",
        "name": "Apache-2.0",
        "bytes": 11358,
        "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/LICENSE"
      }
    ],
    "browser_practice": {
      "runtime": "desfunctional",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/google-ctf-2024/desfunctional/#browser-practice",
      "launch_path": "/challenges/google-ctf-2024/desfunctional/#browser-practice"
    }
  },
  {
    "id": "google-ctf-2024-idea",
    "title": "Challenge archive: Google CTF 2024 - IDEA",
    "challenge_name": "IDEA",
    "year": 2024,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "google-ctf-2024",
      "series": "Google CTF",
      "label": "2024 qualifiers",
      "starts_at": "2024-06-21T18:00:00+00:00",
      "date_source": "https://ctftime.org/event/2296",
      "year": 2024
    },
    "article_url": "https://deut-erium.github.io/challenges/google-ctf-2024/idea/",
    "article_path": "/challenges/google-ctf-2024/idea/",
    "text_url": "https://deut-erium.github.io/challenges/google-ctf-2024/idea/challenge.txt",
    "text_path": "/challenges/google-ctf-2024/idea/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/google-ctf-2024/idea/challenge.json",
    "json_path": "/challenges/google-ctf-2024/idea/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "We have a new idea about a cipher which we think may provide pretty good privacy\nSo bruce for impact as we may patent our new proposed encryption standard"
    },
    "notes": [
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}; it does not award an event solve.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "chall.py",
        "label": "chall.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-idea/chall.py",
        "path": "/assets/challenges/google-ctf-2024-idea/chall.py",
        "bytes": 4067,
        "sha256": "5fb44f432cffbf19fec715a617be1c373f99d2f3e4a602ebab7c3668b7e040c0",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-idea/attachments/chall.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-idea/metadata.yaml",
      "archive_url": "https://github.com/google/google-ctf/tree/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-idea",
      "solution_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-idea/challenge/solve.py"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/Apache-2.0.txt",
        "path": "/assets/challenges/licenses/Apache-2.0.txt",
        "name": "Apache-2.0",
        "bytes": 11358,
        "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/LICENSE"
      }
    ],
    "browser_practice": {
      "runtime": "idea",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/google-ctf-2024/idea/#browser-practice",
      "launch_path": "/challenges/google-ctf-2024/idea/#browser-practice"
    }
  },
  {
    "id": "google-ctf-2024-mceliece",
    "title": "Challenge archive: Google CTF 2024 - McEliece",
    "challenge_name": "McEliece",
    "year": 2024,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "google-ctf-2024",
      "series": "Google CTF",
      "label": "2024 qualifiers",
      "starts_at": "2024-06-21T18:00:00+00:00",
      "date_source": "https://ctftime.org/event/2296",
      "year": 2024
    },
    "article_url": "https://deut-erium.github.io/challenges/google-ctf-2024/mceliece/",
    "article_path": "/challenges/google-ctf-2024/mceliece/",
    "text_url": "https://deut-erium.github.io/challenges/google-ctf-2024/mceliece/challenge.txt",
    "text_path": "/challenges/google-ctf-2024/mceliece/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/google-ctf-2024/mceliece/challenge.json",
    "json_path": "/challenges/google-ctf-2024/mceliece/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Mceliece cryptosystem was developed in 1978 and has resisted cryptanalysis so far.\nLets make allies with better error correcting codes which may call ease on the sizes of keys.\n\nNOTE: The .sobj files were generated using Sage 10.4. It should be fine to use Sage 9.7 or onwards to parse the files."
    },
    "notes": [
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "chall.sage",
        "label": "chall.sage",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-mceliece/chall.sage",
        "path": "/assets/challenges/google-ctf-2024-mceliece/chall.sage",
        "bytes": 2385,
        "sha256": "91084a5225d4742b3483fa63a00637aff3369c79d44c633dd934528f4331cdca",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/attachments/chall.sage"
      },
      {
        "name": "flag_enc.sobj",
        "label": "flag_enc.sobj",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-mceliece/flag_enc.sobj",
        "path": "/assets/challenges/google-ctf-2024-mceliece/flag_enc.sobj",
        "bytes": 1073,
        "sha256": "27b51622f2cb72d7803a405be4651da632493422d482857316e9a6b726513019",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/attachments/flag_enc.sobj"
      },
      {
        "name": "params.sobj",
        "label": "params.sobj",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-mceliece/params.sobj",
        "path": "/assets/challenges/google-ctf-2024-mceliece/params.sobj",
        "bytes": 249,
        "sha256": "eee414c4343662dbab150697b9eb371d108c2cfb19c5422a9761a455ff2a1ec7",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/attachments/params.sobj"
      },
      {
        "name": "pubkey.sobj",
        "label": "pubkey.sobj",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/google-ctf-2024-mceliece/pubkey.sobj",
        "path": "/assets/challenges/google-ctf-2024-mceliece/pubkey.sobj",
        "bytes": 98075,
        "sha256": "f92125ca83e16afaa5ba2efda4ea8a083d8d846eae6a0cf5fdf6befb0707113d",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/attachments/pubkey.sobj"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/metadata.yaml",
      "archive_url": "https://github.com/google/google-ctf/tree/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece",
      "solution_url": "https://github.com/google/google-ctf/blob/067421eb7e918c29e39f187fac5a0f0d72a6ab83/2024/quals/crypto-mceliece/challenge/solve.sage"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/Apache-2.0.txt",
        "path": "/assets/challenges/licenses/Apache-2.0.txt",
        "name": "Apache-2.0",
        "bytes": 11358,
        "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
        "upstream_url": "https://raw.githubusercontent.com/google/google-ctf/067421eb7e918c29e39f187fac5a0f0d72a6ab83/LICENSE"
      }
    ]
  },
  {
    "id": "sekaictf-2024-some-trick",
    "title": "Challenge archive: SekaiCTF 2024 - Some Trick",
    "challenge_name": "Some Trick",
    "year": 2024,
    "category": "Cryptography",
    "authors": [
      "deut-erium"
    ],
    "mode": "offline",
    "event": {
      "id": "sekaictf-2024",
      "series": "SekaiCTF",
      "label": "2024",
      "starts_at": "2024-08-23T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/2243",
      "year": 2024
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2024/some-trick/",
    "article_path": "/challenges/sekaictf-2024/some-trick/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2024/some-trick/challenge.txt",
    "text_path": "/challenges/sekaictf-2024/some-trick/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2024/some-trick/challenge.json",
    "json_path": "/challenges/sekaictf-2024/some-trick/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Bob and Alice found a futuristic version of opunssl and replaced all their needs for doofy wellmen."
    },
    "notes": [
      "Keep the version banner and all three messages in output.txt. The original program only prints these messages; it does not ask for input.",
      "This fixed output was generated for the post with the unchanged original program and event flag. It is not a recording from the competition.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "sometrick.py",
        "label": "sometrick.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2024-some-trick/sometrick.py",
        "path": "/assets/challenges/sekaictf-2024-some-trick/sometrick.py",
        "bytes": 1371,
        "sha256": "41dde15411e31867b5c78f545250216149dd991ce8821b2d568838b3ba33ce66",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2024/e7c9183860a846dd2c4e0d1fd5d5a1fe468e1244/crypto/some-trick/dist/sometrick.py"
      },
      {
        "name": "output.txt",
        "label": "Fixed instance (output.txt)",
        "kind": "fixed-instance",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2024-some-trick/output.txt",
        "path": "/assets/challenges/sekaictf-2024-some-trick/output.txt",
        "bytes": 1065,
        "sha256": "bfdf22675055bf94ea7b161901affcf3cfcc446f5efcfbd0b66a41f5ee343f8b"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2024/blob/e7c9183860a846dd2c4e0d1fd5d5a1fe468e1244/crypto/some-trick/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2024/tree/e7c9183860a846dd2c4e0d1fd5d5a1fe468e1244/crypto/some-trick",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2024/tree/e7c9183860a846dd2c4e0d1fd5d5a1fe468e1244/crypto/some-trick/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ]
  },
  {
    "id": "cyber-apocalypse-2023-blokechain",
    "title": "Challenge archive: HTB Cyber Apocalypse 2023 - Blokechain",
    "challenge_name": "Blokechain",
    "year": 2023,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "cyber-apocalypse-2023",
      "series": "Hack The Box",
      "label": "Cyber Apocalypse 2023",
      "starts_at": "2023-03-18T13:00:00+00:00",
      "date_source": "https://ctftime.org/event/1889",
      "year": 2023
    },
    "article_url": "https://deut-erium.github.io/challenges/cyber-apocalypse-2023/blokechain/",
    "article_path": "/challenges/cyber-apocalypse-2023/blokechain/",
    "text_url": "https://deut-erium.github.io/challenges/cyber-apocalypse-2023/blokechain/challenge.txt",
    "text_path": "/challenges/cyber-apocalypse-2023/blokechain/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/cyber-apocalypse-2023/blokechain/challenge.json",
    "json_path": "/challenges/cyber-apocalypse-2023/blokechain/challenge.json",
    "statement": {
      "label": "Summary",
      "text": "Mine blocks against a private hash function and earn enough to destroy the vessels."
    },
    "notes": [
      "The handout contains server.py and prints a placeholder when you win; it does not include the event flag.",
      "This copy comes from Cyberkarta's community archive, not an official HTB repository. The original remote service is retired; browser practice runs locally with a public dummy reward.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "crypto_blokechain.zip",
        "label": "crypto_blokechain.zip",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/cyber-apocalypse-2023-blokechain/crypto_blokechain.zip",
        "path": "/assets/challenges/cyber-apocalypse-2023-blokechain/crypto_blokechain.zip",
        "bytes": 1642,
        "sha256": "b26190c3145eeadfb318487d410986baee6758d12c414ad297044626a9f68455",
        "upstream_url": "https://raw.githubusercontent.com/cyberkarta/HTBCyberApocalypse2023/d3fc66c54303eb6f2a6cd831c786f054bb8214c6/crypto_blokechain.zip"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/cyberkarta/HTBCyberApocalypse2023/blob/d3fc66c54303eb6f2a6cd831c786f054bb8214c6/crypto_blokechain.zip",
      "archive_url": "https://github.com/cyberkarta/HTBCyberApocalypse2023/tree/d3fc66c54303eb6f2a6cd831c786f054bb8214c6"
    },
    "licenses": [

    ],
    "browser_practice": {
      "runtime": "blokechain",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/cyber-apocalypse-2023/blokechain/#browser-practice",
      "launch_path": "/challenges/cyber-apocalypse-2023/blokechain/#browser-practice"
    }
  },
  {
    "id": "sekaictf-2023-diffecientwo",
    "title": "Challenge archive: SekaiCTF 2023 - Diffecientwo",
    "challenge_name": "Diffecientwo",
    "year": 2023,
    "category": "Cryptography",
    "authors": [
      "deut-erium"
    ],
    "mode": "interactive",
    "event": {
      "id": "sekaictf-2023",
      "series": "SekaiCTF",
      "label": "2023",
      "starts_at": "2023-08-25T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/1923",
      "year": 2023
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2023/diffecientwo/",
    "article_path": "/challenges/sekaictf-2023/diffecientwo/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2023/diffecientwo/challenge.txt",
    "text_path": "/challenges/sekaictf-2023/diffecientwo/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2023/diffecientwo/challenge.json",
    "json_path": "/challenges/sekaictf-2023/diffecientwo/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Welcome to the Diffecientwo Caching Database API for tracking and storing content across social media. We have repurposed our [security product](https://deut-erium.github.io/challenges/sekaictf-2022/diffecient/), as saving the admin key was probably not the best idea.\n\nWe have decided to change our policies and to achieve better marketing, we are offering free API KEY to customers sharing `#SEKAICTF #DEUTERIUM #DIFFECIENTWO #CRYPTO` on *LonelyFans* (our premium business partner)."
    },
    "notes": [
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}; it does not award an event solve.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "diffecientwo.py",
        "label": "diffecientwo.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2023-diffecientwo/diffecientwo.py",
        "path": "/assets/challenges/sekaictf-2023-diffecientwo/diffecientwo.py",
        "bytes": 3226,
        "sha256": "e91a6409ae1500161ce4ed455589cbe8e94aa1c803538342984c504367fdbfd3",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2023/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/diffecientwo/dist/diffecientwo.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2023/blob/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/diffecientwo/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2023/tree/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/diffecientwo",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2023/tree/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/diffecientwo/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ],
    "browser_practice": {
      "runtime": "diffecientwo",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/sekaictf-2023/diffecientwo/#browser-practice",
      "launch_path": "/challenges/sekaictf-2023/diffecientwo/#browser-practice"
    }
  },
  {
    "id": "sekaictf-2023-randsubware",
    "title": "Challenge archive: SekaiCTF 2023 - RandSubWare",
    "challenge_name": "RandSubWare",
    "year": 2023,
    "category": "Cryptography",
    "authors": [
      "deut-erium"
    ],
    "mode": "interactive",
    "event": {
      "id": "sekaictf-2023",
      "series": "SekaiCTF",
      "label": "2023",
      "starts_at": "2023-08-25T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/1923",
      "year": 2023
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2023/randsubware/",
    "article_path": "/challenges/sekaictf-2023/randsubware/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2023/randsubware/challenge.txt",
    "text_path": "/challenges/sekaictf-2023/randsubware/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2023/randsubware/challenge.json",
    "json_path": "/challenges/sekaictf-2023/randsubware/challenge.json",
    "statement": {
      "label": "Description excerpt",
      "text": "\"RandSubWare\" - standing for 'Random Substitution Warefare Challenge'. This term encompasses the idea of breaking a substitution permutation network through the use of randomized and strategic attacks on the substituted boxes, engaging in a battle against the complexity and obscurity of the encryption."
    },
    "notes": [
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}; it does not award an event solve.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "chall.py",
        "label": "chall.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2023-randsubware/chall.py",
        "path": "/assets/challenges/sekaictf-2023-randsubware/chall.py",
        "bytes": 9271,
        "sha256": "e8f1adc85143e5213f2992d735383862482da62d1f9356b87fabb63909e50c4f",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2023/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/randsubware/dist/chall.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2023/blob/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/randsubware/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2023/tree/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/randsubware",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2023/tree/4dc0f1fb2836c64b3a502e2538ba32530996b8c9/crypto/randsubware/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ],
    "browser_practice": {
      "runtime": "randsubware",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/sekaictf-2023/randsubware/#browser-practice",
      "launch_path": "/challenges/sekaictf-2023/randsubware/#browser-practice"
    }
  },
  {
    "id": "sekaictf-2022-diffecient",
    "title": "Challenge archive: SekaiCTF 2022 - Diffecient",
    "challenge_name": "Diffecient",
    "year": 2022,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "sekaictf-2022",
      "series": "SekaiCTF",
      "label": "2022",
      "starts_at": "2022-09-30T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/1619",
      "year": 2022
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2022/diffecient/",
    "article_path": "/challenges/sekaictf-2022/diffecient/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2022/diffecient/challenge.txt",
    "text_path": "/challenges/sekaictf-2022/diffecient/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2022/diffecient/challenge.json",
    "json_path": "/challenges/sekaictf-2022/diffecient/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Welcome to the Diffecient Security Key Database API, for securely and efficiently saving tons of long security keys! Feel *free* to query your security keys, and pay a little to add your own to our state-of-the-art database.\n\nWe trust our product so much that we even save our own keys here!"
    },
    "notes": [
      "The archive has server source but no separate player handout. The linked file imports a secret module; organizer files are under the spoiler section.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "diffecient.py",
        "label": "diffecient.py (archived server source)",
        "kind": "server-source",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2022-diffecient/diffecient.py",
        "path": "/assets/challenges/sekaictf-2022-diffecient/diffecient.py",
        "bytes": 4221,
        "sha256": "bf4668f888f33cea4280e878300f3f738a8e46ae7a9ed25ba507844f65d3b245",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/diffecient/challenge/app/diffecient.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2022/blob/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/diffecient/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/diffecient",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/diffecient/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ],
    "browser_practice": {
      "runtime": "diffecient",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/sekaictf-2022/diffecient/#browser-practice",
      "launch_path": "/challenges/sekaictf-2022/diffecient/#browser-practice"
    }
  },
  {
    "id": "sekaictf-2022-failproof",
    "title": "Challenge archive: SekaiCTF 2022 - FaILProof",
    "challenge_name": "FaILProof",
    "year": 2022,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "sekaictf-2022",
      "series": "SekaiCTF",
      "label": "2022",
      "starts_at": "2022-09-30T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/1619",
      "year": 2022
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof/",
    "article_path": "/challenges/sekaictf-2022/failproof/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof/challenge.txt",
    "text_path": "/challenges/sekaictf-2022/failproof/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof/challenge.json",
    "json_path": "/challenges/sekaictf-2022/failproof/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "I have designed a failproof encryption system with possibly arbitrarily small public keys. I will be as famous as Et Al one day, but only if I can somehow figure out a decryption mechanism..."
    },
    "notes": [
      "The flag module is needed only to generate a new instance. Solve from the source and the two lines in output.txt; no server is needed.",
      "This fixed output was generated for the post with the unchanged original program and event flag. It is not a recording from the competition.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "source.py",
        "label": "source.py (archived server source)",
        "kind": "server-source",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2022-failproof/source.py",
        "path": "/assets/challenges/sekaictf-2022-failproof/source.py",
        "bytes": 1151,
        "sha256": "998ba4502c33464f614ed76316aa20b1e118dbf637561225a4199f3b9252cc8c",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof/challenge/app/source.py"
      },
      {
        "name": "output.txt",
        "label": "Fixed instance (output.txt)",
        "kind": "fixed-instance",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2022-failproof/output.txt",
        "path": "/assets/challenges/sekaictf-2022-failproof/output.txt",
        "bytes": 1576,
        "sha256": "15632ae2a4ba1f1cc14a5c508c32617f07c4d6d16949ec30593840203fbb671c"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2022/blob/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ]
  },
  {
    "id": "sekaictf-2022-failproof-revenge",
    "title": "Challenge archive: SekaiCTF 2022 - FaILProof Revenge",
    "challenge_name": "FaILProof Revenge",
    "year": 2022,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "sekaictf-2022",
      "series": "SekaiCTF",
      "label": "2022",
      "starts_at": "2022-09-30T16:00:00+00:00",
      "date_source": "https://ctftime.org/event/1619",
      "year": 2022
    },
    "article_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof-revenge/",
    "article_path": "/challenges/sekaictf-2022/failproof-revenge/",
    "text_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof-revenge/challenge.txt",
    "text_path": "/challenges/sekaictf-2022/failproof-revenge/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/sekaictf-2022/failproof-revenge/challenge.json",
    "json_path": "/challenges/sekaictf-2022/failproof-revenge/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "I am sure it's failproof now, I have increased the security levels too!"
    },
    "notes": [
      "The flag module is needed only to generate a new instance. Solve from the source and the two lines in output.txt; no server is needed.",
      "This fixed output was generated for the post with the unchanged original program and event flag. It is not a recording from the competition.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "source.py",
        "label": "source.py (archived server source)",
        "kind": "server-source",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2022-failproof-revenge/source.py",
        "path": "/assets/challenges/sekaictf-2022-failproof-revenge/source.py",
        "bytes": 1200,
        "sha256": "7451a6b5ee870999277b61e9fe5c23b08428ed2a9f8a6f9f025b85e545fd110d",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof-revenge/challenge/app/source.py"
      },
      {
        "name": "output.txt",
        "label": "Fixed instance (output.txt)",
        "kind": "fixed-instance",
        "url": "https://deut-erium.github.io/assets/challenges/sekaictf-2022-failproof-revenge/output.txt",
        "path": "/assets/challenges/sekaictf-2022-failproof-revenge/output.txt",
        "bytes": 9008,
        "sha256": "447bcf2520cceda24115e5d31faff6c1ef0fe1334b46bc05bf5488a6745d01fc"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/project-sekai-ctf/sekaictf-2022/blob/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof-revenge/README.md",
      "archive_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof-revenge",
      "solution_url": "https://github.com/project-sekai-ctf/sekaictf-2022/tree/383b16da68c438c5d516e6f00b2716210141f7a4/crypto/failproof-revenge/solution"
    },
    "licenses": [
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/AGPL-3.0.txt",
        "path": "/assets/challenges/licenses/AGPL-3.0.txt",
        "name": "AGPL-3.0",
        "bytes": 34523,
        "sha256": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE"
      },
      {
        "url": "https://deut-erium.github.io/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "path": "/assets/challenges/licenses/CC-BY-NC-SA-4.0.txt",
        "name": "CC BY-NC-SA 4.0",
        "bytes": 19119,
        "sha256": "14d2138e3a8bd9448254f171b8e17130bf7104d2fd843ab0b924bd105fd00d5a",
        "upstream_url": "https://raw.githubusercontent.com/project-sekai-ctf/sekaictf-2022/383b16da68c438c5d516e6f00b2716210141f7a4/LICENSE.content.md"
      }
    ]
  },
  {
    "id": "zh3r0-2021-1n-jection",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - 1n_jection",
    "challenge_name": "1n_jection",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/1n-jection/",
    "article_path": "/challenges/zh3r0-2021/1n-jection/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/1n-jection/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/1n-jection/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/1n-jection/challenge.json",
    "json_path": "/challenges/zh3r0-2021/1n-jection/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "COVID: *exists*\nvaccine jokes: *challenge_name*"
    },
    "notes": [
      "The handout includes the original numeric output. The local practice version uses different output and a different flag.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "challenge.py",
        "label": "challenge.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-1n-jection/challenge.py",
        "path": "/assets/challenges/zh3r0-2021-1n-jection/challenge.py",
        "bytes": 500,
        "sha256": "9384230e88a2fbf577e22217e70c49f4664ce588006d8a3fcc0179082f6a7424",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/1n_jection/public/challenge.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/1n_jection/README.md#L6",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/1n_jection",
      "solution_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/1n_jection/admin/solve.py"
    },
    "licenses": [

    ]
  },
  {
    "id": "zh3r0-2021-b00tleg",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - b00tleg",
    "challenge_name": "b00tleg",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/b00tleg/",
    "article_path": "/challenges/zh3r0-2021/b00tleg/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/b00tleg/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/b00tleg/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/b00tleg/challenge.json",
    "json_path": "/challenges/zh3r0-2021/b00tleg/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Source? Gotta comply to Indian CTFs' crypto standards"
    },
    "notes": [
      "This was a black-box challenge: players did not receive the source. The local organizer practice copy includes the level answers and is listed separately as a spoiler. Only its final reward was replaced with a dummy flag; the original source remains linked for reference.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [

    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [
        {
          "name": "organizer-practice.py",
          "label": "organizer-practice.py",
          "kind": "organizer-source",
          "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-b00tleg/organizer-practice.py",
          "path": "/assets/challenges/zh3r0-2021-b00tleg/organizer-practice.py",
          "bytes": 4180,
          "sha256": "21ebf905b9af68e8215883456a7f4a344a5577859ea4b6a526223a60a6ef7208",
          "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/b00tleg/admin/challenge.py",
          "modification": "Only the final event reward was replaced with a public dummy reward. Level answers remain.",
          "upstream_sha256": "3df9b05402271aeda470885e31f9041854cb514bb652fd6a1a18607c5154dace",
          "upstream_bytes": 4215
        }
      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/b00tleg/readme.md#L5",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/b00tleg"
    },
    "licenses": [

    ],
    "browser_practice": {
      "runtime": "b00tleg",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/zh3r0-2021/b00tleg/#browser-practice",
      "launch_path": "/challenges/zh3r0-2021/b00tleg/#browser-practice"
    }
  },
  {
    "id": "zh3r0-2021-chaos",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - chaos",
    "challenge_name": "chaos",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/chaos/",
    "article_path": "/challenges/zh3r0-2021/chaos/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/chaos/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/chaos/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/chaos/challenge.json",
    "json_path": "/challenges/zh3r0-2021/chaos/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Whats the fun rolling up a hash function if its not chaotic enough?"
    },
    "notes": [
      "The handout omits the secret module. Browser practice uses a public dummy reward in place of the event flag; the original remote service is retired.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "challenge.py",
        "label": "challenge.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-chaos/challenge.py",
        "path": "/assets/challenges/zh3r0-2021-chaos/challenge.py",
        "bytes": 1826,
        "sha256": "b58529c8f5aa8d50bd38ab3ca595fcb65bf8ca00b4a2c235082811669fa95b8e",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/chaos/public/challenge.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/chaos/readme.md#L5",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/chaos",
      "solution_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/chaos/admin/solve.py"
    },
    "licenses": [

    ],
    "browser_practice": {
      "runtime": "chaos",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/zh3r0-2021/chaos/#browser-practice",
      "launch_path": "/challenges/zh3r0-2021/chaos/#browser-practice"
    }
  },
  {
    "id": "zh3r0-2021-cheater-mind",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - cheater mind",
    "challenge_name": "cheater mind",
    "year": 2021,
    "category": "Miscellaneous",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/cheater-mind/",
    "article_path": "/challenges/zh3r0-2021/cheater-mind/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/cheater-mind/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/cheater-mind/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/cheater-mind/challenge.json",
    "json_path": "/challenges/zh3r0-2021/cheater-mind/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Hey, I dont want you to win. Mind if i cheat a little bit?"
    },
    "notes": [
      "The handout omits the secret module. Browser practice uses a public dummy reward in place of the event flag; the original remote service is retired.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "cheater-mind-76c6bf15e3b565583a26f5936b9faef6a7ee2c46.tar.gz",
        "label": "cheater-mind.tar.gz (original handout)",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-cheater-mind/cheater-mind-76c6bf15e3b565583a26f5936b9faef6a7ee2c46.tar.gz",
        "path": "/assets/challenges/zh3r0-2021-cheater-mind/cheater-mind-76c6bf15e3b565583a26f5936b9faef6a7ee2c46.tar.gz",
        "bytes": 873,
        "sha256": "4d55bd0ff2ad38ffb4e977545e469482412bf37a2fb9296799ecff3a694666df",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/misc/cheater-mind/public/cheater-mind-76c6bf15e3b565583a26f5936b9faef6a7ee2c46.tar.gz"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/qxxxb/ctf/blob/525f2f86bfd55b2cfa1b4e5fdf297b5145bedd19/2021/zh3r0_ctf/cheater_mind/README.md#L3-L6",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/misc/cheater-mind",
      "solution_url": "https://github.com/qxxxb/ctf/blob/525f2f86bfd55b2cfa1b4e5fdf297b5145bedd19/2021/zh3r0_ctf/cheater_mind/README.md"
    },
    "licenses": [

    ],
    "browser_practice": {
      "runtime": "cheater-mind",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/zh3r0-2021/cheater-mind/#browser-practice",
      "launch_path": "/challenges/zh3r0-2021/cheater-mind/#browser-practice"
    }
  },
  {
    "id": "zh3r0-2021-import-numpy-as-mt",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - import numpy as MT",
    "challenge_name": "import numpy as MT",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/import-numpy-as-mt/",
    "article_path": "/challenges/zh3r0-2021/import-numpy-as-mt/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/import-numpy-as-mt/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/import-numpy-as-mt/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/import-numpy-as-mt/challenge.json",
    "json_path": "/challenges/zh3r0-2021/import-numpy-as-mt/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Python is so slow! Lets use nUmPy tO MAkE iT FaSTer. Only if there was a module for crypto in it :("
    },
    "notes": [
      "This is the original two-layer encryption challenge. The Wiki Mersenne practice variant uses one layer and has a different flag.",
      "This fixed output was generated for the post with the unchanged original program and event flag. It is not a recording from the competition.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "challenge.py",
        "label": "challenge.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-import-numpy-as-mt/challenge.py",
        "path": "/assets/challenges/zh3r0-2021-import-numpy-as-mt/challenge.py",
        "bytes": 476,
        "sha256": "621619c4273bfd5e3e12b3293418de68489ab17a64b5ca879ddc4a0ad3d0acac",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/import_numpy_as_MT/public/challenge.py"
      },
      {
        "name": "output.txt",
        "label": "Fixed instance (output.txt)",
        "kind": "fixed-instance",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-import-numpy-as-mt/output.txt",
        "path": "/assets/challenges/zh3r0-2021-import-numpy-as-mt/output.txt",
        "bytes": 257,
        "sha256": "465c3b9fd394dea2de40a1df5581798b3182e8b8f3dd966dd76df80b9330cc25"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/import_numpy_as_MT/readme.md#L5",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/import_numpy_as_MT",
      "solution_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/import_numpy_as_MT/admin/solve.py"
    },
    "licenses": [

    ]
  },
  {
    "id": "zh3r0-2021-real-mersenne",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - real_mersenne",
    "challenge_name": "real_mersenne",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "interactive",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/real-mersenne/",
    "article_path": "/challenges/zh3r0-2021/real-mersenne/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/real-mersenne/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/real-mersenne/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/real-mersenne/challenge.json",
    "json_path": "/challenges/zh3r0-2021/real-mersenne/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Do you believe in games of luck? I hope you make your guesses real or you'll be floating around,"
    },
    "notes": [
      "The handout omits the secret module. Browser practice uses a public dummy reward in place of the event flag; the original remote service is retired.",
      "The original remote service is retired. Browser practice runs locally with the public dummy reward practice{local_dummy_reward}, not an event flag or authoritative score. No TCP endpoint is provided."
    ],
    "files": [
      {
        "name": "challenge.py",
        "label": "challenge.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-real-mersenne/challenge.py",
        "path": "/assets/challenges/zh3r0-2021-real-mersenne/challenge.py",
        "bytes": 734,
        "sha256": "ca3c4c28c6271359f4a7838f7f7ae5fd06e534e30920fc9f21aff1223d27582c",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/real_mersenne/public/challenge.py"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/real_mersenne/readme.md#L5",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/real_mersenne",
      "solution_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/real_mersenne/admin/solve.py"
    },
    "licenses": [

    ],
    "browser_practice": {
      "runtime": "real-mersenne",
      "variants": [
        "default"
      ],
      "launch_url": "https://deut-erium.github.io/challenges/zh3r0-2021/real-mersenne/#browser-practice",
      "launch_path": "/challenges/zh3r0-2021/real-mersenne/#browser-practice"
    }
  },
  {
    "id": "zh3r0-2021-twist-and-shout",
    "title": "Challenge archive: zh3r0 CTF V2 2021 - twist_and_shout",
    "challenge_name": "twist_and_shout",
    "year": 2021,
    "category": "Cryptography",
    "authors": [
      "deuterium"
    ],
    "mode": "offline",
    "event": {
      "id": "zh3r0-2021",
      "series": "zh3r0 CTF",
      "label": "2021 (V2)",
      "starts_at": "2021-06-04T10:30:00+00:00",
      "date_source": "https://ctftime.org/event/1285",
      "year": 2021
    },
    "article_url": "https://deut-erium.github.io/challenges/zh3r0-2021/twist-and-shout/",
    "article_path": "/challenges/zh3r0-2021/twist-and-shout/",
    "text_url": "https://deut-erium.github.io/challenges/zh3r0-2021/twist-and-shout/challenge.txt",
    "text_path": "/challenges/zh3r0-2021/twist-and-shout/challenge.txt",
    "json_url": "https://deut-erium.github.io/challenges/zh3r0-2021/twist-and-shout/challenge.json",
    "json_path": "/challenges/zh3r0-2021/twist-and-shout/challenge.json",
    "statement": {
      "label": "Original description",
      "text": "Wise men once said, \"Well, shake it up, baby, now Twist and shout come on and work it on out\" I obliged, now the flag is as twisted as my sense of humour"
    },
    "notes": [
      "Use all 624 lines in output.txt with the original source. The Untwist Me practice variant has its own output and flag.",
      "This fixed output was generated for the post with the unchanged original program and event flag. It is not a recording from the competition.",
      "This is a static archive. No live challenge service or runtime simulation is provided here."
    ],
    "files": [
      {
        "name": "challenge.py",
        "label": "challenge.py",
        "kind": "handout",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-twist-and-shout/challenge.py",
        "path": "/assets/challenges/zh3r0-2021-twist-and-shout/challenge.py",
        "bytes": 429,
        "sha256": "8224a8aa462a4f618aeaa0184ad59aad07a748e453753b6dcefba5664fd9debf",
        "upstream_url": "https://raw.githubusercontent.com/zh3r0/zh3r0-ctf/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/twist_and_shout/public/challenge.py"
      },
      {
        "name": "output.txt",
        "label": "Fixed instance (output.txt)",
        "kind": "fixed-instance",
        "url": "https://deut-erium.github.io/assets/challenges/zh3r0-2021-twist-and-shout/output.txt",
        "path": "/assets/challenges/zh3r0-2021-twist-and-shout/output.txt",
        "bytes": 6700,
        "sha256": "898a7067d8e4fcf757ea59050015390d643fe39305f63fd1799e4072a41cf529"
      }
    ],
    "spoilers": {
      "warning": "Spoilers: organizer files and upstream source, archive, or solution links may reveal answers. Modified downloads are identified below.",
      "files": [

      ],
      "source_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/twist_and_shout/readme.md#L6",
      "archive_url": "https://github.com/zh3r0/zh3r0-ctf/tree/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/twist_and_shout",
      "solution_url": "https://github.com/zh3r0/zh3r0-ctf/blob/7fd08591b088215d58aefdc3b0f64c4a9de80f5d/V2/crypto/twist_and_shout/admin/solve.py"
    },
    "licenses": [

    ]
  }
]
