summaryrefslogtreecommitdiff
path: root/doc/file-format-and-process.md
blob: 6ffc067d9b73eba96c6e6a83999d8c13107f5283 (plain)
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
The random-seed format consists of:

1. 512 bytes of random seed data for compatibility with other random seed
   implementations
2. The magic string "RANDOM SEED FILE VERSION 1".
3. A series of line delimited commands with space delimited arguments.

Comments are not supported.

# Hashing
In an attempt to improve privacy, device IDs are hashed with SHA256(random-data
|| ID) where || denotes concatenation and random-data is the 512 bytes of
random data at the start of the file.

# Commands

## salt
Set the salt for the following commands to the argument.  This must be the
first command.

## machine-id
Check that the contents of `/etc/machine-id`, when hashed, matches the
argument.

## fs-id
Check that calling statfs(2) on the random seed file returns a `f_fsid` that
when hashed, matches the argument.

## done
End of mandatory commands.