[noise] noise-repl

Alex alex at centromere.net
Sun Jun 18 15:20:49 PDT 2017


I've just released a tool called "noise-repl" which provides an
interactive command-line for Noise conversations. Payloads and
transport messages are typed at a prompt (in plain text, hex, or
base64), and the resulting messages are sent out to the remote peer via
either a UDP socket or a pipe (stdin/stdout of a process). Any PSKs
required by the handshake are prompted for when they are necessary.

Hopefully this tool will help those implementing Noise.

Here's a sample from the initiator's point of view:

./noise-repl --name=Noise_XXpsk3_25519_AESGCM_SHA256 --role=initiator
--prologue=cacophony --lhost=localhost --lport=4000 --rhost=localhost
--rport=4001

Your keys are as follows:
private ephemeral: RrRx1Tffk3gwZS7pWV5A6XeJKjmRet3ukLQNLsFonCE=
public  ephemeral: wcgw1+vtr9el7EC6X8QjuNNKUqvY6dULChZE4WKS1WY=
private static:    e7f2oy3hn/I3+xU2FVyN+4d7nqfYW6FFQVpGlFSIHSM=
public  static:    8PvODFxx1eWAybIFYZV6jmQoRgeGxGvLIa0K8lAgpDg=
Your input format is: plain
payload> payload 1
sent:
c1c830d7ebedafd7a5ec40ba5fc423b8d34a52abd8e9d50b0a1644e16292d5662e4f1979a94d68ab6a9305924bfd04348176dbcd0beb415219
handshake incomplete, waiting for message from peer
received:
1b527de51fe8cc136618fe81ee8bfa65e87a06fbbc12899a251b46301998bf5f31aac0dcf1e1a0d1a92e20a3b2bf1b3c00e452c723c8c5c7c5afa78ee92cafe7564f2075b558f82a6ce6176eb778ea4b3719d3adb015aa48c8d4df4cdc991cad181d5738554aaab9fa
payload: payload 2
static key received: 2WDau6H2i29OVyksuH5ic2jUSgB00PUoQEt1eAOeNUI=
payload> payload 3
psk> psk
sent:
0dd60ad3432fe1cb0549f7b71ec3a86c3e6360e647fc8d604fb823d9e45c4fc55729eaa7902335d01a29cdf969bd55ecbf58ab0e985ab5d566c4c2eb4346d23954ab49fd2fa30c5d6a
handshake complete!
handshake hash:
c29b5c335ffb8383f67697810e3a3313f5e0b92fd85fc3c5d2eb5baa29939c92
message> message 0
sent: 53f78d8e2b10ce4b38ce543a9ff14c0ff1022d78d9533e7c32
received: c81c296ad9981e7c39770fbd2fb8b5cbe53d210dc7a8c6184c
message:  message 1
message> 

And from the responder's point of view:

./noise-repl --name=Noise_XXpsk3_25519_AESGCM_SHA256 --role=responder
--prologue=cacophony --lhost=localhost --lport=4001 --rhost=localhost
--rport=4000

Your keys are as follows:
private ephemeral: 8VV0NNtf60iKdLCV1e1nhaMZ1rgFIMBI33MxzF0P4RY=
public  ephemeral: G1J95R/ozBNmGP6B7ov6Zeh6Bvu8EomaJRtGMBmYv18=
private static:    ZzN3E20mUWhC0Z1iuQyh5+8kd5pdQCQQclc10mcJLYU=
public  static:    2WDau6H2i29OVyksuH5ic2jUSgB00PUoQEt1eAOeNUI=
Your input format is: plain
handshake incomplete, waiting for message from peer
received:
c1c830d7ebedafd7a5ec40ba5fc423b8d34a52abd8e9d50b0a1644e16292d5662e4f1979a94d68ab6a9305924bfd04348176dbcd0beb415219
payload: payload 1
payload> payload 2
sent:
1b527de51fe8cc136618fe81ee8bfa65e87a06fbbc12899a251b46301998bf5f31aac0dcf1e1a0d1a92e20a3b2bf1b3c00e452c723c8c5c7c5afa78ee92cafe7564f2075b558f82a6ce6176eb778ea4b3719d3adb015aa48c8d4df4cdc991cad181d5738554aaab9fa
handshake incomplete, waiting for message from peer
received:
0dd60ad3432fe1cb0549f7b71ec3a86c3e6360e647fc8d604fb823d9e45c4fc55729eaa7902335d01a29cdf969bd55ecbf58ab0e985ab5d566c4c2eb4346d23954ab49fd2fa30c5d6a
psk> psk
payload: payload 3
static key received: 8PvODFxx1eWAybIFYZV6jmQoRgeGxGvLIa0K8lAgpDg=
handshake complete!
handshake hash:
c29b5c335ffb8383f67697810e3a3313f5e0b92fd85fc3c5d2eb5baa29939c92
received: 53f78d8e2b10ce4b38ce543a9ff14c0ff1022d78d9533e7c32
message:  message 0
message> message 1
sent: c81c296ad9981e7c39770fbd2fb8b5cbe53d210dc7a8c6184c
message> 

-- 
Alex


More information about the Noise mailing list