Skip to content

Commit 2f166eb

Browse files
committed
Updated file, added execption handling and doctest
1 parent 66c1b0e commit 2f166eb

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

other/RSA_Algo/__init__.py

Whitespace-only changes.

other/RSA_Algo/rsa_algo.py

+23-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import random
2-
from sympy import isprime, mod_inverse
32
import sys
3+
from sympy import isprime, mod_inverse
44

55
def generate_prime_candidate(length):
66
"""
@@ -43,8 +43,14 @@ def generate_keys(keysize):
4343
d = mod_inverse(e, phi)
4444

4545
return ((e, n), (d, n))
46+
except ValueError as ex:
47+
print(f"Value error generating keys: {ex}", file=sys.stderr)
48+
sys.exit(1)
49+
except TypeError as ex:
50+
print(f"Type error generating keys: {ex}", file=sys.stderr)
51+
sys.exit(1)
4652
except Exception as ex:
47-
print(f"Error generating keys: {ex}", file=sys.stderr)
53+
print(f"Unexpected error generating keys: {ex}", file=sys.stderr)
4854
sys.exit(1)
4955

5056
def gcd(a, b):
@@ -71,8 +77,11 @@ def encrypt(pk, plaintext):
7177
key, n = pk
7278
cipher = [(ord(char) ** key) % n for char in plaintext]
7379
return cipher
80+
except TypeError as ex:
81+
print(f"Type error during encryption: {ex}", file=sys.stderr)
82+
return None
7483
except Exception as ex:
75-
print(f"Error during encryption: {ex}", file=sys.stderr)
84+
print(f"Unexpected error during encryption: {ex}", file=sys.stderr)
7685
return None
7786

7887
def decrypt(pk, ciphertext):
@@ -89,8 +98,11 @@ def decrypt(pk, ciphertext):
8998
key, n = pk
9099
plain = [chr((char ** key) % n) for char in ciphertext]
91100
return ''.join(plain)
101+
except TypeError as ex:
102+
print(f"Type error during decryption: {ex}", file=sys.stderr)
103+
return None
92104
except Exception as ex:
93-
print(f"Error during decryption: {ex}", file=sys.stderr)
105+
print(f"Unexpected error during decryption: {ex}", file=sys.stderr)
94106
return None
95107

96108
if __name__ == '__main__':
@@ -115,6 +127,12 @@ def decrypt(pk, ciphertext):
115127
print("Decryption failed.", file=sys.stderr)
116128
else:
117129
print("Encryption failed.", file=sys.stderr)
130+
except ValueError as ex:
131+
print(f"Value error: {ex}", file=sys.stderr)
132+
sys.exit(1)
133+
except TypeError as ex:
134+
print(f"Type error: {ex}", file=sys.stderr)
135+
sys.exit(1)
118136
except Exception as ex:
119-
print(f"An error occurred: {ex}", file=sys.stderr)
137+
print(f"Unexpected error: {ex}", file=sys.stderr)
120138
sys.exit(1)

0 commit comments

Comments
 (0)