Home | History | Annotate | Download | only in ext2fs

Lines Matching refs:md

85 static void sha256_compress(struct hash_state * md, const unsigned char *buf)
93 S[i] = md->sha256.state[i];
115 md->sha256.state[i] = md->sha256.state[i] + S[i];
119 static void sha256_init(struct hash_state * md)
121 md->sha256.curlen = 0;
122 md->sha256.length = 0;
123 md->sha256.state[0] = 0x6A09E667UL;
124 md->sha256.state[1] = 0xBB67AE85UL;
125 md->sha256.state[2] = 0x3C6EF372UL;
126 md->sha256.state[3] = 0xA54FF53AUL;
127 md->sha256.state[4] = 0x510E527FUL;
128 md->sha256.state[5] = 0x9B05688CUL;
129 md->sha256.state[6] = 0x1F83D9ABUL;
130 md->sha256.state[7] = 0x5BE0CD19UL;
135 static void sha256_process(struct hash_state * md, const unsigned char *in, unsigned long inlen)
140 if (md->sha256.curlen == 0 && inlen >= SHA256_BLOCKSIZE) {
141 sha256_compress(md, in);
142 md->sha256.length += SHA256_BLOCKSIZE * 8;
146 n = MIN(inlen, (SHA256_BLOCKSIZE - md->sha256.curlen));
147 memcpy(md->sha256.buf + md->sha256.curlen, in, (size_t)n);
148 md->sha256.curlen += n;
151 if (md->sha256.curlen == SHA256_BLOCKSIZE) {
152 sha256_compress(md, md->sha256.buf);
153 md->sha256.length += 8*SHA256_BLOCKSIZE;
154 md->sha256.curlen = 0;
161 static void sha256_done(struct hash_state * md, unsigned char *out)
166 md->sha256.length += md->sha256.curlen * 8;
169 md->sha256.buf[md->sha256.curlen++] = (unsigned char)0x80;
175 if (md->sha256.curlen > 56) {
176 while (md->sha256.curlen < 64) {
177 md->sha256.buf[md->sha256.curlen++] = (unsigned char)0;
179 sha256_compress(md, md->sha256.buf);
180 md->sha256.curlen = 0;
184 while (md->sha256.curlen < 56) {
185 md->sha256.buf[md->sha256.curlen++] = (unsigned char)0;
189 STORE64H(md->sha256.length, md->sha256.buf+56);
190 sha256_compress(md, md->sha256.buf);
194 STORE32H(md->sha256.state[i], out+(4*i));
201 struct hash_state md;
203 sha256_init(&md);
204 sha256_process(&md, in, in_size);
205 sha256_done(&md, out);
238 struct hash_state md;