Mixes for Privacy and Anonymity in the Internet
|
Macros | |
#define | MIDDLE_MIX_SIZE_OF_SYMMETRIC_KEYS 2*KEY_SIZE |
#define | MIDDLE_MIX_ASYM_PADDING_SIZE 42 |
#define | RETRIES 100 |
#define | RETRYTIME 10 |
Functions | |
THREAD_RETURN | mm_loopSendToMixAfter (void *param) |
UPSTREAM (to WEB) Take the packets from the Queue and write them to the Socket. More... | |
THREAD_RETURN | mm_loopSendToMixBefore (void *param) |
DOWNSTREAM (to Client) Take the packets from the Queue and write them to the Socket. More... | |
THREAD_RETURN | mm_loopReadFromMixBefore (void *param) |
THREAD_RETURN | mm_loopReadFromMixAfter (void *param) |
#define MIDDLE_MIX_ASYM_PADDING_SIZE 42 |
#define MIDDLE_MIX_SIZE_OF_SYMMETRIC_KEYS 2*KEY_SIZE |
#define RETRIES 100 |
#define RETRYTIME 10 |
THREAD_RETURN mm_loopReadFromMixAfter | ( | void * | param | ) |
SGX MIX locksem(downstreamSemPreId, SN_EMPTY); memcpy(downstreamPreBuffer,pPoolEntry, sizeof(tPoolEntry)); unlocksem(downstreamSemPreId, SN_FULL);
locksem(downstreamSemPostId, SN_FULL); memcpy(pPoolEntry,downstreamPostBuffer, sizeof(tPoolEntry)); unlocksem(downstreamSemPostId, SN_EMPTY); getRandom(pMixPacket->data,DATA_SIZE);
SGX MIX locksem(pMix->downstreamSemPreId, SN_EMPTY); memcpy(pMix->downstreamPreBuffer,pPoolEntry, sizeof(tPoolEntry)); unlocksem(pMix->downstreamSemPreId, SN_FULL);
locksem(pMix->downstreamSemPostId, SN_FULL); memcpy(pPoolEntry,pMix->downstreamPostBuffer, sizeof(tPoolEntry)); unlocksem(pMix->downstreamSemPostId, SN_EMPTY);
THREAD_RETURN mm_loopReadFromMixBefore | ( | void * | param | ) |
THREAD_RETURN mm_loopSendToMixAfter | ( | void * | param | ) |
UPSTREAM (to WEB) Take the packets from the Queue and write them to the Socket.
THREAD_RETURN mm_loopSendToMixBefore | ( | void * | param | ) |
DOWNSTREAM (to Client) Take the packets from the Queue and write them to the Socket.