Featureless Linux Library Specification

FSS-0010 (Encrypted Simple Packet)

The version date of this specification is 2023/07/16.

This is an encrypted form of the network packet format of FSS-000f (Simple Packet).

The entire Payload Block is undefined by this standard and is instead defined by the encryption algorithm or standard in use. There is no rule, restriction, requirement, or definition on what encryption can be used. The only rule is that the Payload Block must be of a valid length as defined by the Size Block.

The general rule is that it can be assumed that the encrypted data in the Payload Block would be of the FSS-000e (Payload) format. Being that the data is supposed to be encrypted, the actual contents of the Payload Block is left undefined.

The FSS-000f (Simple Packet) that this standard modifies does not require the Payload Block to be in FSS-000e (Payload) format. This standard is even more lax than FSS-000f (Simple Packet) and drops replaces the words should be in from the FSS-000f (Simple Packet) standard and replaces them with could be in.

This allows for the encrypted data to be anything the user wants, such as but not limited to HTTP:"Hypertext Transfer Protocol".

When it comes to security, any and all data can be useful. For best encryption, one may want to consider not using this format because of the Control Block and the Size Block are not encrypted.

The endianness bit should only be used to represent the Size Block to avoid any security concerns. The endianness of the encrypted needs to be determined through some other means for any kind of reasonable security.

This standard uses the third bit from the left in the Control Block to designate that this is an encrypted packet.

The 5 remaining control bits are left undefined.

See the fss-000f (Simple Packet) specification file for details regarding the FSS-000f (Simple Packet) standard.

Example Packet Structure:

[ Control Block ] [ Size Block                                  ] [ Payload Block         ]
[ 0b10100000    ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ size: 1229 (1234 - 5) ]

In the above example, take note that the third bit in the Control Block is a 1.