Explorar el Código

Add padding in `encrypt` and implement `decrypt`

DricomDragon hace 5 años
padre
commit
bb3a1b808e
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  1. 7 0
      tp/rsa/main.hs

+ 7 - 0
tp/rsa/main.hs

@@ -85,3 +85,10 @@ encrypt e n bsize smsg =
 	let bmsg = makeBlocks bsize pmsg in
 	map (\m -> expMod m e n) bmsg
 
+decrypt::Int -> Int -> Int -> Message -> String
+decrypt d n bsize cmsg =
+	let bmsg = map (\c -> expMod c d n) cmsg in
+	let pmsg = splitBlocks bmsg in
+	let msg = unpad pmsg in
+	messageToString msg
+