#include <string.h>
#include "config.h"
#include "attributes.h"
#include "bswap.h"
#include "error.h"
#include "sha512.h"
#include "intreadwrite.h"
#include "mem.h"
Go to the source code of this file.
|  | 
| #define | ror(value,  bits)   (((value) >> (bits)) | ((value) << (64 - (bits)))) | 
|  | 
| #define | Ch(x,  y,  z)   (((x) & ((y) ^ (z))) ^ (z)) | 
|  | 
| #define | Maj(z,  y,  x)   ((((x) | (y)) & (z)) | ((x) & (y))) | 
|  | 
| #define | Sigma0_512(x)   (ror((x), 28) ^ ror((x), 34) ^ ror((x), 39)) | 
|  | 
| #define | Sigma1_512(x)   (ror((x), 14) ^ ror((x), 18) ^ ror((x), 41)) | 
|  | 
| #define | sigma0_512(x)   (ror((x),  1) ^ ror((x),  8) ^ ((x) >> 7)) | 
|  | 
| #define | sigma1_512(x)   (ror((x), 19) ^ ror((x), 61) ^ ((x) >> 6)) | 
|  | 
| #define | blk0(i)   (block[i] = AV_RB64(buffer + 8 * (i))) | 
|  | 
| #define | blk(i) | 
|  | 
| #define | ROUND512(a,  b,  c,  d,  e,  f,  g,  h) | 
|  | 
| #define | ROUND512_0_TO_15(a,  b,  c,  d,  e,  f,  g,  h) | 
|  | 
| #define | ROUND512_16_TO_80(a,  b,  c,  d,  e,  f,  g,  h) | 
|  | 
| #define | R512_0 | 
|  | 
| #define | R512_16 | 
|  | 
◆ ror
◆ Ch
      
        
          | #define Ch | ( |  | x, | 
        
          |  |  |  | y, | 
        
          |  |  |  | z | 
        
          |  | ) |  | (((x) & ((y) ^ (z))) ^ (z)) | 
      
 
 
◆ Maj
      
        
          | #define Maj | ( |  | z, | 
        
          |  |  |  | y, | 
        
          |  |  |  | x | 
        
          |  | ) |  | ((((x) | (y)) & (z)) | ((x) & (y))) | 
      
 
 
◆ Sigma0_512
      
        
          | #define Sigma0_512 | ( |  | x | ) | (ror((x), 28) ^ ror((x), 34) ^ ror((x), 39)) | 
      
 
 
◆ Sigma1_512
      
        
          | #define Sigma1_512 | ( |  | x | ) | (ror((x), 14) ^ ror((x), 18) ^ ror((x), 41)) | 
      
 
 
◆ sigma0_512
      
        
          | #define sigma0_512 | ( |  | x | ) | (ror((x),  1) ^ ror((x),  8) ^ ((x) >> 7)) | 
      
 
 
◆ sigma1_512
      
        
          | #define sigma1_512 | ( |  | x | ) | (ror((x), 19) ^ ror((x), 61) ^ ((x) >> 6)) | 
      
 
 
◆ blk0
◆ blk
◆ ROUND512
      
        
          | #define ROUND512 | ( |  | a, | 
        
          |  |  |  | b, | 
        
          |  |  |  | c, | 
        
          |  |  |  | d, | 
        
          |  |  |  | e, | 
        
          |  |  |  | f, | 
        
          |  |  |  | g, | 
        
          |  |  |  | h | 
        
          |  | ) |  |  | 
      
 
 
◆ ROUND512_0_TO_15
      
        
          | #define ROUND512_0_TO_15 | ( |  | a, | 
        
          |  |  |  | b, | 
        
          |  |  |  | c, | 
        
          |  |  |  | d, | 
        
          |  |  |  | e, | 
        
          |  |  |  | f, | 
        
          |  |  |  | g, | 
        
          |  |  |  | h | 
        
          |  | ) |  |  | 
      
 
 
◆ ROUND512_16_TO_80
      
        
          | #define ROUND512_16_TO_80 | ( |  | a, | 
        
          |  |  |  | b, | 
        
          |  |  |  | c, | 
        
          |  |  |  | d, | 
        
          |  |  |  | e, | 
        
          |  |  |  | f, | 
        
          |  |  |  | g, | 
        
          |  |  |  | h | 
        
          |  | ) |  |  | 
      
 
 
◆ R512_0
Value:
    ROUND512_0_TO_15(
h, 
a, 
b, 
c, 
d, e, 
f, 
g); \
    ROUND512_0_TO_15(
g, 
h, 
a, 
b, 
c, 
d, e, 
f); \
    ROUND512_0_TO_15(
f, 
g, 
h, 
a, 
b, 
c, 
d, e); \
    ROUND512_0_TO_15(e, 
f, 
g, 
h, 
a, 
b, 
c, 
d); \
    ROUND512_0_TO_15(
d, e, 
f, 
g, 
h, 
a, 
b, 
c); \
    ROUND512_0_TO_15(
c, 
d, e, 
f, 
g, 
h, 
a, 
b); \
    ROUND512_0_TO_15(
b, 
c, 
d, e, 
f, 
g, 
h, 
a)
 
 
 
◆ R512_16
Value:
    ROUND512_16_TO_80(
h, 
a, 
b, 
c, 
d, e, 
f, 
g); \
    ROUND512_16_TO_80(
g, 
h, 
a, 
b, 
c, 
d, e, 
f); \
    ROUND512_16_TO_80(
f, 
g, 
h, 
a, 
b, 
c, 
d, e); \
    ROUND512_16_TO_80(e, 
f, 
g, 
h, 
a, 
b, 
c, 
d); \
    ROUND512_16_TO_80(
d, e, 
f, 
g, 
h, 
a, 
b, 
c); \
    ROUND512_16_TO_80(
c, 
d, e, 
f, 
g, 
h, 
a, 
b); \
    ROUND512_16_TO_80(
b, 
c, 
d, e, 
f, 
g, 
h, 
a)
 
 
 
◆ sha512_transform()
  
  | 
        
          | static void sha512_transform | ( | uint64_t * | state, |  
          |  |  | const uint8_t | buffer[128] |  
          |  | ) |  |  |  | static | 
 
 
◆ K512