Skip to content

Instantly share code, notes, and snippets.

@wafrelka
Created November 3, 2014 14:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wafrelka/6f8c0da2a32c3ca43551 to your computer and use it in GitHub Desktop.
Save wafrelka/6f8c0da2a32c3ca43551 to your computer and use it in GitHub Desktop.
tkbctf4 / rcrypto
$n = 0xcd892c64f1803742a89e68567aea60283066b368d2c2454ad55f740fb0ff8e98e03f70cd9a2c9168294eee89a9f995d2596f2c0be881bfbfa72cccbb18a77287134e2ffc89e7bce766cca9136074a19f6807c3ff51e5cf53ec79838067cbefac809fccbbe2c1c4d170f3be58b34b9c3dfaeb2914341697d6503a826716073f9808b91c747030e2cdeaf20620b269c701d5ce96623c95c983678fd1175243b9eda7f6a310b4ccfd6c69fa836adb82271c56aa7ca267c1d47e64e69a0c3541f63432b4d75b881c1694a07b546eaee036521213967201cd91ff6a4e1e7c89027eb57096f2e3e5cd274d5cd272be44435b21648538f31760b4f8b50cbcd42f0873d5
$tkb1, $tkb2 = 1667394420, 3434100
$ans1 = 2302864379938375384787522457289953058762346515694717964988017701221632252068998721016780659512789645178039929483162432085291148128875938650563974652974607897108753247761759018159346471819526717450317624121005691577913298753406802656066710989103644069541226797561238591832001786871030959032526532824897381416113004865029523158041337929652792421367459253385313006702525506606665513325657107841851439410104118856833250549528309345600994438901026890993789031255524302387252820866177521016309668779564405438776186649089481716393902512049059686799788362854701624870108840227739233423565617147635810535089953364777452765391
$ans2 = 869821841437664579273841208702057334636310328092375384661895122870843280009327763942775667106913326453781559554453279690395959752854296081023254897131426262762124201024166059200347755016000992120349762030587256929453375758557293418778029046615012379759165445526510048231152939113590563355048407714266168812177988203610092674509339069396233061882191910214456155546393848777696938097852335164090584476493820466258280954729469300306911409684786367255431603152145902151223834708442564731418184393252984714050882676106734102146980036229108895568198263271905480015122766218776429803994468521463000793677542363327966917714
# flag * flag + flag * tkb = ans + n * t
# flag * flag + flag * tkb1 = ans1 + n * t1
# flag * flag + flag * tkb2 = ans2 + n * t2
# flag * (tkb1 - tkb2) = (ans1 - ans2) + n * (t1 - t2)
$tkb = $tkb1 - $tkb2
$nnn = $n % $tkb
$ans = ($ans1 - $ans2) % $tkb
def ok(i)
($ans + $nnn * i) % $tkb == 0
end
$start = $nnn
$end = $tkb
$width = $end - $start
if __FILE__ == $0
($start...$end).each do |i|
if i % 1000000 == 0
puts "#{(100.0 * (i - $start) / $width).round(1)} -> #{i}"
end
if ok(i)
puts "\t#{i}"
File.open("key.txt", "a") {|f| f.write i.to_s + "\n"}
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment