The spiped secure pipe daemon

Spiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses, so that one may connect to one address (e.g., a UNIX socket on localhost) and transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to 'ssh -L' functionality, but does not use SSH and requires a pre-shared symmetric key.

Spiped uses strong and well-understood cryptographic components: The initial key negotiation is performed using HMAC-SHA256 and an authenticated Diffie-Hellman key exchange over the standard 2048-bit "group 14"; following the completion of key negotiation, packets are transmitted encrypted with AES-256 in CTR mode and authenticated using HMAC-SHA256. The simplicity of the code — about 4000 lines of C code in total, of which under 1000 are specific to spiped (the rest is library code originating from kivaloo and Tarsnap) — makes it unlikely that spiped has any security vulnerabilities.

On the author's 2.5 GHz Intel Core 2 laptop, spiped operates at approximately 300 Mbps.


The following versions of spiped are available:

Version Release date SHA256 hash
spiped 1.5.0 2015-02-22 b2f74b34fb62fd37d6e2bfc969a209c039b88847e853a49e91768dec625facd7
spiped 1.4.2 2014-10-11 dcb668f98a6bd761ff542f7079034f828f792259300eeb16aab53b687a805bde
spiped 1.4.1 2014-09-07 0eeb4b8a94df985cfb60f452ced75f30509105a120ca09f740507c496c15c4f8
spiped 1.4.0 2014-08-28 d8fa13a36905337bec97e507e0689f7bbc9e5426b88d588f3ddd3d6c290dcf5f
spiped 1.3.1 2013-04-13 8a58a983be460b88ed5a105201a0f0afacb83382208761837a62871dcca42fee
spiped 1.3.0 2013-04-06 6f3d512dbdc8e5e893fb533908d4f8bcd1fd23db783f63c7bc37cf5660c139d0
spiped 1.2.2 2012-11-15 a9eb4681e4ccd5d86b8a2d4e16785db8ba10d8a9f7f732485511fd4b92dff1ec
spiped 1.2.1 2012-08-31 4e2e532b2a7df8e9a771c27a1bc2889f0d834e986d4f4a02a2a12174560ea44b
spiped 1.2.0 2012-08-30 46fb94da62bf1f074513047519f2d4f5faf103e5b8555e14a375a42b74508a6b
spiped 1.1.0 2011-09-10 b727b902310d217d56c07d503c4175c65387ff07c9cd50a24584903faf9f3dc3
spiped 1.0.0 2011-07-04 82df05533bf8d8580f57e6dbec7d7e2966eabd3ea7a0a0bb06f87000947969a3

Development of spiped takes place in the spiped git repository.

Mailing list

The spiped secure pipe daemon is discussed on the mailing list.