1 /** Practical One-time Pad Library
7 #define MARKER_TO "to:"
8 #define MARKER_BEGIN "--EMOTP_BEGIN--"
9 #define MARKER_END "--EMOTP_END--"
11 #define OFFSET_FILE_EXTENSION ".off"
12 #define OFFSET_SIZE 11 /* strlen("4294967296") + 1 */
14 #define PAD_NAME_LENGTH 4
16 /** Packaged up encrypted message, ready for transport. */
17 typedef struct _MESSAGE
{
19 char pad_name
[PAD_NAME_LENGTH
];
28 /* Use read_offset() and write_offset() to access offset. */
32 FILE *open_offset_file(PAD
*p
, char *mode
);
33 unsigned long read_offset(PAD
*p
);
34 void write_offset(PAD
*p
, unsigned long offset
);
35 void load_pad(char *local_filename
);