@mala @badgefed absolutely. This sounds like a fun project. Badgefed is based in ActivityPub + OpenBadges, and how is links both together is thru urls/uris. In a nutshell, the issuer of the badge should reference the actor uri publishing the activitypub object.

I read that the ch35t riddle could be played offline, but maybe we can setup a badgefed instance that allows to exchange the unlocking crypto key for a certificate. That is definitely doable. We can also add something to the #ch35t spec, kind of a badge url that does the request for the user (API).

Let me know if you are interested in collab!

#Ch35t is called this way because “it’s a chest with a little bit of 3564020356.org in it”🙂

It is first and foremost a format, defined with a json schema, that one can use to formalize a riddle. There’s a “label” with name and author, a hint telling you how to find the chest’s key (the riddle answer), and then the chest’s payload, that you only get if you have the right key.

Both hint and payload are data which can take any format. The payload is locked with the key via encryption.

#ch35t is also a python library that parses its own format. Until yesterday, it came with a CLI client to read a json, validate it, show all information from a chest (including decoding different hint formats), and unlock it with a key.

For my son’s riddle, I just built a @marimo_io client that provides a nice browser UI. I made sure all python deps are supported by pyodide, so the client becomes a portable static HTML file + JavaScript. This way, my son just needs to connect to a URL to play.

What does a #ch35t look like? Check out http://3564020356.org/ch35t/examples/ for a few examples.

What riddles can you create with it? The simplest ones hold a plain text question and the md5-encrypted answer you need to find. But you can also use eg. a base64-encoded zip file for your hint, and AES to encrypt another file using the riddle’s answer as a key.

This is already enough to encode almost all 356* riddles as ch35ts, so that anyone will be able to play with them even when the site is long forgotten.

Index of /ch35t/examples

http://3564020356.org/ch35t/wasm/ is the endpoint. The riddle you’ll find is the one that gives you access to my old website in case you are curious to check it out 🙂

If you change the URL to another valid JSON (see the ch35t/examples dir) a new riddle will load. You can already create your own riddle in #ch35t format, provide its URL here, and play it. There are still good chances that something will break 😇 so please lmk if it does and I’ll fix it. Or you can, the code is all there! 😜

After an almost 2-years hiatus, a new version of #ch35t (0.1.9) is out. If you were not expecting this, just know I am more surprised than you!

I just couldn’t hear my son say he’s bored anymore, so I built a riddle for him. Well, the intention was a scavenger hunt, but I had to downsize this to something I could finish in one day (but still hard enough so that I could create one more before he completed it).

Preparing the riddle was easy, but it became an excuse to pick up ch35t again… 🧵

Some days my mind feels like those Emule/Torrent sessions with so many simultaneous downloads: so much stuff going on, nothing seems like it will ever be complete.

But today I mindfully reduced my downloads and let hyperfocus do the rest. It’s 2am now, but knowing that a few things are done finally gives me some piece of mind.

What I enjoyed the most this weekend? I finished reading Cory Doctorow’s Homeland and added AES support and a few new features to #ch35t 💪😁

Weekend plan:

- add Gemini support to #picogopher
- build web sandbox for #ch35t
- build a #brachiograph
- finish reading #homeland
- do some indoor bouldering
- play #turingcomplete
- play #projectzomboid

What I actually did:

- an as beautiful as unplanned trip to Cliveden House and Windsor
- a bouldering session
- read Homeland (far from finishing it though!)
- read quite a lot of #manga
- took two loooong baths
- ate one Magnum (required for the brachiograph)

This weekend I played a bit with #click and click-repl to build a CLI interface for #ch35t: it is still early work but between help, command auto-completion and history it looks pretty cool 🤩 Can’t wait for this to be good enough so I can start sharing new riddles instead… Now the question is: how much is good enough? 🤔

https://asciinema.org/a/620378

#riddles #hackingChallenge #cryptography

Ch35t CLI teaser

Very first demo of Ch35t - trying to solve a riddle with the CLI tool Code: https://github.com/aittalam/ch35t

asciinema.org

All of this to say I pushed an update to #Ch35t and now you also have a README file to understand what the heck it is about 🙂

https://github.com/aittalam/ch35t

(also here’s the first post I wrote about it: https://fosstodon.org/@mala/111087465479136933)

#riddles #HackingChallenge #cryptography #WeekendProject

GitHub - aittalam/ch35t

Contribute to aittalam/ch35t development by creating an account on GitHub.

GitHub