summaryrefslogtreecommitdiff
path: root/third_party/srtp/crypto/include/aes_icm.h
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-01-23 20:17:42 +0000
committerBenny Prijono <bennylp@teluu.com>2008-01-23 20:17:42 +0000
commit78a92f35ea2593b35b1aa1312aeab4999a0811cf (patch)
tree302edf3b1c571fa11a169ae3d74eb7f2d30a523b /third_party/srtp/crypto/include/aes_icm.h
parent19ab0113d44a93f576eabe71bd966603fc4c81ef (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.h56
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 */
+