_.C\=-C`~(       
                                                      ```o''*~C`  `,     
                                                    '\_~_E_'O'```v, U_   
                                                 . ' :``      ````>`[cCO-
                                             __>'  `_ `~__         `O'`  
                                         _U<`             ^~      ,)     
                                     _U<'         _______,,~`~-~U/_/     
                                __~^`  _                `~~    ```       
                           __~*`        `C>_          ``[O               
                       __-``__I_=-~~-^`'  `>>    _U_-_- `                
                  __UC-**``.,U;#c'__**F'''-**`>=-````*`                  
         ____-~,_@C``[CC[`C[`    __                           _'         
  _U,_cF~'`'```      *__,.=='*^H__     `[`                  _/           
'``                             \                        _>K             
                                 `                    __/`               
                               ^{_   [               ``                  
                                     `<    ,                             
                                       `4\_[                             
                                         `{\`_                           
                                          \4\),_                         
                                    -*``ELU-,*UF-~o_@o,_                 
                    ___-~-`'``````  `` `''`````````[\ ``'                
         ___-=-*'```         ___         U,  --oIoE/    `,               

Latest

DUCTF 2023: Encrypted Mail Writeup [Crypto, 3 solves]

The most fun I've had solving a challenge in a while ^-^. It's rare to have a challenge that involves attacking both the cryptographic primitive and the protocol at the same time.

Cayley Graphs and Pretty Things

A fun approachable introduction to Cayley Graphs (and a little bit of group theory), and a writeup to this little web widget I made

SEETF 2023 Author Writeup

Writeups for challenges I wrote for SEETF 2023, in the Crypto/Rev/Misc categories. Another PyJail, No Subbox, Hard To Write, Cubeland, Linear Programming

See 18 more posts

Drawing with Nothing: Exploiting aliasing and moire patterns to draw for you

Exploiting aliasing during image resizing to make shapes and 3D objects appear via MoirΓ© patterns. Essentially a writeup behind Interference and a follow-up on my moire patterns post.

Visual Proof of Schreier Refinement Theorem and Jordan-HΓΆlder Theorem

A follow-up from my post Visualising Homomorphisms, applied to giving a visual proof of the Schreier Refinement Theorem and Jordan-HΓΆlder Theorem.

Visualising Homomorphisms

Visual intuitions I've accrued while studying algebra, starting with a geometric interpretation of the isomorphism theorems and application into more β€œinvolved” concepts like composition series. Currently very Group focused, might update for more objects.

Social Engineering to Solve A Crypto Challenge

Using ProtonMail's user interface to trick organisers into giving the flag

Greyhats 2022 Finals Writeup

Writeups for challenges I found interesting

SEETF 2022 Author Writeup

Writeups for challenges I wrote for SEETF 2022.

CTFSG 2022 Author Writeup and The Making Of

Writeups for challenges I wrote for CTFSG 2022, and how it's made. Contains a lot of cool trinkets.

A Surprising Place $e$ Appears In

It takes an average of $e$ randomly generated numbers in $[0,1]$ for the sum to be more than $1$

Renumbering Dice

An exploration of multiple ways to describe rolling dice, and answering questions on re-numbering dice.

An Elementary Solution to the Basel Problem

An elementary solution to the basel problem, reconstructed from memory, from a source deleted from the internet by a shitty company.

RARCTF 2021: Mini-A3S Writeup (Crypto 1500)

Solution to Mini-A3S (Crypto 1500) challenge in RARCTF 2021. The hardest challenge I've solved so far, by a long shot.

RARCTF 2021: Randompad Writeup (Crypto 700)

Solution to Randompad (Crypto 700) challenge in RARCTF 2021.

RARCTF 2021: A3S Writeup (Crypto 800)

Solution to A3S (Crypto 800) challenge in RARCTF 2021.

Abusing LOAD_FAST in Python 3 VM

Pwning Python 3 VM via an intended feature (Disclaimer: Not a vulnerability)

Magnifying the Micro with MoirΓ© Patterns

Designing circular screen patterns that can be used to magnify grid-like stuff, like the pixels on your screen or threads in a cloth via MoirΓ© Patterns. Also a mathematical formulation of MoirΓ© Patterns.

CDDC 2020: A Kind Of Crypto

Solution to A Kind Of Crypto challenge in CDDC 2020. This was my first time getting introduced to ECC, and was pretty much the only good-ish challenge I rmb from this CTF (oof).

A Quadratic Recurrence Relation that Computes $\pi$

I found a recurrence relation that computes $\pi$. Here's why it works.

The Most Inefficient Way to Compute $\pi$

A surprising and incredibly inefficient way to compute $\pi$ based on coin flips

All Posts

Mathematics

Math writings!

See 6 posts

Cayley Graphs and Pretty Things

A fun approachable introduction to Cayley Graphs (and a little bit of group theory), and a writeup to this little web widget I made

Drawing with Nothing: Exploiting aliasing and moire patterns to draw for you

Exploiting aliasing during image resizing to make shapes and 3D objects appear via MoirΓ© patterns. Essentially a writeup behind Interference and a follow-up on my moire patterns post.

Visual Proof of Schreier Refinement Theorem and Jordan-HΓΆlder Theorem

A follow-up from my post Visualising Homomorphisms, applied to giving a visual proof of the Schreier Refinement Theorem and Jordan-HΓΆlder Theorem.

Visualising Homomorphisms

Visual intuitions I've accrued while studying algebra, starting with a geometric interpretation of the isomorphism theorems and application into more β€œinvolved” concepts like composition series. Currently very Group focused, might update for more objects.

Renumbering Dice

An exploration of multiple ways to describe rolling dice, and answering questions on re-numbering dice.

Magnifying the Micro with MoirΓ© Patterns

Designing circular screen patterns that can be used to magnify grid-like stuff, like the pixels on your screen or threads in a cloth via MoirΓ© Patterns. Also a mathematical formulation of MoirΓ© Patterns.

Security

A mishmash of articles vaguely tangent to "Security"

See 2 posts

Social Engineering to Solve A Crypto Challenge

Using ProtonMail's user interface to trick organisers into giving the flag

Abusing LOAD_FAST in Python 3 VM

Pwning Python 3 VM via an intended feature (Disclaimer: Not a vulnerability)

CTF

A collection of CTF Writeups of challenges I liked, heavily biased towards Crypto.

See 9 posts

DUCTF 2023: Encrypted Mail Writeup [Crypto, 3 solves]

The most fun I've had solving a challenge in a while ^-^. It's rare to have a challenge that involves attacking both the cryptographic primitive and the protocol at the same time.

SEETF 2023 Author Writeup

Writeups for challenges I wrote for SEETF 2023, in the Crypto/Rev/Misc categories. Another PyJail, No Subbox, Hard To Write, Cubeland, Linear Programming

Greyhats 2022 Finals Writeup

Writeups for challenges I found interesting

SEETF 2022 Author Writeup

Writeups for challenges I wrote for SEETF 2022.

CTFSG 2022 Author Writeup and The Making Of

Writeups for challenges I wrote for CTFSG 2022, and how it's made. Contains a lot of cool trinkets.

RARCTF 2021: Mini-A3S Writeup (Crypto 1500)

Solution to Mini-A3S (Crypto 1500) challenge in RARCTF 2021. The hardest challenge I've solved so far, by a long shot.

RARCTF 2021: Randompad Writeup (Crypto 700)

Solution to Randompad (Crypto 700) challenge in RARCTF 2021.

RARCTF 2021: A3S Writeup (Crypto 800)

Solution to A3S (Crypto 800) challenge in RARCTF 2021.

CDDC 2020: A Kind Of Crypto

Solution to A Kind Of Crypto challenge in CDDC 2020. This was my first time getting introduced to ECC, and was pretty much the only good-ish challenge I rmb from this CTF (oof).

Bites

Fun Facts!β„’

See 4 posts

A Surprising Place $e$ Appears In

It takes an average of $e$ randomly generated numbers in $[0,1]$ for the sum to be more than $1$

An Elementary Solution to the Basel Problem

An elementary solution to the basel problem, reconstructed from memory, from a source deleted from the internet by a shitty company.

A Quadratic Recurrence Relation that Computes $\pi$

I found a recurrence relation that computes $\pi$. Here's why it works.

The Most Inefficient Way to Compute $\pi$

A surprising and incredibly inefficient way to compute $\pi$ based on coin flips

Misc

Random, unorganised writings of miscellaneous topics.

See 0 posts