diff --git a/content/about/setup.md b/content/about/setup.md index ef1f57a..ad9bdc4 100644 --- a/content/about/setup.md +++ b/content/about/setup.md @@ -1,42 +1,48 @@ +++ -title = "setup" +title = "Setup" +++ -# setup +# Setup List of software and services I use and endorse, mostly FOSS. -## desktop +## Desktop - [**Arch Linux**](https://archlinux.org/) OS with rolling releases. -- [**Home manager**](https://github.com/nix-community/home-manager) Dotfile manager. -- [**Firefox**](https://www.mozilla.org/firefox) Browser. -- [**Evolution**](https://wiki.gnome.org/Apps/Evolution) Email + calendar client. +- [**Home manager** (MIT)](https://github.com/nix-community/home-manager) Dotfile manager. +- [**Firefox** (MPL-2.0)](https://www.mozilla.org/firefox) Browser. +- [**Thunderbird** (MPL-2.0)](https://www.thunderbird.net) Email + calendar client. -## development +## Development -- [**Neovim**](https://neovim.io/) Text editor. +- [**Neovim** (Apache-2.0/Vim)](https://neovim.io/) Text editor. -## server +## Server -- [**NixOS**](https://nixos.org/) Declarative and reproducible operating system. -- [**Hugo**](https://gohugo.io/) Static site generator that powers this site. -- [**Gitea**](https://gitea.io) Self-hosted git. +- [**NixOS** (MIT)](https://nixos.org/) Declarative and reproducible operating system. +- [**Hugo** (Apache-2.0)](https://gohugo.io/) Static site generator that powers this site. +- [**Gitea** (MIT)](https://gitea.io/) Self-hosted git. -## mobile +## Mobile -- [**DAVx5**](https://www.davx5.com/) CalDAV and CardDAV sync for Android. -- [**Shuttle**](https://www.shuttlemusicplayer.com/) Music player. -- [**Gadgetbridge**](https://gadgetbridge.org/) Smartwatch client. -- [**K-9 Mail**](https://k9mail.app/) Mail client. -- [**Feeder**](https://f-droid.org/packages/com.nononsenseapps.feeder/) RSS aggregator. +- [**DAVx5** (GPL-3.0)](https://www.davx5.com/) CalDAV and CardDAV sync for Android. +- [**Gadgetbridge** (AGPL-3.0)](https://gadgetbridge.org/) Smartwatch client. +- [**K-9 Mail** (Apache-2.0)](https://k9mail.app/) Mail client. +- [**Feeder** (GPL-3.0)](https://f-droid.org/packages/com.nononsenseapps.feeder/) RSS aggregator. -## services +## Music -- [**ProtonMail**](https://protonmail.com/) Encrypted email. -- [**Signal**](https://signal.org/) Encrypted chat. +- [**Navidrome** (GPL-3.0)](https://navidrome.com) Self-hosted Subsonic-compatible streaming server. +- [**Sublime Music** (GPL-3.0)](https://sublimemusic.app) GTK Subsonic-compatible music client. +- [**Subtracks** (GPL-3.0)](https://github.com/austinried/subtracks) Android Subsonic-compatible music client. + +## Services + +- [**SourceHut** (AGPL-3.0)](https://sourcehut.org) Git, mailing list, IRC bouncer, etc. hosting. - [**Element**](https://element.io/) Federated chat provider. +- [**ProtonMail** (Proprietary)](https://protonmail.com/) Encrypted email. +- [**Signal** (GPL-3.0/AGPL-3.0)](https://signal.org/) Encrypted chat. -## games +## Games Mostly from Steam. diff --git a/content/posts/2022-02-07-cybergrabs-ctf-unbreakable/index.md b/content/posts/2022-02-07-cybergrabs-ctf-unbreakable/index.md index 6017cb7..f370882 100644 --- a/content/posts/2022-02-07-cybergrabs-ctf-unbreakable/index.md +++ b/content/posts/2022-02-07-cybergrabs-ctf-unbreakable/index.md @@ -32,22 +32,30 @@ first, but there are some important differences to note: - We're not given the public keys $e_1$ and $e_2$, but they are related through $x$. -[Rabin]: https://en.wikipedia.org/wiki/Rabin_cryptosystem - ## Finding $e_1$ and $e_2$ We know that $e_1$ and $e_2$ are related through $x$, which is some even number greater than 2, but we're not given any of their real values. We're also given through an oddly-named `functor` function that: -$$ -\begin{aligned} - 1 + e_1 + e_1^2 + \cdots + e_1^x &= 1 + e_2 + e_2^2 \\\ - \frac{1 - e_1^x}{1 - e_1} &= 1 + e_2 + e_2^2 -\end{aligned} -$$ +$$ 1 + e_1 + e_1^2 + \cdots + e_1^x = 1 + e_2 + e_2^2 $$ -Interestingly enough, since $e_1$ and $e_2$ are primes, that means +Taking the entire equation $\mod e_1$ gives us: + +$$\begin{aligned} +1 &\equiv 1 + e_2 + e_2^2 \mod e_1 \\\ +0 &\equiv e_2 + e_2^2 \\\ +0 &\equiv e_2(1 + e_2) +\end{aligned}$$ + +This means there are two possibilities: either $e_1 = e_2$ or $e_1$ is even +(since we know $e_2$ is a prime). The first case isn't possible, because with $x +\> 2$, the geometric series equation would not be satisfied. So it must be true +that $\boxed{e_1 = 2}$, the only even prime. + +Applying geometric series expansion, $1 + e_2 + e_2^2 = 2^x - 1$. I'd like to thank @10, @sahuang, and @thebishop in the Project Sekai discord for -their help throughout this challenge. +doing a lot of the heavy-lifting to solve this challenge. + +[Rabin]: https://en.wikipedia.org/wiki/Rabin_cryptosystem