Exemplo n.º 1
0
def encode(message, key):
	lfsr_1 = LFSR(key[0:16], [0,14]) # 17 bit LSFR
	lfsr_2 = LFSR(key[16:40], [10,18,19,22]) # 25 bit LSFR
	
	cipher = []

	for character in message:
		key_stream = (lfsr_1.cycle() + lfsr_2.cycle()) % 256
		cipher.append(key_stream ^ ord(character))
		
	return "".join(map(chr, cipher))
Exemplo n.º 2
0
def test_cycle():
	'''
	First cycle:
	1,1,0,1,0 -> output 0, feedback 0
	0,1,1,0,1 -> output 1, feedback 1
	1,0,1,1,0 -> output 0, feedback 1
	1,1,0,1,1 -> output 1, feedback 0
	0,1,1,0,1 -> output 1, feedback 1
	1,0,1,1,0 -> output 0, feedback 1
	1,1,0,1,1 -> output 1, feedback 0
	0,1,1,0,1 -> output 1, feedback 1
	
	Output = 11011010b = 128d
	'''
	lfsr = LFSR([1,0,1,0], [0,1])
	output = lfsr.cycle()
	assert output == 218