PrimeAnon !!pFXb3WErHk ID: a1d7a2 Old Bread Rehash May 28, 2018, 8:22 p.m. No.6210   ๐Ÿ—„๏ธ.is ๐Ÿ”—kun

This thread is for the purpose of examining old breads, for those of us starting late. This will allow us to work without detracting from the main RSA threads, and hopefully help us to catch up sooner rather than later.

 

Here are links to archives from /cbts, and older breadsโ€“you'll find relevant links in all of them:

RSA #0 โ€”โ€” https://archive.fo/XmD7P

RSA #1 โ€”โ€” https://archive.fo/RgVko

RSA #2 โ€”โ€” https://archive.fo/fyzAu

RSA #3 โ€”โ€” https://archive.fo/uEgOb

RSA #4 โ€”โ€” https://archive.fo/eihrQ

RSA #5 โ€”โ€” ,>>7

RSA #6 โ€”โ€” ,>>848

RSA #7 โ€”โ€” ,>>1713

RSA #8 โ€”โ€” ,>>2555

RSA #9 โ€”โ€” ,>>3361

RSA #10 โ€”โ€” ,>>4140

RSA #11 โ€”โ€” ,>>5042

RSA #12 โ€”โ€” ,>>5844

PrimeAnon !!pFXb3WErHk ID: a1d7a2 May 29, 2018, 7:51 p.m. No.6217   ๐Ÿ—„๏ธ.is ๐Ÿ”—kun   >>6480

>>6211

This is the original C# codeโ€“again, you should go through the link in the above post for VQC's line-by-line explanation:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

using System;

using System.Collections.Generic;

using System.IO;

 

namespace IntegerFactorisation

{

public class TheEnd

{

public static string path = "";//PUT YOUR FILE PATH HERE

public static Dictionary<int, Dictionary<int, List<string>>theend = new Dictionary<int, Dictionary<int, List<string>>>();

 

public static void CreateTheEnd(int i_max = 512, int x_min = 0, int y_min = 0, int x_max = 64, int y_max = 64)

{

for (int i = 0; i < i_max; i++)

{

for (int j = 0; j < i; j++)

{

int a = i - j;

int b = i + j;

int c = a * b;

bool odd = c % 2 == 1;

int d = (int)Math.Sqrt(c);

int e = c - (d * d);

int f = e - ((2 * d) + 1);

int n = i - d;

int x = d - a;

if (!theend.ContainsKey(e)) theend[e] = new Dictionary<int, List<string>>();

if (!theend[e].ContainsKey(n))

{

theend[e][n] = new List<string>();

}

if (!theend.ContainsKey(f)) theend[f] = new Dictionary<int, List<string>>();

if (!theend[f].ContainsKey(n - 1)) theend[f][n - 1] = new List<string>();

string text = "{" + string.Format("{0}:{1}:{2}:{3}:{4}:{5}", e, n, d, x, a, b) + "}";

theend[e][n].Add(text);

text = "{" + string.Format("{0}:{1}:{2}:{3}:{4}:{5}", f, n - 1, d + 1, x + 1, a, b) + "}";

theend[f][n - 1].Add(text);

}

}

}

public static void Output(int i_max = 256, int x_min = -64, int y_min = 0, int x_max = 64, int y_max = 64, int set_size = 12)

{

TextWriter tw = File.CreateText(path + "output.csv");

for (int y = 0; y < y_max; y++)

{

for (int z = 0; z < set_size; z++)

{

for (int x = x_min; x < x_max; x++)

{

if (theend.ContainsKey(x) && theend[x].ContainsKey(y) && theend[x][y].Count z)

{

tw.Write(theend[x][y][z] + ",");

}

else

{

tw.Write(",");

}

}

tw.WriteLine("");

}

}

tw.Close();

}

}

}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are many other versions written in other languages at the top of RSA #12. VQC recommended going with a language that had a good "Big Integer" library. A good graphics library also seems to help.