Browse Source

Implement `groupBytes`

DricomDragon 5 years ago
parent
commit
f48b540490
1 changed files with 9 additions and 0 deletions
  1. 9 0
      tp/rsa/main.hs

+ 9 - 0
tp/rsa/main.hs

@@ -30,3 +30,12 @@ subunpad (-1) ys (s:[]) = subunpad (s - 1) ys []
 subunpad (-1) ys (x:xs) = subunpad (-1) (x:ys) xs
 subunpad 0 ys _ = ys
 subunpad s (y:ys) _ = subunpad (s - 1) ys []
+
+groupBytes::Message -> Int
+groupBytes = subgroupBytes 1 0
+
+-- First arg : pow > Contains 256^n where n is the number of recursive calls
+-- Second arg : acc > contains the result of the block
+subgroupBytes::Int -> Int -> Message -> Int
+subgroupBytes _ acc [] = acc
+subgroupBytes pow acc (c:msg) = subgroupBytes (pow * 256) (acc + c * pow) msg