@@ -40,7 +40,7 @@ def main():
40
40
print (decryptedText )
41
41
42
42
43
- def getBlocksFromText (message , blockSize = DEFAULT_BLOCK_SIZE ):
43
+ def getBlocksFromText (message : int , blockSize : int = DEFAULT_BLOCK_SIZE ) -> [ int ] :
44
44
messageBytes = message .encode ("ascii" )
45
45
46
46
blockInts = []
@@ -52,7 +52,9 @@ def getBlocksFromText(message, blockSize=DEFAULT_BLOCK_SIZE):
52
52
return blockInts
53
53
54
54
55
- def getTextFromBlocks (blockInts , messageLength , blockSize = DEFAULT_BLOCK_SIZE ):
55
+ def getTextFromBlocks (
56
+ blockInts : [int ], messageLength : int , blockSize : int = DEFAULT_BLOCK_SIZE
57
+ ) -> str :
56
58
message = []
57
59
for blockInt in blockInts :
58
60
blockMessage = []
@@ -65,7 +67,9 @@ def getTextFromBlocks(blockInts, messageLength, blockSize=DEFAULT_BLOCK_SIZE):
65
67
return "" .join (message )
66
68
67
69
68
- def encryptMessage (message , key , blockSize = DEFAULT_BLOCK_SIZE ):
70
+ def encryptMessage (
71
+ message : str , key : (int , int ), blockSize : int = DEFAULT_BLOCK_SIZE
72
+ ) -> [int ]:
69
73
encryptedBlocks = []
70
74
n , e = key
71
75
@@ -74,24 +78,32 @@ def encryptMessage(message, key, blockSize=DEFAULT_BLOCK_SIZE):
74
78
return encryptedBlocks
75
79
76
80
77
- def decryptMessage (encryptedBlocks , messageLength , key , blockSize = DEFAULT_BLOCK_SIZE ):
81
+ def decryptMessage (
82
+ encryptedBlocks : [int ],
83
+ messageLength : int ,
84
+ key : (int , int ),
85
+ blockSize : int = DEFAULT_BLOCK_SIZE ,
86
+ ) -> str :
78
87
decryptedBlocks = []
79
88
n , d = key
80
89
for block in encryptedBlocks :
81
90
decryptedBlocks .append (pow (block , d , n ))
82
91
return getTextFromBlocks (decryptedBlocks , messageLength , blockSize )
83
92
84
93
85
- def readKeyFile (keyFilename ):
94
+ def readKeyFile (keyFilename : str ) -> ( int , int , int ):
86
95
with open (keyFilename ) as fo :
87
96
content = fo .read ()
88
97
keySize , n , EorD = content .split ("," )
89
98
return (int (keySize ), int (n ), int (EorD ))
90
99
91
100
92
101
def encryptAndWriteToFile (
93
- messageFilename , keyFilename , message , blockSize = DEFAULT_BLOCK_SIZE
94
- ):
102
+ messageFilename : str ,
103
+ keyFilename : str ,
104
+ message : str ,
105
+ blockSize : int = DEFAULT_BLOCK_SIZE ,
106
+ ) -> str :
95
107
keySize , n , e = readKeyFile (keyFilename )
96
108
if keySize < blockSize * 8 :
97
109
sys .exit (
@@ -112,7 +124,7 @@ def encryptAndWriteToFile(
112
124
return encryptedContent
113
125
114
126
115
- def readFromFileAndDecrypt (messageFilename , keyFilename ) :
127
+ def readFromFileAndDecrypt (messageFilename : str , keyFilename : str ) -> str :
116
128
keySize , n , d = readKeyFile (keyFilename )
117
129
with open (messageFilename ) as fo :
118
130
content = fo .read ()
0 commit comments