in the link of github sha transform has two arguments ctx and byte data[], what is data[] meant for and in the next line wat is i and j and why shifts are done of 24,16,8 and why j added with 3

next step what states mean here and according to what i know that first 16 rounds would be copying the m[16] and next 48 that computations of sigma and all would be done but in this program why direct 64 rounds that are done  and iteration starting from 0 to 64

what are bitlen and bitdata referring too...whybilen added with 512 in if part

and atlast final is completely a  grrek for me i could understand is somewhere padding is done but why if and else part are done with 56 and 64 i donno

and why memset has been used . at last step appending to padding tha message in bits and transform and last steps are completely out of my head now....sorry to ask the question mant times but need some guidance to understand and to work on because im not so strong in c

https://github.com/B-Con/crypto-algorithms/blob/master/sha256.c

Similar questions and discussions