diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-01-23 20:17:42 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-01-23 20:17:42 +0000 |
commit | 78a92f35ea2593b35b1aa1312aeab4999a0811cf (patch) | |
tree | 302edf3b1c571fa11a169ae3d74eb7f2d30a523b /third_party/srtp/crypto/include/aes_icm.h | |
parent | 19ab0113d44a93f576eabe71bd966603fc4c81ef (diff) |
Ticket #61: imported libsrtp into third_party directory (backported from srtp branch)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1730 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'third_party/srtp/crypto/include/aes_icm.h')
-rw-r--r-- | third_party/srtp/crypto/include/aes_icm.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/third_party/srtp/crypto/include/aes_icm.h b/third_party/srtp/crypto/include/aes_icm.h new file mode 100644 index 00000000..17a1ddba --- /dev/null +++ b/third_party/srtp/crypto/include/aes_icm.h @@ -0,0 +1,56 @@ +/* + * aes_icm.h + * + * Header for AES Integer Counter Mode. + * + * David A. McGrew + * Cisco Systems, Inc. + * + */ + +#ifndef AES_ICM_H +#define AES_ICM_H + +#include "aes.h" +#include "cipher.h" + +typedef struct { + v128_t counter; /* holds the counter value */ + v128_t offset; /* initial offset value */ + v128_t keystream_buffer; /* buffers bytes of keystream */ + aes_expanded_key_t expanded_key; /* the cipher key */ + int bytes_in_buffer; /* number of unused bytes in buffer */ +} aes_icm_ctx_t; + + +err_status_t +aes_icm_context_init(aes_icm_ctx_t *c, + const unsigned char *key); + +err_status_t +aes_icm_set_iv(aes_icm_ctx_t *c, void *iv); + +err_status_t +aes_icm_encrypt(aes_icm_ctx_t *c, + unsigned char *buf, unsigned int *bytes_to_encr); + +err_status_t +aes_icm_output(aes_icm_ctx_t *c, + unsigned char *buf, int bytes_to_output); + +err_status_t +aes_icm_dealloc(cipher_t *c); + +err_status_t +aes_icm_encrypt_ismacryp(aes_icm_ctx_t *c, + unsigned char *buf, + unsigned int *enc_len, + int forIsmacryp); + +err_status_t +aes_icm_alloc_ismacryp(cipher_t **c, + int key_len, + int forIsmacryp); + +#endif /* AES_ICM_H */ + |