def test_encode3(self): self.context['args'].encrypt = True self.context['args'].decrypt = False encrypted = fialka.code(self.context, 'A', 'A') self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, 'A', encrypted) self.assertNotEqual(decrypted, encrypted) #Rare but possible self.assertEqual(decrypted, 'A')
def test_encode2(self): self.context['args'].encrypt = True self.context['args'].decrypt = False cleartext = 'ABCDEFGH1JKLMN0PKRSTUVWXY30123456789ABCDEFGH1JKLMN0PKRSTUVWXY30123456789' encrypted = fialka.code(self.context, 'ABCDEFGH1J', cleartext) self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, 'ABCDEFGH1J', encrypted) self.assertNotEqual(decrypted, encrypted) self.assertEqual(decrypted, cleartext)
def test_encode1(self): self.context['args'].encrypt = True self.context['args'].decrypt = False cleartext = 'C0MEHERE1SAY' encrypted = fialka.code(self.context, 'ABCDEFGH1J', cleartext) self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, 'ABCDEFGH1J', encrypted) self.assertNotEqual(decrypted, encrypted) self.assertEqual(decrypted, cleartext)
def test_encode6(self): self.context['args'].encrypt = True self.context['args'].decrypt = False encrypted = fialka.code(self.context, '0000000000', 'EEEEEE') self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, '0000000000', encrypted) self.assertNotEqual(decrypted, encrypted) self.assertNotEqual(encrypted[0:2], encrypted[2:4]) self.assertNotEqual(encrypted[2:4], encrypted[4:6]) self.assertNotEqual(encrypted[0:2], encrypted[4:6]) self.assertNotEqual(encrypted[:3], encrypted[3:]) self.assertEqual(decrypted, 'EEEEEE')
def test_encode5(self): self.context['args'].encrypt = True self.context['args'].decrypt = False cleartext = 'Y0UMUSTREMEMBERTH1SAK1SS1SJUSTAK1SSAS1GH1SJUSTAS1GHTHEFUNDAMENTALTH1NGSAPPLYAST1MEG0ESBYANDWHENTW0L0VERSW00THEYST1LLSAY1L0VEY0U0NTHATY0UCANRELYN0MATTERWHATTHEFUTUREBR1NGSAST1MEG0ESBYM00L1GHTANDL0VES0NGSNEVER0UT0FDATEHEARTSFULL0FPASS10NJEAL0USYANDHATEW0MANNEEDSMANDANDMANMUSTHAVEH1SMATETHATN00NECANDENYU1TSST1LLTHESAME0LDST0RYAF1GHTF0RL0VEANDGL0RYACASE0FD00RD1ETHEW0RLDW1LLALWAYSWELC0MEL0VERSAST1MEG0ESBY' key = random_key() encrypted = fialka.code(self.context, key, cleartext) sdratio = char_freq(encrypted) print(sdratio) self.assertTrue(sdratio < .07) #Should usually be true self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, key, encrypted) self.assertNotEqual(decrypted, encrypted) self.assertEqual(decrypted, cleartext)
def test_encode4(self): self.context['args'].encrypt = True self.context['args'].decrypt = False encrypted = fialka.code(self.context, '0000000000', 'KAM9') self.assertEqual(self.context['rotor'][0]['offset'], 6 + 4) # r[0]['0']] == 6, 6+ len(cleartext) = 10 self.assertEqual(self.context['rotor'][1]['offset'], 3 - 3) # r[1]['0']] == 3, 3 - sum(r[0][stop][7:11]) = 0 self.assertEqual(self.context['rotor'][2]['offset'], 20 + 1) # r[1]['0']] == 3, 3 - sum(r[0][stop][7:11]) = 0 self.assertEqual(self.context['rotor'][3]['offset'], 19 - 2) self.assertEqual(self.context['rotor'][4]['offset'], 12 + 1) self.assertEqual(self.context['rotor'][5]['offset'], 22 - 4) self.assertEqual(self.context['rotor'][6]['offset'], 6 + 3) self.context['args'].encrypt = False self.context['args'].decrypt = True decrypted = fialka.code(self.context, '0000000000', encrypted) self.assertNotEqual(decrypted, encrypted) self.assertEqual(decrypted, 'KAM9')
def test_encrypt0(self): context = fialka.application_context(['-e', '-w', '0', 'A', '0']) encrypted = fialka.code(context, 'A', '0') self.assertEqual(encrypted, 'W')
def test_encryptA(self): context = fialka.application_context(['-e', '-w', '0', 'A', 'A']) self.assertEqual(len(context['rotor']), 1) encrypted = fialka.code(context, 'A', 'A') self.assertEqual(encrypted, '7')