xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rand.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>RAND crypto functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">RAND crypto functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:ga700cd34f79c820f427f95c243befe085"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed</a> (const void *indata, size_t size)</td></tr>
33<tr class="separator:ga700cd34f79c820f427f95c243befe085"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:ga957a044ad71e3c915ff7acc564be84a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga957a044ad71e3c915ff7acc564be84a4">RAND_bytes</a> (void *outdata, size_t size)</td></tr>
35<tr class="separator:ga957a044ad71e3c915ff7acc564be84a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:gad797e371751dedbcce4e975c3cad1947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gad797e371751dedbcce4e975c3cad1947">RAND_cleanup</a> (void)</td></tr>
37<tr class="separator:gad797e371751dedbcce4e975c3cad1947"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:ga08927181178dc6329264982f2fb1b39b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga08927181178dc6329264982f2fb1b39b">RAND_add</a> (const void *indata, size_t size, double entropi)</td></tr>
39<tr class="separator:ga08927181178dc6329264982f2fb1b39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga93d10a9ba8647408a3b5306c2cd423f2">RAND_pseudo_bytes</a> (void *outdata, size_t size)</td></tr>
41<tr class="separator:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga38d21605e6e777451769a8ee7087933b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga38d21605e6e777451769a8ee7087933b">RAND_status</a> (void)</td></tr>
43<tr class="separator:ga38d21605e6e777451769a8ee7087933b"><td class="memSeparator" colspan="2">&#160;</td></tr>
44<tr class="memitem:ga292ae50ca725d0c529dc077467b40254"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga292ae50ca725d0c529dc077467b40254">RAND_set_rand_method</a> (const RAND_METHOD *meth)</td></tr>
45<tr class="separator:ga292ae50ca725d0c529dc077467b40254"><td class="memSeparator" colspan="2">&#160;</td></tr>
46<tr class="memitem:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memItemLeft" align="right" valign="top">const RAND_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga8a8cac7a3262c4527e08f57f07c4c586">RAND_get_rand_method</a> (void)</td></tr>
47<tr class="separator:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memSeparator" colspan="2">&#160;</td></tr>
48<tr class="memitem:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga6a4f2c2cf723ef63522d4b33c79d5f0f">RAND_set_rand_engine</a> (ENGINE *engine)</td></tr>
49<tr class="separator:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
50<tr class="memitem:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file</a> (const char *filename, size_t size)</td></tr>
51<tr class="separator:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
52<tr class="memitem:gab9638d698e0a8ab94a31322693588eba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file</a> (const char *filename)</td></tr>
53<tr class="separator:gab9638d698e0a8ab94a31322693588eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
54<tr class="memitem:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga77b2d2555388b5d75a4bab3843fc8f02">RAND_file_name</a> (char *filename, size_t size)</td></tr>
55<tr class="separator:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
56</table>
57<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
58<p>See the <a class="el" href="page_rand.html">RAND - random number</a> for description and examples. </p>
59<h2 class="groupheader">Function Documentation</h2>
60<a id="ga08927181178dc6329264982f2fb1b39b"></a>
61<h2 class="memtitle"><span class="permalink"><a href="#ga08927181178dc6329264982f2fb1b39b">&#9670;&nbsp;</a></span>RAND_add()</h2>
62
63<div class="memitem">
64<div class="memproto">
65      <table class="memname">
66        <tr>
67          <td class="memname">void RAND_add </td>
68          <td>(</td>
69          <td class="paramtype">const void *&#160;</td>
70          <td class="paramname"><em>indata</em>, </td>
71        </tr>
72        <tr>
73          <td class="paramkey"></td>
74          <td></td>
75          <td class="paramtype">size_t&#160;</td>
76          <td class="paramname"><em>size</em>, </td>
77        </tr>
78        <tr>
79          <td class="paramkey"></td>
80          <td></td>
81          <td class="paramtype">double&#160;</td>
82          <td class="paramname"><em>entropi</em>&#160;</td>
83        </tr>
84        <tr>
85          <td></td>
86          <td>)</td>
87          <td></td><td></td>
88        </tr>
89      </table>
90</div><div class="memdoc">
91<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
92<dl class="params"><dt>Parameters</dt><dd>
93  <table class="params">
94    <tr><td class="paramname">indata</td><td>the input data. </td></tr>
95    <tr><td class="paramname">size</td><td>size of in data. </td></tr>
96    <tr><td class="paramname">entropi</td><td>entropi in data. </td></tr>
97  </table>
98  </dd>
99</dl>
100
101</div>
102</div>
103<a id="ga957a044ad71e3c915ff7acc564be84a4"></a>
104<h2 class="memtitle"><span class="permalink"><a href="#ga957a044ad71e3c915ff7acc564be84a4">&#9670;&nbsp;</a></span>RAND_bytes()</h2>
105
106<div class="memitem">
107<div class="memproto">
108      <table class="memname">
109        <tr>
110          <td class="memname">int RAND_bytes </td>
111          <td>(</td>
112          <td class="paramtype">void *&#160;</td>
113          <td class="paramname"><em>outdata</em>, </td>
114        </tr>
115        <tr>
116          <td class="paramkey"></td>
117          <td></td>
118          <td class="paramtype">size_t&#160;</td>
119          <td class="paramname"><em>size</em>&#160;</td>
120        </tr>
121        <tr>
122          <td></td>
123          <td>)</td>
124          <td></td><td></td>
125        </tr>
126      </table>
127</div><div class="memdoc">
128<p>Get a random block from the random generator, can be used for key material.</p>
129<dl class="params"><dt>Parameters</dt><dd>
130  <table class="params">
131    <tr><td class="paramname">outdata</td><td>random data </td></tr>
132    <tr><td class="paramname">size</td><td>length random data</td></tr>
133  </table>
134  </dd>
135</dl>
136<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
137
138</div>
139</div>
140<a id="gad797e371751dedbcce4e975c3cad1947"></a>
141<h2 class="memtitle"><span class="permalink"><a href="#gad797e371751dedbcce4e975c3cad1947">&#9670;&nbsp;</a></span>RAND_cleanup()</h2>
142
143<div class="memitem">
144<div class="memproto">
145      <table class="memname">
146        <tr>
147          <td class="memname">void RAND_cleanup </td>
148          <td>(</td>
149          <td class="paramtype">void&#160;</td>
150          <td class="paramname"></td><td>)</td>
151          <td></td>
152        </tr>
153      </table>
154</div><div class="memdoc">
155<p>Reset and free memory used by the random generator. </p>
156
157</div>
158</div>
159<a id="ga77b2d2555388b5d75a4bab3843fc8f02"></a>
160<h2 class="memtitle"><span class="permalink"><a href="#ga77b2d2555388b5d75a4bab3843fc8f02">&#9670;&nbsp;</a></span>RAND_file_name()</h2>
161
162<div class="memitem">
163<div class="memproto">
164      <table class="memname">
165        <tr>
166          <td class="memname">const char* RAND_file_name </td>
167          <td>(</td>
168          <td class="paramtype">char *&#160;</td>
169          <td class="paramname"><em>filename</em>, </td>
170        </tr>
171        <tr>
172          <td class="paramkey"></td>
173          <td></td>
174          <td class="paramtype">size_t&#160;</td>
175          <td class="paramname"><em>size</em>&#160;</td>
176        </tr>
177        <tr>
178          <td></td>
179          <td>)</td>
180          <td></td><td></td>
181        </tr>
182      </table>
183</div><div class="memdoc">
184<p>Return the default random state filename for a user to use for <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>, and <a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file()</a>.</p>
185<dl class="params"><dt>Parameters</dt><dd>
186  <table class="params">
187    <tr><td class="paramname">filename</td><td>buffer to hold file name. </td></tr>
188    <tr><td class="paramname">size</td><td>size of buffer filename.</td></tr>
189  </table>
190  </dd>
191</dl>
192<dl class="section return"><dt>Returns</dt><dd>the buffer filename or NULL on failure. </dd></dl>
193
194</div>
195</div>
196<a id="ga8a8cac7a3262c4527e08f57f07c4c586"></a>
197<h2 class="memtitle"><span class="permalink"><a href="#ga8a8cac7a3262c4527e08f57f07c4c586">&#9670;&nbsp;</a></span>RAND_get_rand_method()</h2>
198
199<div class="memitem">
200<div class="memproto">
201      <table class="memname">
202        <tr>
203          <td class="memname">const RAND_METHOD* RAND_get_rand_method </td>
204          <td>(</td>
205          <td class="paramtype">void&#160;</td>
206          <td class="paramname"></td><td>)</td>
207          <td></td>
208        </tr>
209      </table>
210</div><div class="memdoc">
211<p>Get the default random method.</p>
212<dl class="section return"><dt>Returns</dt><dd>Returns a RAND_METHOD </dd></dl>
213
214</div>
215</div>
216<a id="ga9ca9fe0e799e41e8e745a88e3a60ccfd"></a>
217<h2 class="memtitle"><span class="permalink"><a href="#ga9ca9fe0e799e41e8e745a88e3a60ccfd">&#9670;&nbsp;</a></span>RAND_load_file()</h2>
218
219<div class="memitem">
220<div class="memproto">
221      <table class="memname">
222        <tr>
223          <td class="memname">int RAND_load_file </td>
224          <td>(</td>
225          <td class="paramtype">const char *&#160;</td>
226          <td class="paramname"><em>filename</em>, </td>
227        </tr>
228        <tr>
229          <td class="paramkey"></td>
230          <td></td>
231          <td class="paramtype">size_t&#160;</td>
232          <td class="paramname"><em>size</em>&#160;</td>
233        </tr>
234        <tr>
235          <td></td>
236          <td>)</td>
237          <td></td><td></td>
238        </tr>
239      </table>
240</div><div class="memdoc">
241<p>Load a a file and feed it into <a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed()</a>.</p>
242<dl class="params"><dt>Parameters</dt><dd>
243  <table class="params">
244    <tr><td class="paramname">filename</td><td>name of file to read. </td></tr>
245    <tr><td class="paramname">size</td><td>minimum size to read.</td></tr>
246  </table>
247  </dd>
248</dl>
249<dl class="section return"><dt>Returns</dt><dd>Returns the number of seed bytes loaded (0 indicates failure) </dd></dl>
250
251</div>
252</div>
253<a id="ga93d10a9ba8647408a3b5306c2cd423f2"></a>
254<h2 class="memtitle"><span class="permalink"><a href="#ga93d10a9ba8647408a3b5306c2cd423f2">&#9670;&nbsp;</a></span>RAND_pseudo_bytes()</h2>
255
256<div class="memitem">
257<div class="memproto">
258      <table class="memname">
259        <tr>
260          <td class="memname">int RAND_pseudo_bytes </td>
261          <td>(</td>
262          <td class="paramtype">void *&#160;</td>
263          <td class="paramname"><em>outdata</em>, </td>
264        </tr>
265        <tr>
266          <td class="paramkey"></td>
267          <td></td>
268          <td class="paramtype">size_t&#160;</td>
269          <td class="paramname"><em>size</em>&#160;</td>
270        </tr>
271        <tr>
272          <td></td>
273          <td>)</td>
274          <td></td><td></td>
275        </tr>
276      </table>
277</div><div class="memdoc">
278<p>Get a random block from the random generator, should NOT be used for key material.</p>
279<dl class="params"><dt>Parameters</dt><dd>
280  <table class="params">
281    <tr><td class="paramname">outdata</td><td>random data </td></tr>
282    <tr><td class="paramname">size</td><td>length random data</td></tr>
283  </table>
284  </dd>
285</dl>
286<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
287
288</div>
289</div>
290<a id="ga700cd34f79c820f427f95c243befe085"></a>
291<h2 class="memtitle"><span class="permalink"><a href="#ga700cd34f79c820f427f95c243befe085">&#9670;&nbsp;</a></span>RAND_seed()</h2>
292
293<div class="memitem">
294<div class="memproto">
295      <table class="memname">
296        <tr>
297          <td class="memname">void RAND_seed </td>
298          <td>(</td>
299          <td class="paramtype">const void *&#160;</td>
300          <td class="paramname"><em>indata</em>, </td>
301        </tr>
302        <tr>
303          <td class="paramkey"></td>
304          <td></td>
305          <td class="paramtype">size_t&#160;</td>
306          <td class="paramname"><em>size</em>&#160;</td>
307        </tr>
308        <tr>
309          <td></td>
310          <td>)</td>
311          <td></td><td></td>
312        </tr>
313      </table>
314</div><div class="memdoc">
315<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
316<dl class="params"><dt>Parameters</dt><dd>
317  <table class="params">
318    <tr><td class="paramname">indata</td><td>seed data </td></tr>
319    <tr><td class="paramname">size</td><td>length seed data </td></tr>
320  </table>
321  </dd>
322</dl>
323
324</div>
325</div>
326<a id="ga6a4f2c2cf723ef63522d4b33c79d5f0f"></a>
327<h2 class="memtitle"><span class="permalink"><a href="#ga6a4f2c2cf723ef63522d4b33c79d5f0f">&#9670;&nbsp;</a></span>RAND_set_rand_engine()</h2>
328
329<div class="memitem">
330<div class="memproto">
331      <table class="memname">
332        <tr>
333          <td class="memname">int RAND_set_rand_engine </td>
334          <td>(</td>
335          <td class="paramtype">ENGINE *&#160;</td>
336          <td class="paramname"><em>engine</em></td><td>)</td>
337          <td></td>
338        </tr>
339      </table>
340</div><div class="memdoc">
341<p>Set the default random method from engine.</p>
342<dl class="params"><dt>Parameters</dt><dd>
343  <table class="params">
344    <tr><td class="paramname">engine</td><td>use engine, if NULL is passed it, old method and engine is cleared.</td></tr>
345  </table>
346  </dd>
347</dl>
348<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
349
350</div>
351</div>
352<a id="ga292ae50ca725d0c529dc077467b40254"></a>
353<h2 class="memtitle"><span class="permalink"><a href="#ga292ae50ca725d0c529dc077467b40254">&#9670;&nbsp;</a></span>RAND_set_rand_method()</h2>
354
355<div class="memitem">
356<div class="memproto">
357      <table class="memname">
358        <tr>
359          <td class="memname">int RAND_set_rand_method </td>
360          <td>(</td>
361          <td class="paramtype">const RAND_METHOD *&#160;</td>
362          <td class="paramname"><em>meth</em></td><td>)</td>
363          <td></td>
364        </tr>
365      </table>
366</div><div class="memdoc">
367<p>Set the default random method.</p>
368<dl class="params"><dt>Parameters</dt><dd>
369  <table class="params">
370    <tr><td class="paramname">meth</td><td>set the new default method.</td></tr>
371  </table>
372  </dd>
373</dl>
374<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
375
376</div>
377</div>
378<a id="ga38d21605e6e777451769a8ee7087933b"></a>
379<h2 class="memtitle"><span class="permalink"><a href="#ga38d21605e6e777451769a8ee7087933b">&#9670;&nbsp;</a></span>RAND_status()</h2>
380
381<div class="memitem">
382<div class="memproto">
383      <table class="memname">
384        <tr>
385          <td class="memname">int RAND_status </td>
386          <td>(</td>
387          <td class="paramtype">void&#160;</td>
388          <td class="paramname"></td><td>)</td>
389          <td></td>
390        </tr>
391      </table>
392</div><div class="memdoc">
393<p>Return status of the random generator</p>
394<dl class="section return"><dt>Returns</dt><dd>1 if the random generator can deliver random data. </dd></dl>
395
396</div>
397</div>
398<a id="gab9638d698e0a8ab94a31322693588eba"></a>
399<h2 class="memtitle"><span class="permalink"><a href="#gab9638d698e0a8ab94a31322693588eba">&#9670;&nbsp;</a></span>RAND_write_file()</h2>
400
401<div class="memitem">
402<div class="memproto">
403      <table class="memname">
404        <tr>
405          <td class="memname">int RAND_write_file </td>
406          <td>(</td>
407          <td class="paramtype">const char *&#160;</td>
408          <td class="paramname"><em>filename</em></td><td>)</td>
409          <td></td>
410        </tr>
411      </table>
412</div><div class="memdoc">
413<p>Write of random numbers to a file to store for later initiation with <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>.</p>
414<dl class="params"><dt>Parameters</dt><dd>
415  <table class="params">
416    <tr><td class="paramname">filename</td><td>name of file to write.</td></tr>
417  </table>
418  </dd>
419</dl>
420<dl class="section return"><dt>Returns</dt><dd>1 on success and non-one on failure. </dd></dl>
421
422</div>
423</div>
424</div><!-- contents -->
425<hr size="1"><address style="text-align: right;"><small>
426Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
427</body>
428</html>
429