99fc86 No.1713 [View All]
Our task is simple. We are going to completely break the entire RSA cryptosystem! We're bigshots now.
But wait, how are we going to just crack RSA? With the Virtual Quantum Computer! Quick rundown to follow.
The main mathematical task that must be achieved to break RSA is to be able to factorize any integer instantly. The VQC is a promising way to do that.
What is the VQC?
The virtual quantum computer (VQC) is a grid made of infinite yet constructable sets that follow a known pattern. Like a quantum spreadsheet.
The grid is the superposition. The collapse of that superposition will be two input parameters, d and e which can be calculated easily for all integers, c, where c is the difference of two squares.
So, when the integers that are the difference of two squares are arranged into the grid and their corresponding properties are shown, a pattern emerges that shows calculation instead of searching is possible.
Legend
The map's legend is {e:n:d:x:a:b}, where d is the result of removing the largest square from c AKA the square root,
e is the remainder,
n is what you add to d to be exactly halfway between a and b,
and x is what you add to a to make d.
c is any number that is the difference of two squares, so odd numbers are included.
n*a and n*b for any c can be found n places apart in the cell at (e,1).
Rules of the grid: global rules
Each cell of the grid (e,n) has infinite elements or ZERO elements.
Each cell with one value has infinite elements, since every element can make a new one.
By induction, a cell only needs one value to make infinite values, that's part of the power of this and is why it is a virtual quantum computer as a whole.
The t variable is what will allow you to walk across these infinite elements.
If a grid cell has elements, all elements are constructable from a finite set of root elements.
The grid is indexed using e, n, and t, where e is the rows, n is the columns, and t is the specific element in the cell-group.
Thus, only three variables are required to identify an element: e, n and t.
All products of odd numbers and all products of pairs of even numbers are the difference of two squares.
The x-intercept of the line that goes through the point containing the factors of c is (a + 1).
(1, 1) - the key
The values of a and b at 1,1 are related to the length of the longest side in right angled triangles.
The values here can be used to create the entire grid.
The values here determine the values of the rows to the left and right, which determine the values of the whole column.
(f, 1) is an interesting cell.
Columns
Each cell at n=1 contains the roots of products in the column.
If c is a prime number, it will appear in one column exactly once.
If c is the product of two prime numbers that do not equal eachother, c will appear in two cells of one column.
All products (integers) c that are the sum of two squares appear (only) in columns where e=0,1,4,9,16,25…
All factors in a column are factors of the elements of the first cell in their column.
All Fermat primes (except) 3 appear in column one.
(e, 1)
If a number at position t has a factor s, then s is a factor at (t+s), (t+2s) and so on for a at (e,1).
Also, if a number at position t has a factor s at (e+1), then s is a factor at (s+1-t), (2s+1-t), etc for a at (e,1).
Rows
(1, n)
The cells in row one where n=1 have a relationship with the cells 2n to the right and 2n to the left.
Each "a" from the first row equals na because xx+e = 2na and na is half of that. That's BIG part of the KEY
Each element in a cell can be generated by moving up (t-1 = x-2) or down (t+1 = x+2). Other variables can be generated from x.
Every single factor of any value of a in the first row will be referred to as s.
Useful Equations and Notation
ab = c
dd + e = c
(d + n)(d + n)-(x + n)(x + n) = c
a + 2x + 2n = b
a = d - x
d = a + x
d = floor_sqrt(c)
e = c - (dd)
b = c / a
n = the difference between the square root d and the larger of the two squares
n = ((a + b) / 2) - d
d + n = number that is exactly halfway between a and b
d + n = i
x = d - a
x = (floor_sqrt(( (d+n)*(d+n) - c))) - n
x + n = j
f = e - 2d + 1
t = the variable that lets you traverse the infinite elements in for a given (e, n) that has values.
if (e is even) t = (x + 2) / 2
if (e is odd) t = (x + 1) / 2
701 posts and 100 image replies omitted. Click [Open thread] to view. ____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
Post last edited at
109284 No.2504
>>2500
Thanks, but I noticed a pattern in x in the n records leaving x to not follow the same pattern for the rowNegX. For the rowNegX jumping down the x decreases by 2, but that isn't the case for all (e, n). Example (13, 29) x is 25, while for the rowNegX jumps it has decreased down to 8 by (13, 31). So something else is up.
It could still mean something though.
Why doesn't (13, 29) start with a = 1?
(Or any other n below 31 for that matter)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
63afe8 No.2505
>>2504
I've been searching for formulas that describe changes between various records. Movements up and down by manipulating e, d, x, a, t, with and without factors.
The -x use in the a+2*x + 2*n is a very good approach.
Example of trying to understand an e = f jump.
>>2235
If you look at that formula for a, you'll notice that it incorporates n, a, and e.
Perhaps there is another variable that needs to be toggled to get better results.
I'm going to get my code up to speed and see if I can play with it a bit.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2506
>>2504
If you can come up with a formula to make it so my code can instantly calculate the result of all the jumps then it will be able to instantly factor the numbers.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2507
>>2506
That sounds demanding but basically just a formula that would make it so it doesn't have to loop.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2508
>>2507
The problem is we don't know where it needs to jump to.
So this rowNegX is still a brute force method. It just iterates down the "tree"
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2509
I'm still confused on the purpose behind generating the f. c + f = c + (d + 1)^2.
This leaves us with two squares, d^2 and (d + 1)^2 where c is somewhere in between these two.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2510
>>2508
Maybe you can draw a conclusion from the amount of iterations it takes, then.
9 = 3 * 3
iterations: 3
14 = 2 * 7
iterations: 3
95 = 5 * 19
iterations: 32
145 = 5 * 29
iterations: 5
7463 = 17 * 439
iterations: 3074
93801 = 3 * 31267
iterations: 23451
2611447 = 1613 * 1619
iterations: 1282742
>>2509
Yes, and c is not a square, it's just the difference of two squares.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2511
>>2510
Unfortunately that's way too many iterations. I wish it was faster, but I think we're missing something.
The speed of the algorithm VQC is talking about should solve all of those in waaaay less steps.
He said it was O(log n) where n is the number of bits in c.
For all those it should be done in only a few steps. If I understand it correctly, 2611447 should only take 3 operations.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2512
>>2511
For example, gcd (Greatest Common Divider) has a complexity of O(log a + log b) = O(log n). So we should have something equally fast, but for factorization.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2513
>>2504
> Why doesn't (13, 29) start with a = 1?
Ughhh, it's obvious now. We have two types of n-records for any given (e, n). Ones that are "prime" n's, that is they are n's which also exists as an 'a' in (e, 1) and we have "secondary" n's which are n's that exists as 'a' in (e, n) (n > 1).
So the n's that don't exists as an a in (e, 1) will always be a multiple of an a in (e ,1).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2514
>>2513
So for any a, b that exists in an n which also occurs in (e, 1) as an a (or b) then the iterating down using rowNegX should find it.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2515
As for finding these new records, they exists as a = 1, b = secondaryN which we can iterate over using rowNegX.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2516
>>2515
>>2514
>>2513
Yes, it should be way faster, but if you can calculate the amount of iterations required the equations can be rewritten and the looping removed entirely.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2517
>>2516
Ah I follow you.
Unfortunately I haven't found a way. I did look for it when I was looking at the rowNegX for the zero column, but based on what I found the (0, n) for a^2, b^2 is equal to (x + n)^2, same for a=1,b=c^2.
So to know the difference between them you need to know a, b's (x + n) which we don't know from c (as far as I am aware).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2518
>>2517
What about k?
That number is always close to the amount of iterations.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2519
>>2515
I think I figured how to iterate over other records using rowNegX after "jumping".
We can find (e, n, 1) where a = 1 using rowNegX. So based on that:
>>> rowForAB(1, 145)
(1, 61, 12, 11, 1, 145)
>>> rowNegX(61, 11, 1)
(1, 41, 10, 9, 1, 101)
>>> rowNegX(41, 9, 1)
(1, 25, 8, 7, 1, 65)
>>> rowNegX(25, 7, 1)
(1, 13, 6, 5, 1, 37)
>>> rowNegX(13, 5, 1)
(1, 5, 4, 3, 1, 17)
>>> rowNegX(5, -(2*5 + 3), 17)
(1, 5, 30, 13, 17, 53)
>>> rowNegX(5, -(4*5 + 3), 53)
(1, 5, 76, 23, 53, 109)
>>> rowNegX(5, -(6*5 + 3), 109)
(1, 5, 142, 33, 109, 185)
>>> rowNegX(5, -(8*5 + 3), 185)
(1, 5, 228, 43, 185, 281)
It's a bit silly now, I'm negating the x-parameter on purpose now because it get's negated inside rowNegX. But the idea is as follows
Given the n = 5 we have (1, 5, 1) which we know is {1:5:4:3:1:17} we then compute a new b:
b = 17 + 2 * (2 *5 + 3) + 2 * 5
The original equation for is:
b = a + 2 * x + 2 * n
So in our new case, x = (2 * 5 + 3).
The 5 is because our n = 5 and 3 is because the first x is 3.
This will give us b = 53 and the next record is as follows:
{1:5:30:13:17:53}
We repeat it:
b = 53 + 2 * (4 * 5 + 3) + 2 * 5
Which gives us a b = 109. The next record is:
{1:5:76:23:53:109}
Now I know that there is another record between here which is:
{1:5:12:7:5:29}
But that exists because we have an interleaved n. The record above exists from the a = 25 from (5, 1) and is not a part of the a=1, b=17 pattern. It's a separate pattern existing in the same n-record.
If I'm rediscovering things and we already have names for these thing then apologies for my lack of terminology.
This rowNegX was supposed to only be used to move about with a negative x, but I'm over using it for other things. I'll try to think of a better name for it. We should also have two functions maybe. One for moving with positive x values and one for negative.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2520
>>2518
Well k = (x + n). It's the same as j, but I didn't know that at the time.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2521
>>2520
>>2519
So the formulae are wrong? Because you gave formulae that could be calculated from c.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2522
>>2521
Maybe I explained it wrong. It was a formula that calculates the steps needed to go down to the very first record (0, 0, 1).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2523
>>2522
But that would give you the factorization if you could calculate the distance from (0,0,1)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2524
>>2522
As you continue to jump using rowNegX you'll eventually wind up at (0, 0, 1) which loops over itself.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2525
>>2523
Uh.. I didn't know that. How?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2526
>>2523
Oh but again, this jump I looked at is only from the row of a = 1, b = c. I don't know how you could use that information to find the factors.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2527
>>2526
>>2525
The way you would do that if you knew the distance is that that would just be a restatement of n and you could rewrite it into the proper (e,n)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2528
>>2527
Well I don't know if I follow you, but this is an example showing the "jumping down" from a=1, b=c for 5*29
>>> rowForAB(1, 145)
(1, 61, 12, 11, 1, 145)
>>> rowNegX(61, 11, 1)
(1, 41, 10, 9, 1, 101)
>>> rowNegX(41, 9, 1)
(1, 25, 8, 7, 1, 65)
>>> rowNegX(25, 7, 1)
(1, 13, 6, 5, 1, 37)
>>> rowNegX(13, 5, 1)
(1, 5, 4, 3, 1, 17)
>>> rowNegX(5, 1, 1)
(0, 2, 3, 2, 1, 9)
>>> rowNegX(2, 2, 1)
(0, 0, 1, 0, 1, 1)
>>> ((61 - (e / 2) - 1)/2 + 1)
-49.0
>>> abs((61 - (e / 2) - 1)/2 + 1)
49.0
>>> s(abs((61 - (e / 2) - 1)/2 + 1))
7.0
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2529
>>2528
But keep in mind, that equation was something I made when I thought jumping down would only go to (1, 1, 1) and not between e's.
So it could be wrong.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2530
>>2528
I think we're actually pretty close to a log(n) factorization.
for any number in row 1
k = sqrt(n - (e/2) - 1) / 2 + 1
is the exact same number as the amount of iterations of my program required to reach (e,n).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2531
>>2530
Actually it's only in (1,5) sorry.
That's when it's the exact same as the iterations.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2532
>>2528
UUUgh ignore this.
I refer to e here which in my repl was something else. The actual calculation ends up with is:
>>> s((61 - int(1 / 2) - 1)/2)
5.477225575051661
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2533
>>2532
I wouldn't trust this calculation anymore since I don't know if it's trustworthy. It was based on an assumption I now suspect is wrong.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2534
>>2531
And it's the only the same up to (not inclusive)
5*4033.
I'm not sure why it stops being the same. How did you calculate that formula?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2535
>>2534
I looked at the pattern of the changing n's from jump to jump.
I saw it was a change of sums of 4, and the "golden" pattern in all of this is the sum of (1…n) * 4…
To generate the d at t for any (e, 1) record you either do:
Even e:
(e / 2) + 4 * ( (t * (t + 1) ) / 2)
Odd e:
(2 + int(e/2)) + 6*t + 4*( ( t * (t - 1) ) /2 )
So I saw the change and made some quick calculations.
It's a very recurring pattern in generating of a's d's etc.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2536
>>2535
Any equations I should add to the OP?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2537
>>2536
Well to get D from T for (e, 1) I have this:
def getDFromT(e, t):
if e == 0 or e % 2 == 0:
return (e / 2) + 4 * ( (t * (t - 1) ) / 2)
else:
return int( (e + 1) / 2) + 2*t**2 - 1
And to get A from T I have this:
def getAFromT(e, t):
if e % 2 == 0:
return (e / 2) + 2*(t - 1)**2
else:
return int(e / 2) + 4 * ( (t * (t - 1) ) /2 ) + 1
The reverse way:
To get T from D in (e, 1):
def getTFromD(e, d):
if e % 2 == 0:
t = d - (e / 2)
t = t / 2
t = t * 4 + 1
t = t / 4
t = math.sqrt(t) + 1
return -1/2 + t
else:
t = d - (2 + int(e / 2))
t = t / 2
t = t + 1
t = math.sqrt(t)
t = t
return t
To get T from A in (e, 1):
def getTFromA(e, a):
if e % 2 == 0:
return math.sqrt((a - (e / 2))/2)
else:
return math.sqrt((a - (e / 2))/2) + 0.5
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2538
>>2537
I knew my original equations were a bit off, when I started. My original getDFromT would be off-by-one t. So I took some time now to refurbish them.
They should work correctly, assuming the first cell in (e, 1) is considered t=1.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2539
>>2538
Also do you have any rules of the VQC to add? I haven't added much there, but I am working on the new VQC map. Here's the old one.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2540
{1:61:12:11:1:145}
{1:61:212:111:101:445}
{1:61:278:133:145:533}
(1, 61, 678, 233, 445, 1033)
(1, 61, 788, 255, 533, 1165)
I don't know how to predict / calculate these d's. Though. However, they do have an interesting pattern.
212 % 61 = 29
278 % 61 = 34
(212 - 29)/61 = 3
(278 - 34)/61 = 4
678 % 61 = 7
788 % 61 = 56
(678 - 7) / 61 = 11
(788 - 56) / 61 = 12
Again notice the interleaving patterns. This is because 61 appears as an a in (1, 1), but also as a 61 * 101 in (e, 1) (which is at t = 56)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2541
>>2539
I honestly don't know right now. We do know that negative x is now more interesting.
It allows us to move between these n-records and generate their "initial" cell (where a = 1)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2542
Right now I feel like I am a bit all over the map. We have a lot of neat patterns, but I don't see a "deeper" connection between them.
What use is f?
Why did VQC's original C# code refer to x + n?
Why is negative x important?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
109284 No.2543
>>2542
VQC also talked about moving from the first (or second cell) to any value c. Then about controlling c by multiplying it with primes in order to coerce the factors.
I'm still not sure if this is all a LARP, or if we are close or if we are still far away.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
7ed024 No.2546
I went Super Trip just to fag harder. lol
>>2543
This isn't a LARP, it's an RLAARP
Real Life Action And Role Play
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
7ed024 No.2547
>>2546
I guess it would help if I actually had the superfag enabled, huh?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
dbd176 No.2548
>>>/cbts/13923
>Your prize will be the ability to spend the BitCoin by the inventors that are unspent in the BlockChain.
Not to ruin our fun here but I'm gonna have to call bullshit on this statement, unless our VQC can also reverse RIPEMD160 and SHA256 in addition to ellipitc curves. The reason being mined blocks contain only hashes of the public EC key, not actual keys.
We'll still break bitcoin though, as any address that has had a single outgoing transaction can be calculated since the public key can be extracted from a signature. Even if every address is only used once, there is still a race condition as we can just crack any new transactions before they are mined and make our own transaction with higher fees. Currencies are not very useful if you can't move the coins without them being stolen
We just can't touch any unspent coins or newly mined blocks…
Keep going!
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
dbd176 No.2549
>>2542
x_plus_n has been bugging me forever, there has got to be a way to get to the value without calculating n first, otherwise whats the point of including it?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
63afe8 No.2550
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
99fc86 No.2551
>>2548
You can make it say someone spent their Bitcoin anywhere you want.
That counts as spending it, no?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
dbd176 No.2552
>>2551
Only when someone already spent some and you have their public key, so yes! Or if they try to spend it. No spending mined coins without a transaction first as far as I can tell
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
96255b No.2553
>>2476
It wasn't me. This is the only active ban (that person who was spamming "VQC's a shill, give up" sorts of posts). Maybe he was banned by a global mod (although they're only meant to do that if you post CP).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
b2f909 No.2558
>>2553
You're a good board owner.
Here's the new thread.
>>2555
>>2555
>>2555
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
eb59f9 No.2559
>>2553
Disinfo is necessary
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.