summaryrefslogtreecommitdiffhomepage
path: root/libtomcrypt/src
AgeCommit message (Collapse)Author
2020-05-25CBC mode cleanup (#95)Vladislav Grishenko
* Fix CBC mode can't be fully disabled * Fix CBC mode can't be the only mode
2020-05-25Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)Vladislav Grishenko
* Add Chacha20-Poly1305 authenticated encryption * Add general AEAD approach. * Add chacha20-poly1305@openssh.com algo using LibTomCrypt chacha and poly1305 routines. Chacha20-Poly1305 is generally faster than AES256 on CPU w/o dedicated AES instructions, having the same key size. Compiling in will add ~5,5kB to binary size on x86-64. function old new delta chacha_crypt - 1397 +1397 _poly1305_block - 608 +608 poly1305_done - 595 +595 dropbear_chachapoly_crypt - 457 +457 .rodata 26976 27392 +416 poly1305_process - 290 +290 poly1305_init - 221 +221 chacha_setup - 218 +218 encrypt_packet 1068 1270 +202 dropbear_chachapoly_getlength - 147 +147 decrypt_packet 756 897 +141 chacha_ivctr64 - 137 +137 read_packet 543 637 +94 dropbear_chachapoly_start - 94 +94 read_kex_algos 792 880 +88 chacha_keystream - 69 +69 dropbear_mode_chachapoly - 48 +48 sshciphers 280 320 +40 dropbear_mode_none 24 48 +24 dropbear_mode_ctr 24 48 +24 dropbear_mode_cbc 24 48 +24 dropbear_chachapoly_mac - 24 +24 dropbear_chachapoly - 24 +24 gen_new_keys 848 854 +6 ------------------------------------------------------------------------------ (add/remove: 14/0 grow/shrink: 10/0 up/down: 5388/0) Total: 5388 bytes * Add AES128-GCM and AES256-GCM authenticated encryption * Add general AES-GCM mode. * Add aes128-gcm@openssh.com and aes256-gcm@openssh.com algo using LibTomCrypt gcm routines. AES-GCM is combination of AES CTR mode and GHASH, slower than AES-CTR on CPU w/o dedicated AES/GHASH instructions therefore disabled by default. Compiling in will add ~6kB to binary size on x86-64. function old new delta gcm_process - 1060 +1060 .rodata 26976 27808 +832 gcm_gf_mult - 820 +820 gcm_add_aad - 660 +660 gcm_shift_table - 512 +512 gcm_done - 471 +471 gcm_add_iv - 384 +384 gcm_init - 347 +347 dropbear_gcm_crypt - 309 +309 encrypt_packet 1068 1270 +202 decrypt_packet 756 897 +141 gcm_reset - 118 +118 read_packet 543 637 +94 read_kex_algos 792 880 +88 sshciphers 280 360 +80 gcm_mult_h - 80 +80 dropbear_gcm_start - 62 +62 dropbear_mode_gcm - 48 +48 dropbear_mode_none 24 48 +24 dropbear_mode_ctr 24 48 +24 dropbear_mode_cbc 24 48 +24 dropbear_ghash - 24 +24 dropbear_gcm_getlength - 24 +24 gen_new_keys 848 854 +6 ------------------------------------------------------------------------------ (add/remove: 14/0 grow/shrink: 10/0 up/down: 6434/0) Total: 6434 bytes
2018-03-02Attempt to fix m_free for libtomcrypt/libtommathMatt Johnston
2018-02-17merge from mainMatt Johnston
--HG-- branch : fuzz
2018-02-16options: Complete the transition to numeric toggles (`#if')Michael Witten
For the sake of review, this commit alters only the code; the affiliated comments within the source files also need to be updated, but doing so now would obscure the operational changes that have been made here. * All on/off options have been switched to the numeric `#if' variant; that is the only way to make this `default_options.h.in' thing work in a reasonable manner. * There is now some very minor compile-time checking of the user's choice of options. * NO_FAST_EXPTMOD doesn't seem to be used, so it has been removed. * ENABLE_USER_ALGO_LIST was supposed to be renamed DROPBEAR_USER_ALGO_LIST, and this commit completes that work. * DROPBEAR_FUZZ seems to be a relatively new, as-yet undocumented option, which was added by the following commit: commit 6e0b539e9ca0b5628c6c5a3d118ad6a2e79e8039 Author: Matt Johnston <matt@ucc.asn.au> Date: Tue May 23 22:29:21 2017 +0800 split out checkpubkey_line() separately It has now been added to `sysoptions.h' and defined as `0' by default. * The configuration option `DROPBEAR_PASSWORD_ENV' is no longer listed in `default_options.h.in'; it is no longer meant to be set by the user, and is instead left to be defined in `sysoptions.h' (where it was already being defined) as merely the name of the environment variable in question: DROPBEAR_PASSWORD To enable or disable use of that environment variable, the user must now toggle `DROPBEAR_USE_DROPBEAR_PASSWORD'. * The sFTP support is now toggled by setting `DROPBEAR_SFTPSERVER', and the path of the sFTP server program is set independently through the usual SFTPSERVER_PATH.
2018-02-14fix unused variable from mergeMatt Johnston
2018-02-10cast m_burn argument away from volatileMatt Johnston
2018-02-09Put Dropbear config in a separate fileMatt Johnston
Patch out MECC DER
2018-02-09Fix commenting outMatt Johnston
2018-02-09Update to libtomcrypt 1.18.1, merged with Dropbear changesMatt Johnston
2017-06-24merge from main (libtommath/libtomcrypt/curve25510-donna updates)Matt Johnston
--HG-- branch : fuzz
2017-06-24update to libtomcrypt 1.17 (with Dropbear changes)Matt Johnston
2017-05-21add dbmalloc epoch cleanupMatt Johnston
--HG-- branch : fuzz
2016-03-17move m_burn and function attributes to dbhelpersMatt Johnston
use m_burn for libtomcrypt zeromem() too
2015-05-05Fix unused but set variable warnings [-Werror=unused-but-set-variable]Gaël PORTAY
2015-05-05Fix unused parameters warnings [-Werror=unused-parameter]Gaël PORTAY
2015-05-05Uses abort() instead of raising a SIGABRT signal [-Werror]Gaël PORTAY
error: ‘noreturn’ function does return [-Werror] abort() is a noreturn function while raise() is not. And because crypt_argchk() is flagged as __attribute__(noreturn), abort() appears to be a better condidate. This compilation warning has probably been introduced by commit 1809f741cba865b03d4db5c4ba8c41364a55d6bc.
2015-03-01Avoid malloc in hmacMatt Johnston
--HG-- branch : nocircbuffer
2015-02-24Add more ATTRIB_NORETURN annotations, from Thorsten HorstmannMatt Johnston
2013-04-14A bit of work on ecdsa for host/auth keysMatt Johnston
--HG-- branch : ecc
2013-04-07ecc kind of works, needs fixing/testingMatt Johnston
--HG-- branch : ecc
2013-03-29More changes for KEX and ECDH. Set up hash descriptors, make ECC code work,Matt Johnston
ses.hash and ses.session_id are now buffers (doesn't compile) --HG-- branch : ecc
2013-03-27more bits on ecc branchMatt Johnston
--HG-- branch : ecc
2013-03-26refactor kexdh code a bit, start working on ecdh etcMatt Johnston
--HG-- branch : ecc
2012-05-10- Add hmac-sha2-256 and hmac-sha2-512. Needs debugging, seems to beMatt Johnston
getting keyed incorrectly --HG-- branch : sha2
2011-04-07Define LTC_NO_FILE to avoid hmac_file() etcMatt Johnston
--HG-- extra : convert_revision : b918fd450c1572ce055a6a1fe8c161a495ddec34
2008-09-29- Add Counter Mode supportMatt Johnston
--HG-- extra : convert_revision : 5225162bdf32d70b58b6d3ae375a290326c59f3a
2007-01-11propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head ↵Matt Johnston
c1db4398d56c56c6d06ae1e20c1e0d04dbb598ed) to branch 'au.asn.ucc.matt.dropbear' (head d26d5eb2837f46b56a33fb0e7573aa0201abd4d5) --HG-- extra : convert_revision : 7a0ae6de81402591a789486070007238169fafca
2007-01-11propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head ↵Matt Johnston
ffd1015238ffcc959f6cd95176d96fcd0945a397) to branch 'au.asn.ucc.matt.dropbear' (head 52ccb0ad0587a62bc64aecb939adbb76546aac16) --HG-- extra : convert_revision : ecd779509ef23a8cdf64888904fc9b31d78aa933
2007-01-11propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head ↵Matt Johnston
2af22fb4e878750b88f80f90d439b316d229796f) to branch 'au.asn.ucc.matt.dropbear' (head 02c413252c90e9de8e03d91e9939dde3029f5c0a) --HG-- extra : convert_revision : 52ccb0ad0587a62bc64aecb939adbb76546aac16
2006-03-08propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head ↵Matt Johnston
20dccfc09627970a312d77fb41dc2970b62689c3) to branch 'au.asn.ucc.matt.dropbear' (head fdf4a7a3b97ae5046139915de7e40399cceb2c01) --HG-- extra : convert_revision : dc4809882e1b9f2dcd3f8bbe38c74a0a52c39ce4