Ejemplo n.º 1
0
 def decryptPhase(self,id,machine1,machine2,m1BlkSize,m2BlkSize,seq):
     x=self.decryptSequence(seq,machine2,m2BlkSize[id],self.level.l[id],self.level.xor[id])
     SEMsg=self.decryptSequence(x,machine1,m1BlkSize[id],self.level.k[id],self.level.xor[id])
     EMsg=self.shuffler.deshuffleSeq(SEMsg,self.level.s[id])
     paddedM1pLength=len(Util.padSequence(range(machine1.getCipherRotorsCount()),m2BlkSize[id]))
     EM1p=EMsg[0:paddedM1pLength]
     Msg_M1p=EMsg[paddedM1pLength::]
     M1p=self.decryptSequence(EM1p,machine2,m2BlkSize[id],self.level.i[id],self.level.xor[id])
     Msg=self.decryptSequence(Msg_M1p,machine1,m1BlkSize[id],self.level.j[id],self.level.xor[id],M1p)
     # print("DECRYPT")
     # print("ID:"+id)
     # print("y:")
     # print(seq)
     # print("x:")
     # print(x)
     # print("SEMsg:")
     # print(SEMsg)
     # print("EMsg:")
     # print(EMsg)
     # print("EM1p:")
     # print(EM1p)
     # print("Msg_M1p:")
     # print(Msg_M1p)
     # print("M1p:")
     # print(M1p)
     # print("Msg:")
     # print(Msg)
     #
     return Msg
Ejemplo n.º 2
0
 def testPaddingBlksizeLargeerThanSeq(self):
     seq=[1,2]
     blkSize=16
     padSeq=Util.padSequence(seq,blkSize)
     self.assertEqual(0,len(padSeq)%blkSize)
     self.assertEqual(13,padSeq[0])
Ejemplo n.º 3
0
 def testPadSequence(self):
     seq=[1,2]
     blkSize=4
     padSeq=Util.padSequence(seq,4)
     self.assertEqual(0,len(padSeq)%4)
     self.assertEqual(1,padSeq[0])