def testOutputAllLfsr(self): state = tp1.getState1(2015686042) output = 0 for i in range(40): outputLfsr, state = tp1.update_LFSR(state, tp1.getlfsr1()[1], tp1.getlfsr1()[0]) output ^= outputLfsr << i self.assertEqual(output, int("0101100110100010001011010010111010011000"[::-1], 2)) state = tp1.getState2(2015686042) output = 0 for i in range(40): outputLfsr, state = tp1.update_LFSR(state, tp1.getlfsr2()[1], tp1.getlfsr2()[0]) output ^= outputLfsr << i self.assertEqual(output, int("1101110010011100101111001011100111101100"[::-1], 2)) state = tp1.getState3(2015686042) output = 0 for i in range(40): outputLfsr, state = tp1.update_LFSR(state, tp1.getlfsr3()[1], tp1.getlfsr3()[0]) output ^= outputLfsr << i self.assertEqual(output, int("1000001111001101011010101001100110011011"[::-1], 2))
def testLfsrState(self): self.assertEqual(410, tp1.getState1(2015686042)) self.assertEqual(315, tp1.getState2(2015686042)) self.assertEqual(961, tp1.getState3(2015686042))