Opened 8 years ago

Closed 7 years ago

#8095 closed enhancement (fixed)

Configurable threshold on the overhead of a payload

Reported by: vmon Owned by: zwol
Priority: Low Milestone:
Component: Archived/Stegotorus Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


payload_server should be equipped with a threshold. When chopper asks for a payload for specific chop block, payload_server should checks each available payload candidate upon the block size, computes the resulting overhead and if the overhead exceed the threshold, should be omitted from the list.

Current behaviour is as follows:

payload_server choose randomly N payloads and stops when it finds m payloads all with higher capacity than chopper requested. Then the smallest of this list will be chosen for transmission.

This should be changed in a way that capacity > chopper's requested shouldn't be the only criterion to go on the m-short list but also the overhead should be less than the threshold.

Child Tickets

Change History (1)

comment:1 Changed 7 years ago by vmon

Resolution: fixed
Status: newclosed

Current behavoir is that user can enter option "noise-to-signal" which is an integer. The option will be processed by the chopper. The chopper will simply passes the value to the steg modules, in this way it asks the steg module not to transfer "noise-to-signal" times garbage over data. It is in steg module descretion to obay the ratio and also do it intelligently.

Currently, nosteg module flatly ignore the value as it is called nosteg for a reason.

The http and http_apache modules will pass the ratio to the payload_server, the payload server will not choose a payload such that size/(requested size) < noise-to-signal. Now, that the payload has the extra capacity for the noise, it is in file steg module discretion to use this redundancy to stegographized intelligently. Currently no file steg module is doing that and only use the beginning of the payload, but it is not fundamentally hard to improve the steg algorithm, but that can be another ticket.

Note: See TracTickets for help on using tickets.