Constructing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dual EC backdoor

Unless you've been living under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rock for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past couple of weeks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you've probably heard of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dual EC backdoor in Juniper devices. Matcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365w Green wrote an awesome blog post, and Checkoway et al gave a nice update on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backdoor at Real World Crypto 2016. If you haven't read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se links please do now, I'll wait.

The backdoor is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 knowledge of $d$ such that $dQ$ = $P$, where $P$ and $Q$ are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two constants in Dual EC. Someone asked me how NSA can find such a $d$, and it took me a while to figure it out so I thought I'd share with you all.

Note that $P$ is not a random point, but it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 standard generator defined for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 P-256 curve. That means unless NSA had been planning for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dual EC backdoor since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 1990s when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 P-256 curve was defined, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y couldn't just take a random $Q$, and multiply it with a random $d$ to obtain $P$.

What NSA might have done was to generate a random $d$, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extended Euclidean algorithm to find $e$ such that $de \equiv 1 \pmod{n}$ where $n$ is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of points on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 P-256 curve (also known as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 curve). Such an $e$ always exists, because $n$ is a prime number. Then $Q = eP$ satisfying $dQ = deP = P$. Quan Nguyen showed me that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same trick can be used to figure out $P$, given $n$ and $nP$ (which I thought was a much difficult problem).

The extended Euclidean algorithm togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chinese Remainder Theorem are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two most powerful cryptanalysis tools ever. I've seen countless systems broken because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 designers weren't aware of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se algorithms. Whenever analyzing or designing a new system, ask yourself if you can break it using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se simple tricks, and you'll be surprised that most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 times cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 answer is yes.

By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way here's my (conspiracy) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory of what happened to Juniper. In 2008 for whatever reason Juniper decided to use Dual EC. Perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y wanted to get certified so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y could sell to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 US government. They did cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir homework, found cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alleged backdoor, which was discovered in 2007. They decided to replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 default $Q$ with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir home-brew value. I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PRNG and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 increasing of nonces to 32 bytes were honest mistakes. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se changes were unauthorized, Juniper would have counted cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r backdoor, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y didn't. Fast forward to 2012, NSA wanted to hack someone which uses some Juniper device. They were furious that Juniper wasn't using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir default $Q$, and decided to hack Juniper to change $Q$. They didn't want to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 default $Q$, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y knew cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backdoor would be discovered eventually, and using said value would be a smoking gun confirming that NSA was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 perpetrator and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alleged backdoor in Dual EC is real.

Comments