Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement AES-GCM cipher support #630

Merged
merged 3 commits into from
Sep 9, 2020
Merged

Implement AES-GCM cipher support #630

merged 3 commits into from
Sep 9, 2020

Commits on Sep 7, 2020

  1. Implement AES-GCM cipher support

    Fixes #217.
    
    A port of AES-GCM cipher support from Apache MINA-SSHD, based on apache/mina-sshd#132.
    
    Included tests for decoding SSH packets sent from Apache MINA-SSHD and OpenSSH (Version 7.9p1 as used by Debian 10).
    
    Manual tests also done on OpenSSH server 7.9p1 running Debian 10 with its available ciphers, including 3des-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com and aes256-gcm@openssh.com.
    TranceLove committed Sep 7, 2020
    Configuration menu
    Copy the full SHA
    f9b34c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4b1c86 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2020

  1. Changes per PR feedback

    - Fixed variable/statement whitespaces and add back missing braces per coding standard requirement
    - Moved Buffer.putLong() and Buffer.getLong() into GcmCipher.CounterGCMParameterSpec since it's the only user
    - Moved BaseCipher.authSize into GcmCipher since it is the only cipher that would return a non-zero. BaseCipher will keep return 0 instead
    - Made BaseCipher.cipher protected instead of making it publicly accessible
    - Combined the three decoding modes in Decoder.decode() into one single method, to reduce code duplication
    - Added integration test for the ciphers, along with the newly implemented AES-GCM ciphers
    TranceLove committed Sep 8, 2020
    Configuration menu
    Copy the full SHA
    ebe3ecb View commit details
    Browse the repository at this point in the history