## Nahamcon 2020 Crypto - Twinning

Twinning The name of the challenge is a subtle hint towards Twin primes, i.e. the RSA primes p and q being twin primes, at a difference of two. How does that help? We can now easily factor n since we have another relation, namely q = p + 2 and p*q = N q^2 - q*p = N ( q - 1 )^2 = N + 1 q = sqrt( N + 1 ) + 1 p = sqrt( N + 1 ) - 1 One c...

## Nahamcon 2020 Crypto - Raspberry

Raspberry We are provided with prompt.txt, the contents of which read n = 773520893984898507968061463358178227437114815729335290490531331540941846732272670284818953272149012170851769784825594825465619279367942479695474364981087829268850738595292022948377638992265038873997507258766086698660308098698035921952511158965919117293704786900833198238...

## Nahamcon 2020 Crypto - Oo la la

Ooo-la-la We are provided prompt.txt, the contents of which read N = 3349683240683303752040100187123245076775802838668125325785318315004398778586538866210198083573169673444543518654385038484177110828274648967185831623610409867689938609495858551308025785883804091 e = 65537 c = 8776057555426699101543111092257626153215937671876570174951376666623...

## Nahamcon 2020 Crypto - Homecooked

Homecooked We are provided decrypt.py, the contents of which read import base64 num = 0 count = 0 cipher_b64 = b"MTAwLDExMSwxMDAsOTYsMTEyLDIxLDIwOSwxNjYsMjE2LDE0MCwzMzAsMzE4LDMyMSw3MDIyMSw3MDQxNCw3MDU0NCw3MTQxNCw3MTgxMCw3MjIxMSw3MjgyNyw3MzAwMCw3MzMxOSw3MzcyMiw3NDA4OCw3NDY0Myw3NTU0MiwxMDAyOTAzLDEwMDgwOTQsMTAyMjA4OSwxMDI4MTA0LDEwMzUzMzcsMTA0Mz...

## Nahamcon 2020 Crypto - Docxor

Docxor Getting hints from the name, one could tell, it is XOR and its about a doc. Still, first thing to consider is running the file command to see whats the homework file is about file homework homework: data Cool! this means, the homework file is simply XOR encryption of a .doc file with 4 byte key. But hey that should ring bells since th...

## Nahamcon 2020 Crypto - December

December We are provided with source.py, which reads #!/usr/bin/env python from Crypto.Cipher import DES with open('flag.txt', 'rb') as handle: flag = handle.read() padding_size = len(flag) + (8 - ( len(flag) % 8 )) flag = flag.ljust(padding_size, b'\x00') with open('key', 'rb') as handle: key = handle.read().strip() iv =...