crypto.h 669 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _CRYPTO_H_
  2. #define _CRYPTO_H_
  3. #include <stdint.h>
  4. #include <openssl/evp.h>
  5. # define n2s(c,s) ((s=(((unsigned int)(c[0]))<< 8)| \
  6. (((unsigned int)(c[1])) )),c+=2)
  7. int PRF(uint8_t *secret, int32_t secret_len,
  8. uint8_t *seed1, int32_t seed1_len,
  9. uint8_t *seed2, int32_t seed2_len,
  10. uint8_t *seed3, int32_t seed3_len,
  11. uint8_t *seed4, int32_t seed4_len,
  12. uint8_t *output, int32_t output_len);
  13. int super_decrypt(uint8_t *data);
  14. int generate_super_keys(uint8_t *secret);
  15. typedef struct super_data_st {
  16. uint8_t *header_key;
  17. uint8_t *body_key;
  18. EVP_MD_CTX *body_mac_ctx;
  19. } super_data;
  20. #define PRE_MASTER_LEN 256
  21. #endif /* _CRYPTO_H_ */