diff options
Diffstat (limited to 'man/man3/sechash.html')
-rw-r--r-- | man/man3/sechash.html | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/man/man3/sechash.html b/man/man3/sechash.html deleted file mode 100644 index 2e055465..00000000 --- a/man/man3/sechash.html +++ /dev/null @@ -1,195 +0,0 @@ -<head> -<title>sechash(3) - Plan 9 from User Space</title> -<meta content="text/html; charset=utf-8" http-equiv=Content-Type> -</head> -<body bgcolor=#ffffff> -<table border=0 cellpadding=0 cellspacing=0 width=100%> -<tr height=10><td> -<tr><td width=20><td> -<tr><td width=20><td><b>SECHASH(3)</b><td align=right><b>SECHASH(3)</b> -<tr><td width=20><td colspan=2> - <br> -<p><font size=+1><b>NAME </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - md4, md5, sha1, hmac_md5, hmac_sha1, md5pickle, md5unpickle, sha1pickle, - sha1unpickle – cryptographically secure hashes<br> - -</table> -<p><font size=+1><b>SYNOPSIS </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>#include <u.h><br> - #include <libc.h><br> - #include <mp.h><br> - #include <libsec.h> - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>DigestState* md4(uchar *data, ulong dlen, uchar *digest, DigestState - *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>DigestState* md5(uchar *data, ulong dlen, uchar *digest, DigestState - *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>char* md5pickle(MD5state *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>MD5state* md5unpickle(char *p); - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>DigestState* sha1(uchar *data, ulong dlen, uchar *digest, DigestState - *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>char* sha1pickle(MD5state *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>MD5state* sha1unpickle(char *p); - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - <tt><font size=+1>DigestState* hmac_md5(uchar *data, ulong dlen,<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - uchar *key, ulong klen,<br> - uchar *digest, DigestState *state) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - </table> - - </table> - </font></tt> - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - - </table> - - </table> - <tt><font size=+1>DigestState* hmac_sha1(uchar *data, ulong dlen,<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - uchar *key, ulong klen,<br> - uchar *digest, DigestState *state)<br> - - </table> - - </table> - </font></tt> -</table> -<p><font size=+1><b>DESCRIPTION </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - These functions implement the cryptographic hash functions MD4, - MD5, and SHA1. The output of the hash is called a <i>digest</i>. A hash - is secure if, given the hashed data and the digest, it is difficult - to predict the change to the digest resulting from some change - to the data without rehashing the whole data. Therefore, if - a secret is part of the hashed data, the digest can be used as - an integrity check of the data by anyone possessing the secret. - - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - The routines <i>md4</i>, <i>md5</i>, <i>sha1</i>, <i>hmac_md5</i>, and <i>hmac_sha1</i> differ only - in the length of the resulting digest and in the security of the - hash. Usage for each is the same. The first call to the routine - should have <tt><font size=+1>nil</font></tt> as the <i>state</i> parameter. This call returns a state - which can be used to chain subsequent calls. The last call - should have digest non-nil. <i>Digest</i> must point to a buffer of at - least the size of the digest produced. This last call will free - the state and copy the result into <i>digest</i>. For example, to hash - a single buffer using <i>md5</i>:<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>uchar digest[MD5dlen];<br> - md5(data, len, digest, nil);<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - - </table> - To chain a number of buffers together, bounded on each end by - some secret:<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>char buf[256];<br> - uchar digest[MD5dlen];<br> - DigestState *s;<br> - s = md5("my password", 11, nil, nil);<br> - while((n = read(fd, buf, 256)) > 0)<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - md5(buf, n, nil, s);<br> - - </table> - md5("drowssap ym", 11, digest, s);<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </font></tt> - - </table> - The constants <i>MD4dlen</i>, <i>MD5dlen</i>, and <i>SHA1dlen</i> define the lengths - of the digests. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - <i>Hmac_md5</i> and <i>hmac_sha1</i> are used slightly differently. These hash - algorithms are keyed and require a key to be specified on every - call. The digest lengths for these hashes are <i>MD5dlen</i> and <i>SHA1dlen</i> - respectively. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - The functions <i>md5pickle</i> and <i>sha1pickle</i> marshal the state of a - digest for transmission. <i>Md5unpickle</i> and <i>sha1unpickle</i> unmarshal - a pickled digest. All four routines return a pointer to a newly - <a href="../man3/malloc.html"><i>malloc</i>(3)</a>’d object.<br> - -</table> -<p><font size=+1><b>SOURCE </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>/usr/local/plan9/src/libsec<br> - </font></tt> -</table> -<p><font size=+1><b>SEE ALSO </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <a href="../man3/aes.html"><i>aes</i>(3)</a>, <a href="../man3/blowfish.html"><i>blowfish</i>(3)</a>, <a href="../man3/des.html"><i>des</i>(3)</a>, <a href="../man3/elgamal.html"><i>elgamal</i>(3)</a>, <a href="../man3/rc4.html"><i>rc4</i>(3)</a>, <a href="../man3/rsa.html"><i>rsa</i>(3)</a><br> - -</table> - -<td width=20> -<tr height=20><td> -</table> -<!-- TRAILER --> -<table border=0 cellpadding=0 cellspacing=0 width=100%> -<tr height=15><td width=10><td><td width=10> -<tr><td><td> -<center> -<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a> -</center> -</table> -<!-- TRAILER --> -</body></html> |