| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/sha/sha512.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||
| 2 | - | |||||||
| 3 | - | |||||||
| 4 | - | |||||||
| 5 | - | |||||||
| 6 | - | |||||||
| 7 | - | |||||||
| 8 | - | |||||||
| 9 | - | |||||||
| 10 | - | |||||||
| 11 | - | |||||||
| 12 | - | |||||||
| 13 | - | |||||||
| 14 | - | |||||||
| 15 | - | |||||||
| 16 | int SHA384_Init(SHA512_CTX *c) | - | ||||||
| 17 | { | - | ||||||
| 18 | c->h[0]=0xcbbb9d5dc1059ed8UL; | - | ||||||
| 19 | c->h[1]=0x629a292a367cd507UL; | - | ||||||
| 20 | c->h[2]=0x9159015a3070dd17UL; | - | ||||||
| 21 | c->h[3]=0x152fecd8f70e5939UL; | - | ||||||
| 22 | c->h[4]=0x67332667ffc00b31UL; | - | ||||||
| 23 | c->h[5]=0x8eb44a8768581511UL; | - | ||||||
| 24 | c->h[6]=0xdb0c2e0d64f98fa7UL; | - | ||||||
| 25 | c->h[7]=0x47b5481dbefa4fa4UL; | - | ||||||
| 26 | - | |||||||
| 27 | c->Nl=0; c->Nh=0; | - | ||||||
| 28 | c->num=0; c->md_len=48; | - | ||||||
| 29 | return executed 1196 times by 4 tests: 1;return 1;Executed by:
executed 1196 times by 4 tests: return 1;Executed by:
| 1196 | ||||||
| 30 | } | - | ||||||
| 31 | - | |||||||
| 32 | int SHA512_Init(SHA512_CTX *c) | - | ||||||
| 33 | { | - | ||||||
| 34 | c->h[0]=0x6a09e667f3bcc908UL; | - | ||||||
| 35 | c->h[1]=0xbb67ae8584caa73bUL; | - | ||||||
| 36 | c->h[2]=0x3c6ef372fe94f82bUL; | - | ||||||
| 37 | c->h[3]=0xa54ff53a5f1d36f1UL; | - | ||||||
| 38 | c->h[4]=0x510e527fade682d1UL; | - | ||||||
| 39 | c->h[5]=0x9b05688c2b3e6c1fUL; | - | ||||||
| 40 | c->h[6]=0x1f83d9abfb41bd6bUL; | - | ||||||
| 41 | c->h[7]=0x5be0cd19137e2179UL; | - | ||||||
| 42 | - | |||||||
| 43 | c->Nl=0; c->Nh=0; | - | ||||||
| 44 | c->num=0; c->md_len=64; | - | ||||||
| 45 | return executed 77 times by 4 tests: 1;return 1;Executed by:
executed 77 times by 4 tests: return 1;Executed by:
| 77 | ||||||
| 46 | } | - | ||||||
| 47 | - | |||||||
| 48 | - | |||||||
| 49 | - | |||||||
| 50 | - | |||||||
| 51 | void sha512_block_data_order (SHA512_CTX *ctx, const void *in, size_t num); | - | ||||||
| 52 | - | |||||||
| 53 | int SHA512_Final (unsigned char *md, SHA512_CTX *c) | - | ||||||
| 54 | { | - | ||||||
| 55 | unsigned char *p=(unsigned char *)c->u.p; | - | ||||||
| 56 | size_t n=c->num; | - | ||||||
| 57 | - | |||||||
| 58 | p[n]=0x80; | - | ||||||
| 59 | n++; | - | ||||||
| 60 | if (n > (sizeof(c->u)-16)
| 270-25590 | ||||||
| 61 | memset (p+n,0,sizeof(c->u)-n), n=0, executed 270 times by 3 tests: memset (p+n,0,sizeof(c->u)-n), n=0, sha512_block_data_order (c,p,1);Executed by:
| 270 | ||||||
| 62 | sha512_block_data_order (c,p,1); executed 270 times by 3 tests: memset (p+n,0,sizeof(c->u)-n), n=0, sha512_block_data_order (c,p,1);Executed by:
| 270 | ||||||
| 63 | - | |||||||
| 64 | memset (p+n,0,sizeof(c->u)-16-n); | - | ||||||
| 65 | - | |||||||
| 66 | - | |||||||
| 67 | - | |||||||
| 68 | - | |||||||
| 69 | p[sizeof(c->u)-1] = (unsigned char)(c->Nl); | - | ||||||
| 70 | p[sizeof(c->u)-2] = (unsigned char)(c->Nl>>8); | - | ||||||
| 71 | p[sizeof(c->u)-3] = (unsigned char)(c->Nl>>16); | - | ||||||
| 72 | p[sizeof(c->u)-4] = (unsigned char)(c->Nl>>24); | - | ||||||
| 73 | p[sizeof(c->u)-5] = (unsigned char)(c->Nl>>32); | - | ||||||
| 74 | p[sizeof(c->u)-6] = (unsigned char)(c->Nl>>40); | - | ||||||
| 75 | p[sizeof(c->u)-7] = (unsigned char)(c->Nl>>48); | - | ||||||
| 76 | p[sizeof(c->u)-8] = (unsigned char)(c->Nl>>56); | - | ||||||
| 77 | p[sizeof(c->u)-9] = (unsigned char)(c->Nh); | - | ||||||
| 78 | p[sizeof(c->u)-10] = (unsigned char)(c->Nh>>8); | - | ||||||
| 79 | p[sizeof(c->u)-11] = (unsigned char)(c->Nh>>16); | - | ||||||
| 80 | p[sizeof(c->u)-12] = (unsigned char)(c->Nh>>24); | - | ||||||
| 81 | p[sizeof(c->u)-13] = (unsigned char)(c->Nh>>32); | - | ||||||
| 82 | p[sizeof(c->u)-14] = (unsigned char)(c->Nh>>40); | - | ||||||
| 83 | p[sizeof(c->u)-15] = (unsigned char)(c->Nh>>48); | - | ||||||
| 84 | p[sizeof(c->u)-16] = (unsigned char)(c->Nh>>56); | - | ||||||
| 85 | - | |||||||
| 86 | - | |||||||
| 87 | sha512_block_data_order (c,p,1); | - | ||||||
| 88 | - | |||||||
| 89 | if (md==0
never executed: 0;return 0;never executed: return 0; | 0-25860 | ||||||
| 90 | - | |||||||
| 91 | switch (c->md_len) | - | ||||||
| 92 | { | - | ||||||
| 93 | - | |||||||
| 94 | case executed 1211 times by 3 tests: 48:case 48:Executed by:
executed 1211 times by 3 tests: case 48:Executed by:
| 1211 | ||||||
| 95 | for (n=0;n<48/8
| 1211-7266 | ||||||
| 96 | { | - | ||||||
| 97 | unsigned long t = c->h[n]; | - | ||||||
| 98 | - | |||||||
| 99 | *(md++) = (unsigned char)(t>>56); | - | ||||||
| 100 | *(md++) = (unsigned char)(t>>48); | - | ||||||
| 101 | *(md++) = (unsigned char)(t>>40); | - | ||||||
| 102 | *(md++) = (unsigned char)(t>>32); | - | ||||||
| 103 | *(md++) = (unsigned char)(t>>24); | - | ||||||
| 104 | *(md++) = (unsigned char)(t>>16); | - | ||||||
| 105 | *(md++) = (unsigned char)(t>>8); | - | ||||||
| 106 | *(md++) = (unsigned char)(t); | - | ||||||
| 107 | } executed 7266 times by 3 tests: end of blockExecuted by:
| 7266 | ||||||
| 108 | break; executed 1211 times by 3 tests: break;Executed by:
| 1211 | ||||||
| 109 | case executed 24649 times by 4 tests: 64:case 64:Executed by:
executed 24649 times by 4 tests: case 64:Executed by:
| 24649 | ||||||
| 110 | for (n=0;n<64/8
| 24649-197192 | ||||||
| 111 | { | - | ||||||
| 112 | unsigned long t = c->h[n]; | - | ||||||
| 113 | - | |||||||
| 114 | *(md++) = (unsigned char)(t>>56); | - | ||||||
| 115 | *(md++) = (unsigned char)(t>>48); | - | ||||||
| 116 | *(md++) = (unsigned char)(t>>40); | - | ||||||
| 117 | *(md++) = (unsigned char)(t>>32); | - | ||||||
| 118 | *(md++) = (unsigned char)(t>>24); | - | ||||||
| 119 | *(md++) = (unsigned char)(t>>16); | - | ||||||
| 120 | *(md++) = (unsigned char)(t>>8); | - | ||||||
| 121 | *(md++) = (unsigned char)(t); | - | ||||||
| 122 | } executed 197192 times by 4 tests: end of blockExecuted by:
| 197192 | ||||||
| 123 | break; executed 24649 times by 4 tests: break;Executed by:
| 24649 | ||||||
| 124 | - | |||||||
| 125 | default never executed: :default:never executed: returndefault:never executed: 0;return 0;never executed: return 0; | 0 | ||||||
| 126 | } | - | ||||||
| 127 | - | |||||||
| 128 | return executed 25860 times by 5 tests: 1;return 1;Executed by:
executed 25860 times by 5 tests: return 1;Executed by:
| 25860 | ||||||
| 129 | } | - | ||||||
| 130 | - | |||||||
| 131 | int SHA384_Final (unsigned char *md,SHA512_CTX *c) | - | ||||||
| 132 | { return never executed: SHA512_Final (md,c);return SHA512_Final (md,c);never executed: }return SHA512_Final (md,c); | 0 | ||||||
| 133 | - | |||||||
| 134 | int SHA512_Update (SHA512_CTX *c, const void *_data, size_t len) | - | ||||||
| 135 | { | - | ||||||
| 136 | unsigned long l; | - | ||||||
| 137 | unsigned char *p=c->u.p; | - | ||||||
| 138 | const unsigned char *data=(const unsigned char *)_data; | - | ||||||
| 139 | - | |||||||
| 140 | if (len==0
never executed: 1;return 1;never executed: return 1; | 0-48212 | ||||||
| 141 | - | |||||||
| 142 | l = (c->Nl+(((unsigned long)len)<<3))&0xffffffffffffffffUL; | - | ||||||
| 143 | if (l < c->Nl
never executed: c->Nh++; | 0-48212 | ||||||
| 144 | if (sizeof(len)>=8
executed 48212 times by 6 tests: c->Nh+=(((unsigned long)len)>>61);Executed by:
| 0-48212 | ||||||
| 145 | c->Nl=l; | - | ||||||
| 146 | - | |||||||
| 147 | if (c->num != 0
| 12497-35715 | ||||||
| 148 | { | - | ||||||
| 149 | size_t n = sizeof(c->u) - c->num; | - | ||||||
| 150 | - | |||||||
| 151 | if (len < n
| 2002-10495 | ||||||
| 152 | { | - | ||||||
| 153 | memcpy (p+c->num,data,len), c->num += (unsigned int)len; | - | ||||||
| 154 | return executed 2002 times by 5 tests: 1;return 1;Executed by:
executed 2002 times by 5 tests: return 1;Executed by:
| 2002 | ||||||
| 155 | } | - | ||||||
| 156 | else { | - | ||||||
| 157 | memcpy (p+c->num,data,n), c->num = 0; | - | ||||||
| 158 | len-=n, data+=n; | - | ||||||
| 159 | sha512_block_data_order (c,p,1); | - | ||||||
| 160 | } executed 10495 times by 3 tests: end of blockExecuted by:
| 10495 | ||||||
| 161 | } | - | ||||||
| 162 | - | |||||||
| 163 | if (len >= sizeof(c->u)
| 4719-41491 | ||||||
| 164 | { | - | ||||||
| 165 | sha512_block_data_order (c,data,len/sizeof(c->u)), | - | ||||||
| 166 | data += len, | - | ||||||
| 167 | len %= sizeof(c->u), | - | ||||||
| 168 | data -= len; | - | ||||||
| 169 | } executed 4719 times by 5 tests: end of blockExecuted by:
| 4719 | ||||||
| 170 | - | |||||||
| 171 | if (len != 0
executed 36340 times by 6 tests: memcpy (p,data,len), c->num = (int)len;Executed by:
| 9870-36340 | ||||||
| 172 | - | |||||||
| 173 | return executed 46210 times by 6 tests: 1;return 1;Executed by:
executed 46210 times by 6 tests: return 1;Executed by:
| 46210 | ||||||
| 174 | } | - | ||||||
| 175 | - | |||||||
| 176 | int SHA384_Update (SHA512_CTX *c, const void *data, size_t len) | - | ||||||
| 177 | { return never executed: SHA512_Update (c,data,len);return SHA512_Update (c,data,len);never executed: }return SHA512_Update (c,data,len); | 0 | ||||||
| 178 | - | |||||||
| 179 | void SHA512_Transform (SHA512_CTX *c, const unsigned char *data) | - | ||||||
| 180 | { | - | ||||||
| 181 | - | |||||||
| 182 | - | |||||||
| 183 | - | |||||||
| 184 | - | |||||||
| 185 | - | |||||||
| 186 | sha512_block_data_order (c,data,1); | - | ||||||
| 187 | } executed 32 times by 1 test: end of blockExecuted by:
| 32 | ||||||
| 188 | - | |||||||
| 189 | unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md) | - | ||||||
| 190 | { | - | ||||||
| 191 | SHA512_CTX c; | - | ||||||
| 192 | static unsigned char m[48]; | - | ||||||
| 193 | - | |||||||
| 194 | if (md ==
| 0 | ||||||
| 195 | ((void *)0)
| 0 | ||||||
| 196 | ) md=m; never executed: md=m; | 0 | ||||||
| 197 | SHA384_Init(&c); | - | ||||||
| 198 | SHA512_Update(&c,d,n); | - | ||||||
| 199 | SHA512_Final(md,&c); | - | ||||||
| 200 | explicit_bzero(&c,sizeof(c)); | - | ||||||
| 201 | return never executed: (md);return(md);never executed: return(md); | 0 | ||||||
| 202 | } | - | ||||||
| 203 | - | |||||||
| 204 | unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md) | - | ||||||
| 205 | { | - | ||||||
| 206 | SHA512_CTX c; | - | ||||||
| 207 | static unsigned char m[64]; | - | ||||||
| 208 | - | |||||||
| 209 | if (md ==
| 0 | ||||||
| 210 | ((void *)0)
| 0 | ||||||
| 211 | ) md=m; never executed: md=m; | 0 | ||||||
| 212 | SHA512_Init(&c); | - | ||||||
| 213 | SHA512_Update(&c,d,n); | - | ||||||
| 214 | SHA512_Final(md,&c); | - | ||||||
| 215 | explicit_bzero(&c,sizeof(c)); | - | ||||||
| 216 | return never executed: (md);return(md);never executed: return(md); | 0 | ||||||
| 217 | } | - | ||||||
| Switch to Source code | Preprocessed file |