private static void EncryptMessage(ReadOnlySequence <byte> m, INoiseMessageTransformer transport, ArrayBufferWriter <byte> outputBuffer) { var l = BitConverter.GetBytes(Convert.ToInt16(m.Length)) .Reverse().ToArray(); //from little endian transport.WriteMessage(new ReadOnlySequence <byte>(l), outputBuffer); transport.WriteMessage(m, outputBuffer); }
public HandshakeProcessor(IEllipticCurveActions curveActions, IHkdf hkdf, ICipherFunction aeadConstruction, IKeyGenerator keyGenerator, INoiseHashFunction hasher, INoiseMessageTransformer messageTransformer, ILogger <HandshakeProcessor> logger) { _curveActions = curveActions; _hkdf = hkdf; _aeadConstruction = aeadConstruction; _keyGenerator = keyGenerator; _hasher = hasher; _messageTransformer = messageTransformer; _logger = logger; }
private static ReadOnlySpan <byte> DecryptAndValidateMessage(ReadOnlySequence <byte> message, INoiseMessageTransformer transport) { var header = GetArray(2); transport.ReadMessage(message.Slice(0, 18), header); var body = GetArray(BinaryPrimitives.ReadUInt16BigEndian(header.WrittenSpan)); int bodyLength = transport.ReadMessage(message.Slice(18), body); return(body.WrittenSpan.Slice(0, bodyLength)); }
private static byte[] EncryptMessage(ReadOnlySequence <byte> m, INoiseMessageTransformer transport) { var outputBuffer = GetArray((int)LightningNetworkConfig.MAX_MESSAGE_LENGTH); var l = BitConverter.GetBytes(Convert.ToInt16(m.Length)) .Reverse().ToArray(); //from little endian transport.WriteMessage(new ReadOnlySequence <byte>(l), outputBuffer); transport.WriteMessage(m, outputBuffer); return(outputBuffer.WrittenSpan.ToArray()); }