# Insomnihack22: Reversing a flawed ECC rng-as-a-service Go Server

DevFeed: [Insomnihack22: Reversing a flawed ECC rng-as-a-service Go Server](<https://devfeed.tech/articles/insomnihack22-reversing-a-flawed-ecc-rng-as-a-service-go-server-39681.md>)

Original publisher: [Read original article](<https://mahaloz.re/2022/02/07/Insomnihack22-go-rev.html>)

Published: 2022-02-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [mahaloz.re](<https://devfeed.tech/sources/mahaloz-re.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [servers](<https://devfeed.tech/topics/servers.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [crypto](<https://devfeed.tech/tags/crypto.md>), [ctf](<https://devfeed.tech/tags/ctf.md>), [ecc](<https://devfeed.tech/tags/ecc.md>), [game-hacking](<https://devfeed.tech/tags/game-hacking.md>), [go](<https://devfeed.tech/tags/go.md>), [ida](<https://devfeed.tech/tags/ida.md>), [reversing](<https://devfeed.tech/tags/reversing.md>), [server](<https://devfeed.tech/tags/server.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>)

## AI overview

This write-up explains how to reverse a Go binary from the Insomnihack Teaser 2022 Nobus101 challenge. The binary provides an RNG service using a flawed P-256 elliptic-curve construction with reversible parameters, and the solution applies ideas from the Dual EC cryptography paper.

## Source excerpt

Reversing a Go binary to find it generates flawed RNG from a P256 Elliptic Curve chosen with a reversible P and Q for number generation. Solution based on the Dual EC crypto paper.