-
Notifications
You must be signed in to change notification settings - Fork 10
/
quickref.htm
112 lines (107 loc) · 3.48 KB
/
quickref.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<html>
<head>
<meta http-equiv="Content-Language" content="hr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>New Page 1</title>
</head>
<body text="#FFFFFF" bgcolor="#336699">
<p><font face="monospace"><b><font size="4">Hash functions - TYPE 1<br>
-----------------------</font></b><br>
</font></p>
<hr>
<p><font face="monospace"><b>xxxInit</b><br>
<br>
xxxInit is the first function to call, it initializes internal buffer<br>
and sets digest to default value. it returns ponter to digest buffer which<br>
can be altered (e.g. setting digest after program restart). it takes no <br>
parameters.<br>
<br>
<b>BYTE * __stdcall xxxInit ();</b><br>
<br>
Parameters<br>
none<br>
Return Values<br>
pointer to digest bytes<br>
</font></p>
<hr>
<p><font face="monospace"><b>xxxUpdate</b><br>
<br>
xxxUpdate is function that updates digest from data hash.<br>
it takes two parameters, first is pointer to data, and second is<br>
data size. returns nothing.<br>
<br>
<b>__stdcall xxxUpdate ( BYTE *lpBuffer,DWORD dwBufLen );<br>
</b><br>
Parameters<br>
lpBuffer - pointer to data<br>
dwBufLen - size of data<br>
Return Values<br>
none<br>
<br>
</font></p>
<hr>
<p><font face="monospace"><br>
<b>xxxFinal</b><br>
<br>
xxxFinal is function that gives the final digest<br>
it returns ponter to digest buffer which can be altered but must be copied
before<br>
another hashing session (of the same Hash function set).<br>
<br>
<b>BYTE * __stdcall xxxFinal ();</b><br>
<br>
Parameters<br>
none<br>
Return Values<br>
pointer to digest bytes<br>
<br>
<br>
<br>
<b><font size="4">Hash functions - TYPE 2 (Haval)<br>
-------------------------------</font></b><br>
<br>
HavalInit takes two parameters because of variable digest and passes<br>
<br>
<b>BYTE * __stdcall HavalInit ( DWORD DigestSizeBits,DWORD Passes );<br>
</b><br>
Parameters<br>
DigestSizeBits - digest size in bits : 128,160,192,224 or 256<br>
Passes - number of passes : 3,4 or 5<br>
Return Values<br>
pointer to digest bytes<br>
</font></p>
<hr>
<p><font face="monospace"><br>
<b><font size="4">Crypto functions<br>
----------------</font></b><br>
<br>
<u>Initialization - Key setup functions</u></font></p>
<p><font face="monospace">- take either only pointer to key (example: RC5)<br>
<br>
<b>__stdcall RC5Init ( BYTE *pKey );<br>
<br>
</b></font><font face="Courier New">Parameters<br>
pKey - pointer to key</font></p>
<hr>
<p><font face="monospace">- or key and variable key len (example:RC6)</font></p>
<p><b><font face="monospace">__stdcall RC6Init ( BYTE *pKey,DWORD dwKeyLen );<br>
<br>
</font></b><font face="Courier New">Parameters<br>
pKey - pointer to key<br>
dwKeyLen - size of key in bytes<br>
</font></p>
<hr>
<p><u><font size="4" face="Courier New">Encrypt,</font><font size="4" face="monospace">Decrypt
functions</font></u></p>
<p><font face="Courier New"><b>__stdcall xxxEncrypt ( BYTE *pBlockIn,BYTE
*pBlockOut );<br>
__stdcall xxxDecrypt ( BYTE *pBlockIn,BYTE *pBlockOut );</b><br>
<br>
Parameters<br>
pBlockIn - pointer to memory block<br>
pBlockOut - pointer to memory block</font></p>
<p> </p>
</body>
</html>