1/* LibTomCrypt, modular cryptographic library -- Tom St Denis
2 *
3 * LibTomCrypt is a library that provides various cryptographic
4 * algorithms in a highly modular and flexible manner.
5 *
6 * The library is free for all purposes without any express
7 * guarantee it works.
8 *
9 * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.com
10 */
11
12/**
13   @file ocb_done_encrypt.c
14   OCB implementation, terminate encryption, by Tom St Denis
15*/
16#include "tomcrypt.h"
17
18#ifdef OCB_MODE
19
20/**
21   Terminate an encryption OCB state
22   @param ocb       The OCB state
23   @param pt        Remaining plaintext (if any)
24   @param ptlen     The length of the plaintext (octets)
25   @param ct        [out] The ciphertext (if any)
26   @param tag       [out] The tag for the OCB stream
27   @param taglen    [in/out] The max size and resulting size of the tag
28   @return CRYPT_OK if successful
29*/
30int ocb_done_encrypt(ocb_state *ocb, const unsigned char *pt, unsigned long ptlen,
31                     unsigned char *ct, unsigned char *tag, unsigned long *taglen)
32{
33   LTC_ARGCHK(ocb    != NULL);
34   LTC_ARGCHK(pt     != NULL);
35   LTC_ARGCHK(ct     != NULL);
36   LTC_ARGCHK(tag    != NULL);
37   LTC_ARGCHK(taglen != NULL);
38   return s_ocb_done(ocb, pt, ptlen, ct, tag, taglen, 0);
39}
40
41#endif
42
43
44/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_done_encrypt.c,v $ */
45/* $Revision: 1.4 $ */
46/* $Date: 2006/03/31 14:15:35 $ */
47