[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]

/vqc/ - Virtual Quantum Computer

Name
Email
Subject
REC
STOP
Comment *
File
Password (Randomized for file and post deletion; you may also set your own.)
Archive
* = required field[▶Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Oekaki
Show oekaki applet
(replaces files and can be used instead)
Options

Allowed file types:jpg, jpeg, gif, png, webp,webm, mp4, mov, swf, pdf
Max filesize is16 MB.
Max image dimensions are15000 x15000.
You may upload5 per post.


File: 0de58d13ef0a0be⋯.png (72 KB,1258x873,1258:873,Intro-to-ECC-1.png)

File: fa98864e8764849⋯.png (50.79 KB,1200x710,120:71,Discrete-Logarithm-Problem.png)

File: eedf4a87f63e3c6⋯.png (261.9 KB,2573x2086,2573:2086,Diffie-Helmann-Key-Exchang….png)

File: 61526f074a1c9cb⋯.png (768.98 KB,755x1021,755:1021,Baker's-Perfect-Math-Class.png)

c0824e No.7187

ECC starting from the basics.

If you can understand what mod means,

if you can understand graphing points,

if you can understand arithmetic,

if you can understand logarithms,

You can understand ECC. Maybe you'll even get to see how they're modular forms..

and what a modular form is.

I will walk through it from start to finish. I'll start by listing the prerequisites to ECC. There aren't many. A novice can understand.

Logarithms

All a logarithm is, is calculating n in picture 2, where b and x are given. The following articles and the 2nd picture should clarify.

https://www.mathsisfun.com/algebra/logarithms.html

https://simple.wikipedia.org/wiki/Logarithm

The Discrete Logarithm Problem

So now that we have established what a logarithm is, then we can understand this easily. The Discrete Logarithm Problem (DLP) is the problem of calculating n in bⁿ = x, where we know b and x. Aside from certain cases (which do not apply to where you encounter them in cryptography), there is no known efficient method for computing this.

Diffie-Helmann

https://youtube.com/watch?v=YEBfamv-_do

https://youtube.com/watch?v=ESPT_36pUFc

https://youtube.com/watch?v=Yjrfm_oRO0w

These videos and picture 3 should clarify how the Diffie-Helmann cryptosystem uses the DLP to encrypt, decrypt and sign messages.

Galois Fields

Will be explained in the next posts.

EC Arithmetic

Will be explained in the next posts.

____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

c0824e No.7188

File: 9d5214ae19572a8⋯.png (93.96 KB,1210x333,1210:333,Screenshot from 2018-08-10….png)

Extra: an interesting thought.

>both are cases of a hidden subgroup problem in Abelian groups.

Why was it trivial for mathematicians to extend Shor's algorithm and sieving algorithms (factorization) to solve the DLP?

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

c0824e No.7189

Java code that will be useful later:


public static int legendreSymbol(BigInteger a, BigInteger p) {
BigInteger pm1 = p.subtract(BigInteger.ONE);
BigInteger ls;

ls = a.modPow(pm1.divide(BigInteger.valueOf(2)), p);

if (ls.equals(pm1)) {
return -1;
} else {
return ls.intValueExact();
}
}


public static BigInteger modSqrt(BigInteger a, BigInteger p) {
a = a.mod(p);

if (legendreSymbol(a, p) != 1) {
return zero;
} else if (a.equals(zero)) {
return zero;
} else if (p.equals(two)) {
return p;
} else if (p.mod(four).equals(three)) {
return a.modPow(p.add(one).divide(four), p);
}

BigInteger s = p.subtract(one);
int e = 0;

while (s.mod(two).equals(zero)) {
s = s.divide(two);
e += 1;
}

BigInteger n = two;
while (legendreSymbol(n, p) != -1) {
n = n.add(one);
}

BigInteger x = a.modPow(s.add(one).divide(two), p);
BigInteger b = a.modPow(s, p);
BigInteger g = n.modPow(s, p);
int r = e;

BigInteger gs, t;
int m;
while (true) {
t = b;
m = 0;

for (; m < r; m++) {
if (t.equals(one)) {
break;
}

t = t.modPow(two, p);
}

if (m == 0) {
return x;
}

gs = g.modPow(two.pow(r - m - 1), p);
g = gs.pow(2).mod(p);
x = x.multiply(gs).mod(p);
b = b.multiply(g).mod(p);
r = m;
}
}

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

c0824e No.7190

nistp256 {

p = 115792089210356248762697446949407573530086143415290314195533631308867097853951

#G = 115792089210356248762697446949407573529996955224135760342422259061068512044369

a = -3

b = 41058363725152142129326129780047268409114441015993725554835256314039467401291

Gx = 48439561293906451759052585252797914202762949526041747995844080717082404635286

Gy = 36134250956749795798585127919587881956611106672985015071877198253568414405109

}

secp256k1 (Bitcoin Curve) {

p = 115792089237316195423570985008687907853269984665640564039457584007908834671663

#G = 115792089237316195423570985008687907852837564279074904382605163141518161494337

a = 0

b = 7

Gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240

Gy = 32670510020758816978083085130507043184471273380659243275938904335757337482424

}

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

c0824e No.7206

File: 276e3e7a43442e3⋯.png (100.63 KB,1359x454,1359:454,Screenshot from 2018-08-10….png)

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.



[Return][Go to top][Catalog][Nerve Center][Random][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]