Alright! , so we’ve talked about and , and those we’re sort of easy to follow , you didn’t need to know a lot of math to sort of grasp the the idea , I think that would be a fair statement. D-H RSA Well things are a little bit steeper when facing , to say the least , it’s got multiple properties and there’s a lot more math in it . I want to divide these series into 3 parts because I am discovering it myself as I go. ECC Why Elliptic Curve? is a based , such as , but it is sort of represented in an algebraic structure , offers the same security than but at a , also it’s less cpu intensive so it’s ideal for mobile devices and faster acting networks. ECC public key RSA ECC RSA smaller footprint RSA vs ECC What’s an Eliptic Curve? By definition : In mathematics, an is a plane algebraic defined by an equation of the form. that is non-singular; that is, it has no cusps or self-intersections. elliptic curve curve So it really a curve where all the (x,y coordinates) satisfy an it is really that simple , well not that simple. points equation , How does it look and what’s the equation? Well the nice way to represent it is something like: The equation that all points in this Curve should satisfy would be something like y ** 2 = x ** 3 + ax +b So in theory , if you make a list of a lot of “y” coordinates (real numbers) and apply that equation to all of them , you should obtain a curve looking sort of like that. Now for most of this work I’ve been using : https://matplotlib.org/ http://jupyter.org/ I highly recommend these . Let’s make a Curve! Before we plot a list of points of that honour the equation let’s clarify that when the fact that the equation suggest , means that the , that is that if a point exists in it will also exit in you can see it in the curve above: real numbers y square negative and positive Y axis of the curve will be the same y:4 y:-4 , Cool , so now let’s see if this thing is true , the following code is what I’ve used in jupyter to get thee graphs I’m showing here I’ll go step by step: f(x) = x ** 3 + 3x + 4 This is the most important part really , remember the equation that defined the curve? So this is one side of it , as you can see and , these parameters are called , and they decide a various attributes of the curve. “a = 3” “b = 4” domain parameters Also , the equation has to return something else than 0 , so we can sort of graph it out hence: if res > 0 : One more thing , notice that the result of the equation has to be square rooted becase y was square , so we do the following ys.append(np.sqrt(res)) So what does this look like? Yea ok , it isn’t great but it sort of resemble the curve we were looking at before. Matplotlib comes with a really fancy function called contour , which accepts an equation , so we can do the following: And this turns into this: One final property of this curve: This is probably the most important property of this curve , and it is that if a line intersects two points in the curve it will always intersect a third. This is very important , since that third point will be the representation of the public key , remember that all this hassle is to create public keys from a private key , that at this point are massive prime numbers. So you see how one line crossing two points in the curve always intersects another (P,Q) (R). To sum up today’s article Points in a curve satisfy an equation Based on the equation knowing you will ultimately know “X” “Y” The curve is identical on the Y axis If a line can intersect two points in the curve will also intersect a third one Domain parameters affect various attributes of a given curve Use Jupyter! DH: _D-H is a key exchange mechanism , a way to exchange cryptographic keys over public channels, that is , I want to agree…_hackernoon.com Diffie-Hellman explained sort of. _Hi All , so in a previous article i tried to explain how D-H works , and i hope I did a good job of it and hopefully…_hackernoon.com Can you reverse Diffie-Hellman? RSA: _Hey guys , I wanted to write a little bit about RSA cryptosystem ._hackernoon.com How does RSA work?