Disk ARchive  2.5.3
Full featured and portable backup and archiving tool
if

append an elastic buffer of given size to the file

Parameters
[in,out]ffile to append elastic buffer to
[in]max_sizesize of the elastic buffer to add
[in]modulodefines the size to choose (see note)
[in]offsetdefines the offset to apply (see note)
Note
the size of the elastic buffer should not exceed max_size but should be chosen in order to reach a size which is zero modulo "modulo" assuming the offset we add the elastic buffer at is "offset". If modulo is zero this the elastic buffer is randomly chosen from 1 to max_size without any concern about being congruent to a given modulo. module is 5 and offset is 2, the elastic buffer possible size can be 3 (2+3 is congruent to 0 modulo 5), 8 (2+8 is congruent to modulo 5), 12, etc. but not exceed max_size+modulo-1
this is to accomodate the case when encrypted data is followed by clear data at the end of an archive. There is no way to known when we read clear data, but we know the clear data size is very inferior to crypted block size, thus when reading a uncompleted block of data we can be sure we have reached and of file and that the data is clear without any encrypted part because else we would have read an entire block of data.