Am Sonntag, 1. Mai 2016, 18:35:51 schrieb Gadre Nayan: Hi Gadre, > Hi, > > I wanted to implement a simple encryption decryption of data in kernel > space to start with the kernel crypto library. > > I have the following: > > int myFunction() { > > struct scatterlist sg; > struct crypto_hash *tfm; > struct hash_desc desc; > unsigned char input[21]; > > pr_err("Starting Crypto hash function\n"); > strcpy(input, "12345678901234567890"); > > tfm = crypto_alloc_hash("sha1", 0, CRYPTO_ALG_ASYNC); > > desc.tfm = tfm; > desc.flags = 0; > > sg_init_one(&sg, input, 21); > crypto_hash_init(&desc); > > crypto_hash_update(&desc, &sg, 10); > crypto_hash_final(&desc, dataptr); > > crypto_free_hash(tfm); > pr_err("Encryption done\nip: %s\nop: %s\n", input, dataptr); > > > return 0; > } > > So I can get this function to encrypt the data. I wanted to know how I > can decrypt this data (dataptr) back to my original string "123....". > > What api's should I use. Maybe a peek into Handbook of Applied Cryptography may help here: a hash cannot be decrypted. Besides the crypto_hash_* API is discouraged to be used. Ciao Stephan -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html