def genKys(length):
length *= 8
key = [0] * length
choice = int(floor.floor(random.random() * length))
for i in range(choice):
key[int(floor.floor(random.random()) * (length - 1))] = 1
return key
def enc(plain, key):
length = len(key)
cipher = [None] * length
for i in range(length):
cipher[i] = 1 if key[i] == plain[i] else 0
return cipher
def getBts(plain):
length = len(plain)
bits = [None] * length * 8
for i in range(length):
for j in range(8):
bits[8 * i + 7 - j] = (int)(ord(plain[i]) / pow(2, j)) % 2
return bits
def getBytes(bits):
length = len(bits)
data = []
byte = 0
for i in range((int)(length / 8)):
for j in range(8):
byte += pow(2, 7 - j) * bits[8 * i + j]
data.append(byte)
byte = 0
return data
def toString(bytes):
size = len(bytes)
output = ""
for i in range(size):
output += chr(bytes[i])
return output
def attack(i, key, size):
if i == size - 1:
dec(key)
return
for j in range(1, size - i):
attack(i + j, key, size)
key2 = key[:]
key2[i + j] = 1
attack(i + j, key2, size)
def dec(key):
deciphered = enc(bits, key)
txt = toString(getBytes(deciphered))
if isLatin(txt):
if txt == plainText:
print("Found!")
exit()
def isLatin(txt):
size = len(txt)
for i in range(size):
if (ord(txt[i]) < 97) | (ord(txt[i]) > 122):
return False
return True
Replies to Re: Re: Re: Re: Re: modules 
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}