summaryrefslogtreecommitdiff
path: root/toxcore/crypto_core.c
AgeCommit message (Collapse)Author
2017-01-04Add secure memcmp and memzero implementation.Diadlo
Implementation mostly taken from libsodium utils. Fix #347
2016-12-22Improve documentation of crypto_core.iphydf
2016-12-22Wrap all sodium/nacl functions in crypto_core.c.iphydf
2016-11-09Remove new_nonce function in favour of random_nonce.iphydf
`new_nonce` has been an alias for `random_nonce` for a while now. Having two names for the same operation is confusing. `random_nonce` better expresses the intent. The documentation for `new_nonce` talks about guaranteeing that the nonce is different from previous ones, which is incorrect, it's just quite likely to be different.
2016-11-03Move packing and unpacking DHT request packets to DHT module.iphydf
These definitely don't belong in a module called "crypto core". The DHT module seems like the best place to put them, since they are sent to DHT nodes.
2016-09-16Ensure that all TODOs have an owner.iphydf
In the future, all TODOs added either need a bug number (TODO(#NN)) or a person's github user name. By default, I made irungentoo the owner of all toxcore TODOs, mannol the owner of toxav TODOs, and myself the owner of API TODOs.
2016-08-31Add braces to all if statements.iphydf
2016-08-10Silence/fix some compiler warnings.iphydf
Some of these (like the incompatible pointers one) are really annoying for later refactoring.
2016-01-30Fixes.irungentoo
Fixed bug from merged PR. Don't build useless files when building with libsodium.
2016-01-27 fix: compare sensitive data with sodium_memcmpRoman Proskuryakov
fix: make increment_nonce & increment_nonce_number independent of user-controlled input fix: make crypto_core more stable agains null ptr dereference
2015-06-06Improve readability of handle_request() in crypto_core.ccodedust
Moving 'return -1;' directly below the conditions improves readability and also better represents the coding style of other functions in crypt_core.c (and everywhere else).
2015-04-18The only secure compare function currently needed is one to compare 2 public ↵irungentoo
keys.
2015-03-29Increase thread safety.irungentoo
randombytes() doesn't seem to have any real speed disadvantage. Also makes people who think nonces need to be random happy.
2015-01-01Code cleanups.irungentoo
Moved some functions to onion.c. Fixed possible portability issues.
2014-12-31fixes #1210Luke Drummond
2014-09-09spelling correctionscgar
2014-06-16Added more input validation to add_friend functions.irungentoo
2014-06-13Fixed typo.irungentoo
This typo doesn't seem to cause any issue because according to the code in vanilla NaCl the first crypto_box_ZEROBYTES (for encryption) and crypto_box_BOXZEROBYTES (for decryption) of the array passed to the crypto_box*() functions don't need to be zero for it to work. The documentation however clearly states that they need to be zero which means they need to be zero.
2014-06-10Astyle and fixes.irungentoo
2014-06-10Const correctness in toxcore/crypto_core.cMarc Schütz
2014-05-01Random number functions belong in crypto_core.irungentoo
2014-05-01Protocol implementation is starting to look ok.irungentoo
Still need to decide exactly how data packets will work though.
2014-05-01Improved the crypto_cmp function.irungentoo
It now uses the NaCl functions when the length is appropriate. Moved crypto defines to crypto_core.h
2014-04-28Added some functions to create/handle middle level protocol packets.irungentoo
2014-04-23Major cleanups.irungentoo
Fixed circular dependency between DHT and net_crypto: DHT no longer depends on net_crypto. Moved the crypto request packets functions to crypto core and DHT. Cleaned up/added some defines that can be used to get the true maximum length of things like the friends request message. MAX_DATA_SIZE has been replaced in most places by more appropriate defines.
2014-04-22Decided pretty much how the handshake would work.irungentoo
Started writing the code. Astyled some files.
2014-04-21Crypto related cleanups.irungentoo
Moved Bunch of functions from net_crypto to crypto_core. decrypt_data_fast and decrypt_data_symmetric were the same thing therefore, removed decrypt_data_fast. Replaced all the crypto_secretbox_* defines with the equivalent crypto_box_* one. New define: crypto_box_KEYBYTES that is equal to crypto_box_BEFORENMBYTES.