示例#1
0
	def setUp(self):
		self.analyzer = FrequencyAnalyzer(VigenereCipher(), ascii_uppercase)
		self.analyzer.message = removeTextNonLetters("Ppqca xqvekg ybnkmazu ybngbal jon i tszm jyim. Vrag voht vrau c tksg. Ddwuo xitlazu vavv raz c vkb qp iwpou.")
		self.analyzer.key_length = 4
		
		self.subkey_messages = ['PAEBABANZIAHAKDXAAAKIU', 'PXKNZNLIMMGTUSWIZVZBW', 'QQGKUGJTJVVVCGUTUVCQP', 'CVYMYBOSYRORTDOLVRVPO']
		self.subkey_score = [('A', 2), ('I', 2), ('N', 2), ('W', 2), ('X', 2), ('B', 1), ('C', 1), ('E', 1), ('G', 1), ('H', 1), ('K', 1), ('M', 1), ('O', 1), ('P', 1), ('R', 1), ('S', 1), ('T', 1), ('U', 1), ('V', 1), ('D', 0), ('F', 0), ('J', 0), ('L', 0), ('Q', 0), ('Y', 0), ('Z', 0)]
示例#2
0
	def setUp(self):
		self.message = removeTextNonLetters("Ppqca xqvekg ybnkmazu ybngbal jon i tszm jyim. Vrag voht vrau c tksg. Ddwuo xitlazu vavv raz c vkb qp iwpou.")
		self.seq_spacings = {'AZU': [48], 'VRA': [8, 32, 24], 'YBN': [8]}
		self.seq_factors = {
			'AZU': [2, 3, 4, 6, 8, 12, 16],
 			'VRA': [8, 2, 4, 8, 16, 2, 4, 2, 3, 4, 6, 8, 12],
 			'YBN': [8, 2, 4]}
		self.factor_counts = Counter({2: 5, 4: 5, 8: 5, 16: 2, 3: 2, 6: 2, 12: 2})
示例#3
0
	def test_kasiskiExamination_text(self):
		with open('data/book_ciphertext.txt') as f:
			ciphertext = removeTextNonLetters(f.read())
		self.assertEqual(kasiskiExamination(ciphertext), self.likely_key_lengths)