Browse Source

Add padding in `encrypt` and implement `decrypt`

DricomDragon 5 năm trước cách đây
mục cha
commit
bb3a1b808e
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  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
+