paint-brush
Elliptic Curve Crypto , Additionby@garciaj.uk
2,864 reads
2,864 reads

Elliptic Curve Crypto , Addition

by Short Tech StoriesJune 29th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Hello! , this will be the sequel of:

Coin Mentioned

Mention Thumbnail
featured image - Elliptic Curve Crypto , Addition
Short Tech Stories HackerNoon profile picture

Hello! , this will be the sequel of:


Elliptic Curve Crypto , The Basics_Alright! , so we’ve talked about D-H and RSA , and those we’re sort of easy to follow , you didn’t need to know a lot…_hackernoon.com

Today let’s try to tackle operations as in addition and multiplication , keep in mind that these are “invented” operations , the fact that it is called addition it’s a mere coincidence , They should’ve been called something different but such is life.

I will split this into a few concepts and then lately write about some of the exceptions.

The Slope

The Slope is calculated between two points , and it’s got it’s own formulas for it , depending on the location of P and Q (two points on the curve).

So let’s see these formulas:

Slope is also called λ (lambda) , but i think slope makes more sense to me .

The Slope is calculated differently if P = Q , let’s look at that example:

Alright so that’s pretty simple , S or λ , are crucial to then do point doubling and point addition.

Point Addition:

So this is one of the most basic elliptic curve operations , and remember that when we say addition we’re not talking about addition as 1+1 , it’s a different kind of operation that follows and algorithm as well.

So let’s look at the formula or mathematical identity , it goes like:

R would be the third point in question , the result of “adding” P and Q:


RX = S ** 2 - QX - PXRY = -( QY + S * ( RX - QX))

If you’re paying attention , you noticed in the graph above that the resultant of the addition it’s called -R , and that is cause R , the result we want , is the reflection over the X axis of -R , in such way:

Below is a small code sample of how this should work :

That’s all for today , there’s still one very important operation called point doubling that we need to look at , probably in the next article.

There has been a few questions about exceptions , situations where a line would cross two points but not a third one , defeating the rule we spoke in the first article:

You can see that neither of these possibilities will cross a third point , we will cover all these in the next article , but if you can’t wait check “the group law” in wikipedia :)

Thanks a lot for the tons of reads this is getting and also the comments!