24 lines
703 B
Python
24 lines
703 B
Python
#!/usr/bin/env python
|
|
|
|
from genprime import genPrime
|
|
from sys import argv
|
|
from functools import reduce
|
|
from operator import mul
|
|
|
|
if argv[1] == "gen":
|
|
privkey = (genPrime(), genPrime())
|
|
print(f"---PRIVKEY1---\n\n{privkey[0]}\n\n---PRIVKEY1---\n\n\n\n---PRIVKEY2---\n\n{privkey[1]}\n\n---PRIVKEY2---")
|
|
print("\n"*6)
|
|
pubkey = privkey[0] * privkey[1]
|
|
print(f"---PUBKEY---\n\n{pubkey}\n\n---PUBKEY---")
|
|
elif argv[1] == "enc":
|
|
msg = bytes(argv[2], 'utf-8')
|
|
pubkey = int(argv[3])
|
|
enc = reduce(mul, msg, pubkey)
|
|
print(enc)
|
|
elif argv[1] == "dec":
|
|
msg = int(argv[2])
|
|
privkey = tuple(map(int, argv[3].split(" ")))
|
|
dec = msg / reduce(mul, privkey)
|
|
print(dec)
|