diff --git a/aaaa/attitude-adjustment/README.md b/aaaa/attitude-adjustment/README.md index 1d9020f..b45a5e3 100644 --- a/aaaa/attitude-adjustment/README.md +++ b/aaaa/attitude-adjustment/README.md @@ -10,7 +10,7 @@ **Given files**: `attitude-papa21503yankee.tar.bz2` -## Writeup +## Write-up by [erin (`barzamin`)](https://imer.in). For this problem, we have two sets of N vectors which are paired; all points in the first set are just those in the second set up to rotation; we want to find the rotation which maps the first set onto the other one. Since we already know which point in the observation set maps to which vector in the catalog set, we can use the [Kabsch algorithm](https://en.wikipedia.org/wiki/Kabsch_algorithm) to find the rotation matrix (note that this is called an *orthogonal Procrustes problem*). I'd only vaguely heard of the Kabsch algorithm before, and in the context of bioinformatics, so I didn't immediately identify it as a good path to the solution. Instead, I just googled "_align two sets of vectors_", for which it's the third result. diff --git a/aaaa/digital-filters-meh/README.md b/aaaa/digital-filters-meh/README.md index a296bb5..34dffb2 100644 --- a/aaaa/digital-filters-meh/README.md +++ b/aaaa/digital-filters-meh/README.md @@ -10,7 +10,7 @@ **Given files**: `src.tar.gz`. -## Writeup +## Write-up by [erin (`barzamin`)](https://imer.in). As part of this challenge, we're given a file `src.tar.gz` by the scoreboard. This contains Octave code which simulates the satellite kinetics and control loop, and, presumably, is what's running on the challenge server. diff --git a/aaaa/my-0x20/README.md b/aaaa/my-0x20/README.md index cd9ebc5..16103bd 100644 --- a/aaaa/my-0x20/README.md +++ b/aaaa/my-0x20/README.md @@ -6,9 +6,9 @@ > This social media app is back with a vengeance! -**Given files**: myspace-mike33686zulu.tar.bz2 +**Given files**: `myspace-mike33686zulu.tar.bz2` -## Writeup +## Write-up by [erin (`barzamin`)](https://imer.in). 0x20 is SpaceBook, except without a backdoor. If you haven't read that writeup yet, go take a look at it. @@ -87,6 +87,6 @@ Fun fact! We got second or third on this (I don't remember), even though I had t ```{.python include=zoxtwenty.py} ``` -## Resources +## Resources and other writeups - https://ieeexplore.ieee.org/document/180383 - https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.BallTree.html diff --git a/aaaa/spacebook/README.md b/aaaa/spacebook/README.md index 669b9dd..3357411 100644 --- a/aaaa/spacebook/README.md +++ b/aaaa/spacebook/README.md @@ -8,9 +8,9 @@ > > Note: The catalog format is unit vector (X,Y,Z) in a celestial reference frame and the magnitude (relative brightness) -**Given files**: spacebook-golf56788echo.tar.bz2 +**Given files**: `spacebook-golf56788echo.tar.bz2` -## Writeup +## Write-up by [erin (`barzamin`)](https://imer.in). SpaceBook is a very similar problem to Attitude Adjustment; we still need to solve an orthogonal Procrustes problem to align a set of stars to a catalog. However, we don't know which stars in the unknown set match to which stars in the catalog, unlike in Attitude Adjustment. diff --git a/payload/leakycrypto/README.md b/payload/leakycrypto/README.md index 1a0c243..fea99bf 100644 --- a/payload/leakycrypto/README.md +++ b/payload/leakycrypto/README.md @@ -10,7 +10,7 @@ **Given files**: `leaky-romeo86051romeo.tar.bz2` -## Writeup +## Write-up by Cameron and [5225225](https://www.5snb.club) Many optimized implementations of AES utilize lookup tables to combine all steps of each round of the algorithm (SubBytes, ShiftRows, MixColumns, AddKey) into a single operation. For some X (the plaintext or the result from the previous round) and some K (the round key), they are split bytewise and the XOR product of each respective byte pair is used as the index into a lookup table. During the first round of AES, X is the plaintext of the message, and K is the original message key. Accordingly, given some known plaintext, leaking the index into the lookup table for a particular character leaks the corresponding key byte. There are four lookup tables which are used in each iteration of AES (besides the last round) and which is used is determined by the index of the byte MOD 4. We utilized [this paper](http://www.jbonneau.com/doc/BM06-CHES-aes_cache_timing.pdf) as a reference for both our understanding of AES and the attack we will detail below.