madscientist 6d3a6a8abf Fixed valgrind complaint about using uninitialized data when generating a OneTimePad. The algorithm uses unsigned char x as a register. Each next random byte in the pad is based on encrypting the last-- so a first byte is needed. Original code used an uninitialized x on purpose in order to get a supposedly unpredictable byte out of RAM. To make valgrind happy (and truly to make the algorithm better) x is now initialized by encrypting a 0 with the pad generator. This value is not directly exposed in the generated pad. The first byte in the one time pad is not the result of encrypting 0 but instead the result of encrypting the result of that operation. So, the first byte is based on the state of the pad generator just prior to making the OneTimePad. This is probably harder to predict than the state of the stack (where x would have come from) anyway. | 15 年之前 | |
---|---|---|
ChangeLog | 15 年之前 | |
FilterChain.cpp | 15 年之前 | |
FilterChain.hpp | 15 年之前 | |
GBUdb.cpp | 15 年之前 | |
GBUdb.hpp | 15 年之前 | |
GBUdb.inline.hpp | 16 年之前 | |
Makefile.am | 15 年之前 | |
SNFMulti.cpp | 15 年之前 | |
SNFMulti.hpp | 15 年之前 | |
gccVersion.txt | 16 年之前 | |
scanner.cpp | 16 年之前 | |
scanner.hpp | 16 年之前 | |
snfCFGmgr.cpp | 15 年之前 | |
snfCFGmgr.hpp | 15 年之前 | |
snfCFGmgr.inline.hpp | 16 年之前 | |
snfGBUdbmgr.cpp | 15 年之前 | |
snfGBUdbmgr.hpp | 16 年之前 | |
snfLOGmgr.cpp | 15 年之前 | |
snfLOGmgr.hpp | 15 年之前 | |
snfLOGmgr.inline.hpp | 15 年之前 | |
snfNETmgr.cpp | 15 年之前 | |
snfNETmgr.hpp | 15 年之前 | |
snfXCImgr.cpp | 15 年之前 | |
snfXCImgr.hpp | 15 年之前 | |
snf_HeaderFinder.cpp | 15 年之前 | |
snf_HeaderFinder.hpp | 15 年之前 | |
snf_HeaderFinder.inline.hpp | 16 年之前 | |
snf_engine.cpp | 15 年之前 | |
snf_engine.hpp | 15 年之前 | |
snf_match.h | 16 年之前 | |
snf_sync.cpp | 16 年之前 | |
snf_sync.hpp | 16 年之前 | |
snf_xci.cpp | 16 年之前 | |
snf_xci.hpp | 16 年之前 |