Bug: self_encryption of small files, not encrypted

@brian_s @qi_ma
It seems there is currently no encryption of "Very small files (less than 3072 bytes, 3 * MIN_CHUNK_SIZE)"
This from having pulled https://github.com/dirvine/self_encryption/ today.

basic_encryptor of a plain text file, shows the datamap created is the raw data.

I put a plain UTF-8 text file to it single line

111test1plain text1111111111111111111111111111111111111111111111111111111111111111111111111111111111

and then used ghex to display the hex of the datamap, which shows the text directly.


Yes this is OK and expected behaviour. What happens in the network is that this datamap forms part of another structure (you will see in clients as the posix api happens). The holder of the datamaps is a Directory type. These directories are like dirs on your drive, but stored. So the whole datamap (which you can consider file password really) is held along with file metadata (size, access time etc.).

This Directory type is again encrypted and stored on the network as a type of structured data. Hence we don’t encrypt the very small files as we consider the datamap holder has the file regardless. It is the secure storage of the datamap that then is the issue that had to be solved.

Extra Info

On the network there are several StructuredData types (I have an rfc to improve this actually). So some are directories. All structured data has an owner (so signed) and it may be many owners (multisig (escrow capable) data :wink: more later on this). Main point is only owner can update this data.

So for private data, you encrypt and do not disclose the id of the directory (you don’t see it anyway, but you could figure it out by altering the source code to print it etc.). This way nobody see’s what you have, can recognise the data or be able to find or read it.

So for public data (websites, new internet of all data types (not only html) etc.) all we do is don’t encrypt the Directory type, but it’s still signed. So becomes Read Only data on the network. Again you can create multiple Public (throw away if you wish) id’s and publish safely data that will never be removed or able to be updated. For a large whistleblower disclosure say, create a public ID, publish, delete public id and no coercion can remove the data or publication etc.

Anyhow, just some background on why you see this, very cool now people are really digging. We are all Jock Tamson’s Bairns as I have said before, but this community seem to be proving that point.


I’ve never heard that before, nice :slight_smile: https://en.wikipedia.org/wiki/Jock_Tamson’s_Bairns

Ha never knew that was on wikipedia. Interesting though I always took it to be were all of the same father really (not necessarily God, hence the name) and meaning everyone is of the same family, so you cannot distinguish between people using any metric apart from their actions. So no hate others if you like, treat everyone like a family regardless and deal with the wee squabbles for what they are, sibling niggles.


Your family must be different from mine :wink:

1 Like