Пример #1
0
    def testGeneratorWithLFSR1(self):
        cle = random.randint(0, 1 << 33)
        res = tp1.Generator(cle, 300)

        taille_lfsr1 = tp1.getlfsr1()[0]

        etat_initial_aleatoire = 0

        for i in range(0, taille_lfsr1):
            etat_initial_aleatoire += ((cle >> i) & 1) << i

        countTrueTest = 0

        etat = 0
        while etat < (1 << taille_lfsr1):
            lfsr_state = etat
            lfsr1_300bits = 0

            for j in range(300):
                output, lfsr_state = tp1.update_LFSR(lfsr_state, tp1.getlfsr1()[1], taille_lfsr1)
                lfsr1_300bits += output << j

            if etat != etat_initial_aleatoire:
                self.assertFalse(tp1.statistical_test(lfsr1_300bits, res, 300))
            else:
                self.assertTrue(tp1.statistical_test(lfsr1_300bits, res, 300))
                countTrueTest += 1

            etat += 1

        if countTrueTest != 1:
            self.fail("Le nombre de test true devrait etre 1 or il est egal a " + str(countTrueTest))
Пример #2
0
 def testStatisticalTest(self):
     self.assertFalse(tp1.statistical_test(155, 85, 8))
     self.assertTrue(tp1.statistical_test(255, 254, 8))