diff --git a/ciphers/Onepad_Cipher.py b/ciphers/Onepad_Cipher.py new file mode 100644 index 000000000..436592492 --- /dev/null +++ b/ciphers/Onepad_Cipher.py @@ -0,0 +1,28 @@ +class Onepad: + def encrypt(self, text): + '''Function to encrypt text using psedo-random numbers''' + plain = [] + key = [] + cipher = [] + for i in text: + plain.append(ord(i)) + for i in plain: + k = random.randint(1, 300) + c = (i+k)*k + cipher.append(c) + key.append(k) + return cipher, key + + def decrypt(self, cipher, key): + '''Function to decrypt text using psedo-random numbers.''' + plain = [] + for i in range(len(key)): + p = (cipher[i]-(key[i])**2)/key[i] + plain.append(chr(p)) + plain = ''.join([i for i in plain]) + return plain + +if __name__ == '__main__': + c,k = Onepad().encrypt('Hello') + print c, k + print Onepad().decrypt(c, k)