{{ message }}

Instantly share code, notes, and snippets.

# Niklas Baumstark niklasb

Last active Nov 18, 2017
View ohfortuna.py
 from subprocess import Popen, PIPE import base64 import random import re import requests import select import socket import string import struct import sys
Created Nov 29, 2016
View cantor.py
 tenpows = [10**i for i in range(1000)] def cantor(hi): res = 0 iters = 0 while hi > 0: if iters % 100 == 0: print 'Progress: %d' % hi iters += 1 hi_s = str(hi) memo = {}
Last active Sep 5, 2016
Computational "proof" for solution of "whiteout" from Tokyo Westerns/MMA CTF 2016
View whiteout.cpp
 // We want to prove that 5618427494400 is the maximum sigma in range 1..10^12 // // The following algorithm will explore the entire search space and prune it // using an upper bound for sigma, while considering the lower bound given by // our example of sigma(995886571680) = 5618427494400 // // We consider only primes up to sqrt(10^12). A single prime p is obviously // not the solution because the sum of its divisors is // p + 1 < 10^12 < 5618427494400
Last active Oct 18, 2015
pow pow
View pow.sage
 import random import socket import subprocess import hashlib p = 195589859419604305972182309315916027436941011486827038011731627454673222943892428912238183097741291556130905026403820602489277325267966860236965344971798765628107804393049178848883490619438682809554522593445569865108465536075671326806730534242861732627383004696136244305728794347161769919436748766859796527723 g = pow(2, 2*4759647095086827597559114855685975263112106458932414012998147177848303887783492510354911068366203455488902018600593880874117783509946030773587965941, p) gens = [pow(g,3**(336-i),p) for i in range(336)]
Created Sep 29, 2015
View 4parts.py
 memo = {} def p(n,k): if (n,k) in memo: return memo[n,k] if (n,k) == (0,0): return 1 if n < k or (n > 0 and k == 0): return 0 memo[n,k] = p(n-k,k) + p(n-1,k-1) return memo[n,k]
Created Sep 28, 2015
View rsolve.sage
 def rsolve(coeff, values, rhs=0, nonhom_sol=0): R. = CC[] f = 0 for i, c in enumerate(coeff): f += c * x**i h = 0 n = var('n') cs = [] cnt = 0
Created Sep 13, 2015
LCGsign
View signer2.py
 # from https://github.com/ctfs/write-ups-2015/tree/master/mma-ctf-2015/crypto/LCG-sign-400 from Crypto.Util.number import * from hashlib import sha256 import random import sys import key p = 267336782497463360204553349940982883027638137556242083062698936408269688347005688891456763746542347101087588816598516438470521580823690287174602955234443428763823316700034360179480125173290116352018408224011457777828019316565914911469044306734393178495267664516045383245055214352730843748251826260401437050527 q = 133668391248731680102276674970491441513819068778121041531349468204134844173502844445728381873271173550543794408299258219235260790411845143587301477617221714381911658350017180089740062586645058176009204112005728888914009658282957455734522153367196589247633832258022691622527607176365421874125913130200718525263 g = 2
Last active Sep 1, 2015
Monolog handler for Slack's (new?) incoming webooks
View MonologSlackHandler.php
 class MonologSlackHandler extends \Monolog\Handler\MailHandler { protected \$hook_url; protected \$channel; protected \$username; protected \$icon; /** * @param string \$hook_url The URL of your incoming web hook (e.g. * https://hooks.slack.com/services/\$token) * @param string \$channel Slack channel to post in (with leading # sign)
Created Jul 6, 2015
bitonic sort
View bitonic.cpp
 #include #include using namespace std; void make_leq(int& a, int& b) { if (a > b) swap(a,b); } void bitonic(vector& xs) { int n = xs.size();
Created Apr 20, 2015
Solution for 'lazy' in PlaidCTF 2015
View lazy.sage
 from ast import literal_eval ciphertext = int(open("ciphertext.txt", 'rb').read()) pubkey = literal_eval(open("pubkey.txt", 'rb').read()) def mat(pubkey, ciphertext, B): n = len(pubkey) A = Matrix(ZZ,n+1,n+1) for i in range(n): A[i,i] = 1