class Net::SSH::Transport::ChaCha20Poly1305Cipher
def read_and_mac(data, mac, sequence_number)
def read_and_mac(data, mac, sequence_number) iv_data = [0, 0, 0, sequence_number].pack("NNNN") @chacha_main.iv = iv_data poly_key = @chacha_main.update(([0] * 32).pack('C32')) iv_data[0] = 1.chr @chacha_main.iv = iv_data unencrypted_data = @chacha_main.update(data[4..]) begin ok = @poly.verify(poly_key, mac, data[0..]) raise Net::SSH::Exception, "corrupted hmac detected #{name}" unless ok rescue RbNaCl::BadAuthenticatorError raise Net::SSH::Exception, "corrupted hmac detected #{name}" end return unencrypted_data end