diff --git a/src/libSAEDEA/saedea.nim b/src/libSAEDEA/saedea.nim index 04b53196b0abefe2c64cc645f5b4803fea048e34..6b6c1e28c9c6dc6594373f8c3414f5c18b113c67 100644 --- a/src/libSAEDEA/saedea.nim +++ b/src/libSAEDEA/saedea.nim @@ -1,6 +1,7 @@ import random import oids import base64 +import std/sha1 # # gen_iv(random_data): string @@ -9,7 +10,7 @@ import base64 # Will be stronger when provided "true" random_data # proc gen_iv*(random_data: string): string = - var iv = encode($genoid() & random_data) + var iv = $genoid() & random_data & $secureHash($genoid()) # make up some random str var randomizer = initRand(hash(genOid())) randomizer.shuffle(iv) return iv @@ -20,6 +21,7 @@ proc gen_iv*(random_data: string): string = # encrypt_stage1(secret, iv, length): string # # First pass of string encryption, xor the secret key and initialization vector +# it needs the original cleartext message legth # proc encrypt_stage1(secret: string, iv: string, len: int): string = var hidden_str: string @@ -62,6 +64,7 @@ proc encrypt_light_stage1(secret: string, iv: string): string = # decrypt_stage1(secret, iv, length): string # # First pass of string decryption, xor secret,initialization vector, then cypertext and the product +# it needs the original cleartext message length # proc decrypt_stage1(hidden: string, iv: string, len: int): string = var product: string