private static void findField() { int size = 5; long[,] addOp = new long[size, size]; long[,] multOp = new long[size, size]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { for (int res = 0; res < size; res++) { for (int i1 = 0; i1 < size; i1++) { for (int j1 = 0; j1 < size; j1++) { for (int res1 = 0; res1 < size; res1++) { addOp[i, j] = res; multOp[i1, j1] = res1; FiniteRing finitRing = new FiniteRing(addOp, multOp); if (finitRing.CheckField() == null) { System.Console.WriteLine(addOp); System.Console.WriteLine(multOp); } } } } } } } }
public void NonEqualRingsAdditionTest() { FiniteRing otherRing = new FiniteRing(order + 1); FiniteRingElement addition = otherRing.GetElement(15); FiniteRingElement result = elem + addition; }
//private List<Polynom<long, ZnRing>> BatlerTest(Polynom<long, ZnRing> fx, long p) //{ // var _res = new List<Polynom<long, ZnRing>>(); // var _ring = new ZnRing(p); // var _pring = new Rx<long, ZnRing>(_ring); // var _derivative = fx.Derivative; // var _gcd = Polynom<long, ZnRing>.GetGcd(fx, _derivative); // if (_gcd.Degree > 0) // { // if (_derivative != _pring.Zero) // { // _res.Add(_gcd); // _res.Add(fx.Div(_gcd, null)); // return _res; // } // else // { // var c = fx.Degree / p; // var _pol = new Polynom<long, ZnRing>(_ring, (int)c); // var _coeff = new List<long>(); // for(var i = 0; i < c; i++) // { // } // } // } // return _res; //} private static void testCheckField() { long[,] addOp = { { 0, 1, 2, 3, 4 }, { 1, 2, 3, 4, 0 }, { 2, 3, 4, 0, 1 }, { 3, 4, 0, 1, 2 }, { 4, 0, 1, 2, 3 } }; long[,] multOp = { { 0, 0, 0, 0, 0 }, { 0, 1, 2, 3, 4 }, { 0, 2, 4, 1, 3 }, { 0, 3, 1, 4, 2 }, { 0, 4, 3, 2, 1 } }; FiniteRing finitRing = new FiniteRing(addOp, multOp); String result = finitRing.CheckField(); if (result == null) { System.Console.WriteLine("Ring is Field!"); } System.Console.WriteLine(result); }
public void setUp() { ring = new FiniteRing(order); initialSequence = new FiniteRingElement[keyLength]; for (int i = 0; i < keyLength; ++i) { initialSequence[i] = ring.GetElement((new Random()).Next()); } }
public Key(char[] sequence, Alphabet alphabet) { ring = new FiniteRing(alphabet.Card); this.sequence = new FiniteRingElement[sequence.LongLength]; for (long i = 0, l = sequence.LongLength; i < l; ++i) { this.sequence[i] = alphabet.GetLetterOrder(sequence[i]); } }
protected sealed override void initAlphabet() { alphabetCard = 32; // ё == е alphabet = new Dictionary <char, FiniteRingElement>(); ring = new FiniteRing(alphabetCard); alphabet.Add('А', ring.GetElement(0)); alphabet.Add('Б', ring.GetElement(1)); alphabet.Add('В', ring.GetElement(2)); alphabet.Add('Г', ring.GetElement(3)); alphabet.Add('Д', ring.GetElement(4)); alphabet.Add('Е', ring.GetElement(5)); alphabet.Add('Ж', ring.GetElement(6)); alphabet.Add('З', ring.GetElement(7)); alphabet.Add('И', ring.GetElement(8)); alphabet.Add('Й', ring.GetElement(9)); alphabet.Add('К', ring.GetElement(10)); alphabet.Add('Л', ring.GetElement(11)); alphabet.Add('М', ring.GetElement(12)); alphabet.Add('Н', ring.GetElement(13)); alphabet.Add('О', ring.GetElement(14)); alphabet.Add('П', ring.GetElement(15)); alphabet.Add('Р', ring.GetElement(16)); alphabet.Add('С', ring.GetElement(17)); alphabet.Add('Т', ring.GetElement(18)); alphabet.Add('У', ring.GetElement(19)); alphabet.Add('Ф', ring.GetElement(20)); alphabet.Add('Х', ring.GetElement(21)); alphabet.Add('Ц', ring.GetElement(22)); alphabet.Add('Ч', ring.GetElement(23)); alphabet.Add('Ш', ring.GetElement(24)); alphabet.Add('Щ', ring.GetElement(25)); alphabet.Add('Ъ', ring.GetElement(26)); alphabet.Add('Ы', ring.GetElement(27)); alphabet.Add('Ь', ring.GetElement(28)); alphabet.Add('Э', ring.GetElement(29)); alphabet.Add('Ю', ring.GetElement(30)); alphabet.Add('Я', ring.GetElement(31)); }
public void setUp() { ring = new FiniteRing(order); elem = ring.GetElement(number); }
public void incorrectOrderCreateTest() { FiniteRing fail = new FiniteRing(1); }
public void setUp() { obj = new FiniteRing(order); }
public Key(FiniteRing ring, FiniteRingElement[] sequence) { this.ring = ring; this.sequence = sequence; }