2323 \sa wc_InitCmac_ex
2424 \sa wc_CmacUpdate
2525 \sa wc_CmacFinal
26+ \sa wc_CmacFinalNoFree
27+ \sa wc_CmacFree
2628*/
2729int wc_InitCmac (Cmac * cmac ,
2830 const byte * key 、word32 keySz 、
@@ -55,6 +57,8 @@ int wc_InitCmac(Cmac* cmac,
5557 \sa wc_InitCmac_ex
5658 \sa wc_CmacUpdate
5759 \sa wc_CmacFinal
60+ \sa wc_CmacFinalNoFree
61+ \sa wc_CmacFree
5862*/
5963int wc_InitCmac_ex (Cmac * cmac ,
6064 const byte * key , word32 keySz ,
@@ -75,17 +79,40 @@ int wc_InitCmac_ex(Cmac* cmac,
7579
7680 \sa wc_InitCmac
7781 \sa wc_CmacFinal
82+ \sa wc_CmacFinalNoFree
83+ \sa wc_CmacFree
7884*/
7985int wc_CmacUpdate (Cmac * cmac ,
8086 const byte * in , word32 inSz );
8187
88+ /*!
89+ \ingroup CMAC
90+ \brief 暗号ベースのメッセージ認証コードの最終結果を生成します。ただし、使用したコンテキストのクリーンアップは行いません。
91+ \return 成功したら0を返します
92+ \param cmac Cmac構造体へのポインタ
93+ \param out 結果を格納するバッファへのポインタ
94+ \param outSz 結果出力先バッファのサイズ
95+
96+ _Example_
97+ \code
98+ ret = wc_CmacFinalNoFree(cmac, out, &outSz);
99+ (void)wc_CmacFree(cmac);
100+ \endcode
101+
102+ \sa wc_InitCmac
103+ \sa wc_CmacFinal
104+ \sa wc_CmacFinalNoFree
105+ \sa wc_CmacFree
106+ */
107+ int wc_CmacFinalNoFree (Cmac * cmac ,
108+ byte * out , word32 * outSz );
82109/*!
83110 \ingroup CMAC
84- \brief 暗号ベースのメッセージ認証コードを使用して最終結果を生成します
111+ \brief 暗号ベースのメッセージ認証コードを使用して最終結果を生成します。加えて、内部でwc_CmacFreeを呼び出してコンテキスとをクリーンアップします。
85112 \return 成功したら0を返します
86113 \param cmac Cmac構造体へのポインタ
87- \param out 結果の出力先バッファへのポインタ
88- \param outSz 結果の出力先バッファサイズ (in/out)
114+ \param out 結果を格納するバッファへのポインタ
115+ \param outSz 結果出力先バッファのサイズ
89116
90117 _例_
91118 \code
@@ -94,10 +121,31 @@ int wc_CmacUpdate(Cmac* cmac,
94121
95122 \sa wc_InitCmac
96123 \sa wc_CmacFinal
124+ \sa wc_CmacFinalNoFree
125+ \sa wc_CmacFree
97126*/
98127int wc_CmacFinal (Cmac * cmac ,
99128 byte * out , word32 * outSz );
100129
130+ /*!
131+ \ingroup CMAC
132+ \brief CMAC処理中にCmac構造体内に確保されたオブジェクトを開放します。
133+ \return 成功したら0を返します
134+ \param cmac Cmac構造体へのポインタ
135+
136+ _Example_
137+ \code
138+ ret = wc_CmacFinalNoFree(cmac, out, &outSz);
139+ (void)wc_CmacFree(cmac);
140+ \endcode
141+
142+ \sa wc_InitCmac
143+ \sa wc_CmacFinalNoFree
144+ \sa wc_CmacFinal
145+ \sa wc_CmacFree
146+ */
147+ int wc_CmacFree (Cmac * cmac );
148+
101149/*!
102150 \ingroup CMAC
103151 \brief CMACを生成するためのシングルショット関数
0 commit comments