<html> <head> <title>embedded IPsec - IPsec library</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="doxygen.css" type="text/css"> </head> <body bgcolor="#FFFFFF" text="#000000"> <table width="98%" border="0" align="center"> <tr> <td> <h2 align="left"><img src="logo_small.gif" alt="embedded IPsec"> source code documentation </h2> <hr> <!-- Generated by Doxygen 1.3.4 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>sha1.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> Header of US Secure Hash Algorithm 1 (SHA1). <p> <dl compact><dt><b>Author:</b></dt><dd>Christian Scheurer <<a href="http://www.christianscheurer.ch">http://www.christianscheurer.ch</a>></dd></dl> This document is part of <em>embedded IPsec<br> Copyright (c) 2003 Niklaus Schild and Christian Scheurer, HTI Biel/Bienne<br> All rights reserved.<br> This file contains code from the OpenSSL Project<br> portions Copyright (c) 1998-2003 OpenSSL (www.openssl.org)</em><hr> <p> Definition in file <a class="el" href="sha1_8h-source.html">sha1.h</a>. <p> <code>#include "<a class="el" href="types_8h-source.html">ipsec/types.h</a>"</code><br> <p> <a href="sha1_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structSHAstate__st.html">SHAstate_st</a></td></tr> <tr><td colspan=2><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a0">SHA_LONG</a> <a class="el" href="types_8h.html#a4">__u32</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a1">SHA_LBLOCK</a> 16</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a2">SHA_DIGEST_LENGTH</a> 20</td></tr> <tr><td colspan=2><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structSHAstate__st.html">SHAstate_st</a> </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a3">SHA_CTX</a></td></tr> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a4">SHA1_Init</a> (<a class="el" href="structSHAstate__st.html">SHA_CTX</a> *c)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a5">SHA1_Update</a> (<a class="el" href="structSHAstate__st.html">SHA_CTX</a> *c, const void *data, unsigned long len)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a6">SHA1_Final</a> (unsigned char *md, <a class="el" href="structSHAstate__st.html">SHA_CTX</a> *c)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>unsigned char * </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a7">SHA1</a> (const unsigned char *d, unsigned long n, unsigned char *md)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a8">SHA1_Transform</a> (<a class="el" href="structSHAstate__st.html">SHA_CTX</a> *c, const unsigned char *data)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="sha1_8h.html#a9">hmac_sha1</a> (unsigned char *, int, unsigned char *, int, unsigned char *)</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="a2" doxytag="sha1.h::SHA_DIGEST_LENGTH" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SHA_DIGEST_LENGTH 20 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8h-source.html#l00057">57</a> of file <a class="el" href="sha1_8h-source.html">sha1.h</a>. </td> </tr> </table> <a class="anchor" name="a1" doxytag="sha1.h::SHA_LBLOCK" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SHA_LBLOCK 16 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8h-source.html#l00056">56</a> of file <a class="el" href="sha1_8h-source.html">sha1.h</a>. </td> </tr> </table> <a class="anchor" name="a0" doxytag="sha1.h::SHA_LONG" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SHA_LONG <a class="el" href="types_8h.html#a4">__u32</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8h-source.html#l00054">54</a> of file <a class="el" href="sha1_8h-source.html">sha1.h</a>. </td> </tr> </table> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="a3" doxytag="sha1.h::SHA_CTX" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structSHAstate__st.html">SHAstate_st</a> <a class="el" href="structSHAstate__st.html">SHA_CTX</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="a9" doxytag="sha1.h::hmac_sha1" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void hmac_sha1 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">unsigned char * </td> <td class="mdname" nowrap>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned char * </td> <td class="mdname" nowrap>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned char * </td> <td class="mdname" nowrap></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00620">620</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> <a class="anchor" name="a7" doxytag="sha1.h::SHA1" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> unsigned char* SHA1 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const unsigned char * </td> <td class="mdname" nowrap> <em>d</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned long </td> <td class="mdname" nowrap> <em>n</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned char * </td> <td class="mdname" nowrap> <em>md</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00059">59</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> <a class="anchor" name="a6" doxytag="sha1.h::SHA1_Final" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void SHA1_Final </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">unsigned char * </td> <td class="mdname" nowrap> <em>md</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="structSHAstate__st.html">SHA_CTX</a> * </td> <td class="mdname" nowrap> <em>c</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00251">251</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> <a class="anchor" name="a4" doxytag="sha1.h::SHA1_Init" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void SHA1_Init </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structSHAstate__st.html">SHA_CTX</a> * </td> <td class="mdname1" valign="top" nowrap> <em>c</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00307">307</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> <a class="anchor" name="a8" doxytag="sha1.h::SHA1_Transform" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void SHA1_Transform </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structSHAstate__st.html">SHA_CTX</a> * </td> <td class="mdname" nowrap> <em>c</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const unsigned char * </td> <td class="mdname" nowrap> <em>data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00245">245</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> <a class="anchor" name="a5" doxytag="sha1.h::SHA1_Update" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void SHA1_Update </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structSHAstate__st.html">SHA_CTX</a> * </td> <td class="mdname" nowrap> <em>c</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>data</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned long </td> <td class="mdname" nowrap> <em>len</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="sha1_8c-source.html#l00158">158</a> of file <a class="el" href="sha1_8c-source.html">sha1.c</a>. </td> </tr> </table> </td> </tr> </table> <hr> <div align="center">Copyright 2003 by Christian Scheurer and Niklaus Schild</div> </html>