Added is_prime command
- Usage: rsa <is_prime|is_prime_mr> <base> <N> Print if N is prime or not using traditainl method and Miller-Rabin method. Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
parent
522e9f3453
commit
6d9e071aa4
32
rsa.py
Executable file → Normal file
32
rsa.py
Executable file → Normal file
@ -112,6 +112,12 @@ def main():
|
|||||||
elif sys.argv[1] == "crack":
|
elif sys.argv[1] == "crack":
|
||||||
printHelp()
|
printHelp()
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if sys.argv[1] == "is_prime" and len(sys.argv) == 4: #rsa is_prime <base> <N>
|
||||||
|
isPrime_cmd(0)
|
||||||
|
sys.exit(0)
|
||||||
|
if sys.argv[1] == "is_prime_mr" and len(sys.argv) == 4: #rsa is_prime_mr <base> <N>
|
||||||
|
isPrime_cmd(1)
|
||||||
|
sys.exit(0)
|
||||||
if sys.argv[1] == "print" and len(sys.argv) == 3: #rsa print <key>
|
if sys.argv[1] == "print" and len(sys.argv) == 3: #rsa print <key>
|
||||||
printKey(readKeyFile(sys.argv[2]))
|
printKey(readKeyFile(sys.argv[2]))
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
@ -236,6 +242,32 @@ def verify(cipher_list):
|
|||||||
else: continue
|
else: continue
|
||||||
else: return None
|
else: return None
|
||||||
|
|
||||||
|
def isPrime_cmd(func):
|
||||||
|
number = 0
|
||||||
|
base = 0
|
||||||
|
try:
|
||||||
|
base = int(sys.argv[2])
|
||||||
|
except ValueError as e:
|
||||||
|
print(f'Value {sys.argv[2]} is not a valid base (2, 8, 10, 16)',
|
||||||
|
file=sys.stderr)
|
||||||
|
|
||||||
|
try:
|
||||||
|
number = int(sys.argv[3], base)
|
||||||
|
except ValueError as e:
|
||||||
|
print(f'Value {sys.argv[3]} is not valid for as a base {base} number',
|
||||||
|
file=sys.stderr)
|
||||||
|
|
||||||
|
if func == 0:
|
||||||
|
prime = isPrime(number)
|
||||||
|
elif func == 1:
|
||||||
|
prime = mr.is_prime(number)
|
||||||
|
|
||||||
|
if prime:
|
||||||
|
print('Prime')
|
||||||
|
print(number)
|
||||||
|
else:
|
||||||
|
print('Not prime')
|
||||||
|
|
||||||
def readKeyFile(keyName):
|
def readKeyFile(keyName):
|
||||||
key = tuple()
|
key = tuple()
|
||||||
with open(keysFolder+keyName, "r") as keyFile:
|
with open(keysFolder+keyName, "r") as keyFile:
|
||||||
|
Loading…
Reference in New Issue
Block a user