[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/4] chachapoly: chacha20-poly1305@xxxxxxxxxxx support
[Thread Prev] | [Thread Next]
- Subject: [PATCH 0/4] chachapoly: chacha20-poly1305@xxxxxxxxxxx support
- From: Meng Hourk Tan <mtan@xxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Mon, 18 Sep 2017 09:47:33 +0000
- To: "libssh@xxxxxxxxxx" <libssh@xxxxxxxxxx>
Here is a patch to support chacha20-poly1305@xxxxxxxxxxx in libssh. First commit changes some cipher structures needed to prepare the field. Then I tried to the least possible changes in sending and receiving packet functions to support authenticated encryption mode. Some files from openssh have been added for chacha20 and poly1305 algorithms. And finally, added chachapoly structures and methods. This can be disabled with WITH_CHACHAPOLY compilation condition. Signed-off-by: Meng Tan <mtan@xxxxxxxxxx> Meng Tan (4): chachapoly: refactor cipher structs, add no hmac possibility chachapoly: handle packet encryption with authenticated encryption mode chachapoly: add external files chachapoly: add chachapoly structures with compilation conditions (chacha20-poly1305@xxxxxxxxxxx support) CMakeLists.txt | 2 +- DefineOptions.cmake | 1 + config.h.cmake | 3 + include/libssh/buffer.h | 47 +++++++++ include/libssh/chacha.h | 35 +++++++ include/libssh/chachapoly.h | 41 ++++++++ include/libssh/crypto.h | 25 ++++- include/libssh/poly1305.h | 22 ++++ include/libssh/wrapper.h | 5 + src/CMakeLists.txt | 9 ++ src/external/chacha.c | 219 +++++++++++++++++++++++++++++++++++++++ src/external/chachapoly.c | 134 ++++++++++++++++++++++++ src/external/poly1305.c | 158 ++++++++++++++++++++++++++++ src/kex.c | 14 ++- src/libcrypto.c | 147 ++++++++++++++++++++++---- src/libgcrypt.c | 145 ++++++++++++++++++++++---- src/packet.c | 81 ++++++++++----- src/packet_crypt.c | 69 ++++++++++-- src/pki_container_openssh.c | 6 +- src/wrapper.c | 16 ++- tests/unittests/torture_crypto.c | 8 +- 21 files changed, 1089 insertions(+), 98 deletions(-) create mode 100644 include/libssh/chacha.h create mode 100644 include/libssh/chachapoly.h create mode 100644 include/libssh/poly1305.h create mode 100644 src/external/chacha.c create mode 100644 src/external/chachapoly.c create mode 100644 src/external/poly1305.c -- 2.1.4
Archive administrator: postmaster@lists.cynapses.org