From da31d1ec7ac918d7f826ff32dc462daa853e7df4 Mon Sep 17 00:00:00 2001 From: Tyler Perkins Date: Mon, 31 Jan 2022 15:00:01 -0500 Subject: [PATCH] Update for 31-01-22 15:00 --- math/Eliptic_Curve.wiki | 9 +++++++++ math/primative_root.wiki | 5 +---- tech/Diffie_Hellman.wiki | 27 +++++++++++++++++++++++++-- tech/Eliptic_Curve.wiki | 10 ++++++++++ tech/RSA.wiki | 4 ++++ 5 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 math/Eliptic_Curve.wiki diff --git a/math/Eliptic_Curve.wiki b/math/Eliptic_Curve.wiki new file mode 100644 index 0000000..c51807a --- /dev/null +++ b/math/Eliptic_Curve.wiki @@ -0,0 +1,9 @@ += eliptic Curve = + +An eliptic curve is a curve of form: + +``` +y^2 = x^3 + ax + b +``` + +They often curve around the origin diff --git a/math/primative_root.wiki b/math/primative_root.wiki index 5a67dbb..e3edb3d 100644 --- a/math/primative_root.wiki +++ b/math/primative_root.wiki @@ -10,7 +10,4 @@ alpha^3 mod q = x,,3,, alpha^q-1 mod 1 = x,,(q-1),, ``` -Where x,,n,, is -``` -1, 2, 3, 4, etc -``` +Where x,,n,, is *the set of values from 1 through q-1* diff --git a/tech/Diffie_Hellman.wiki b/tech/Diffie_Hellman.wiki index 9092da1..394d3c7 100644 --- a/tech/Diffie_Hellman.wiki +++ b/tech/Diffie_Hellman.wiki @@ -9,5 +9,28 @@ created between two parties via an unsecure channel. == algorithm == 1) For some prime `q` -2) Select some `alpha` such that `alpha < q` and `alpha` is a [[../math/primative_root]] of - `q` +2) Select some `alpha` such that `alpha < q` and `alpha` is a + [[../math/primative_root|Primative root]] of `q` + * known as global elements +3) X,,a,, and X,,b,, are the private keys of alice and bob respectively + * known as private elements/keys +4) Y,,a,, is `alpha^x,,a,, mod q` + * Same for Y,,b,, + * Known as public elements/keys +5) Both parties then calculate the shared secret via + `K,,a,, = Y,,b,,^X,,a,, mod q` + * same for K,,b,, + * K,,a,, should be same as K,,b,, + +== example == + +``` +q = 7 +alpha = 5 + +X,,a,, = 3 +Y,,a,, = 5^3 mod 7 = 6 + +X,,b,, = 4 +Y,,b,, = 5^4 mod 7 = 2 +``` diff --git a/tech/Eliptic_Curve.wiki b/tech/Eliptic_Curve.wiki index b6f348b..ed4c82a 100644 --- a/tech/Eliptic_Curve.wiki +++ b/tech/Eliptic_Curve.wiki @@ -1 +1,11 @@ = Eliptic Curve Cryptography = + +ECC is an algorithm that solves the same problem as [[RSA]], but with smaller +key sizes. It is asymetric and based on [[../math/Eliptic_Curve]]s and based on +the difficulty of inding a curve given points on said curve. + +== algorithm == + + + + diff --git a/tech/RSA.wiki b/tech/RSA.wiki index fe178b7..3489c10 100644 --- a/tech/RSA.wiki +++ b/tech/RSA.wiki @@ -49,3 +49,7 @@ For example Encrypt B Decrypt value `4^11 mod 14 = 2` or our original `B` + +== Also see == + +* [[Eliptic_Curve]]