2
require_once("docutil.php");
3
page_head("The encryption utility");
6
The program <code>lib/crypt_prog</code> performs various encryption tasks.
8
crypt_prog is built by the standard build procedure on Unix systems.
9
You can also build it on Windows (with Visual Studio 2003)
10
using the project file <code>win_build/crypt_prog.vcproj</code>.
12
<h2>Creating encryption keys</h2>
14
<dt>crypt_prog -genkey n private_keyfile public_keyfile
16
Create a key pair with n bits (always use 1024).
17
Write the keys in encoded ASCII form to the indicated files.
19
The following commands generate the file upload and code signing key pairs.
20
BOINC_KEY_DIR is the directory where the keys will be stored.
21
The code signing private key should be stored only on
22
a highly secure (e.g., a disconnected, physically secure) host.
24
crypt_prog -genkey 1024 BOINC_KEY_DIR/upload_private BOINC_KEY_DIR/upload_public
25
crypt_prog -genkey 1024 BOINC_KEY_DIR/code_sign_private BOINC_KEY_DIR/code_sign_public
27
Or, in the test/ directory, run
32
<h2>Generating signatures</h2>
35
<dt>crypt_prog -sign file private_keyfile
37
Create a digital signature for the given file.
38
Write it in encoded ASCII to stdout.
39
<dt>crypt_prog -sign_string string private_keyfile
41
Create a digital signature for the given string.
42
Write it in encoded ASCII to stdout.
43
<dt>crypt_prog -verify file signature_file public_keyfile
45
Verify a signature for the given file.
46
<dt>crypt_prog -test_crypt private_keyfile public_keyfile
48
Perform an internal test, checking that encryption followed by