Skip to content

Latest commit

 

History

History
482 lines (399 loc) · 14.7 KB

protocols.md

File metadata and controls

482 lines (399 loc) · 14.7 KB

Uncategorized protocols

Garbled circuit

  • also called: 'Yao's garbled circuits protocol'
  • solves: 'Secure multi-party computation'

Privacy-Preserving Scalar Product Protocol

  • also called: 'PPSPP'
  • solves: 'Two-way privacy-preserving distance calculation'
  • paper: 'Secure two-party distance computation protocol based on privacy homomorphism and scalar product in wireless sensor networks' (2016) https://doi.org/10.1109/TST.2016.7536716

Homomorphic-Encryption-based Euclidean Distance Protocol

  • also called: 'HEEDP'
  • solves: 'Two-way privacy-preserving distance calculation'
  • paper: 'Secure two-party distance computation protocol based on privacy homomorphism and scalar product in wireless sensor networks' (2016) https://doi.org/10.1109/TST.2016.7536716

Spatial cloaking

  • solves: 'One-way privacy-preserving distance calculation'
  • paper: 'Anonymous Usage of Location-Based Services Through Spatial and Temporal Cloaking' (2003) https://doi.org/10.1145/1066116.1189037
  • paper: 'Evaluating the Privacy Guarantees of Location Proximity Services' (2017) https://doi.org/10.1145/3007209
  • idea: 'round coordinates, not distances'

Protocols (distributed algorithms, not simple network protocols)

Identity-Based Privacy-Protected Access Control Filter

  • also called: 'IPACF'
  • is a: 'Protocol'
  • applications: 'denial-of-service defense'

Congestion control / network scheduling algorithms

Additive increase/multiplicative decrease

Weighted round robin

Deficit round robin

Token bucket

Leaky bucket

Generic cell rate algorithm

LEDBAT

SACK

  • also called: 'Selective acknowledgment'
  • RFC: 2018

Cryptographic communication protocols

Secure Shell

Secure Sockets Layer

  • also called: 'SSL'
  • deprecated
  • OSI model: 'Presentation layer'

Transport Layer Security

Datagram Transport Layer Security

OpenVPN

IPSec IKEv2

WireGuard

  • whitepaper: 'WireGuard: Next Generation Kernel Network Tunnel' (2017)
  • https://en.wikipedia.org/wiki/WireGuard
  • applications: 'Virtual private network', 'Tunneling'
  • implemented in (applications): 'WireGuard'
  • uses: 'ChaCha20', 'Curve25519', 'BLAKE2s', 'SipHash24', 'HKDF'
  • note: currently has privacy problems due to static ip assignment

Silent Circle Instant Messaging Protocol

Off-the-Record Messaging

  • also called: 'OTR'
  • https://en.wikipedia.org/wiki/Off-the-Record_Messaging
  • is a: 'Cryptographic protocol'
  • uses: 'Diffie–Hellman key exchange', 'SHA-1', 'Socialist millionaire protocol'
  • features: 'Forward secrecy', 'Deniable authentication'
  • implemented by (applications): 'ChatSecure', 'Psi', 'Jitsi'

Signal Protocol

  • also called: 'TextSecure Protocol'
  • https://en.wikipedia.org/wiki/Signal_Protocol
  • is a: 'Cryptographic protocol'
  • uses: 'Double Ratchet algorithm', 'Curve25519', 'Advanced Encryption Standard', 'HMAC-SHA256'
  • implemented by (applications): 'Signal'
  • applications: 'End-to-end encryption'
  • implemented in (libraries): 'libsignal-protocol-c', 'libsignal-protocol-java', 'libsignal-protocol-javascript'

Proteus

OMEMO

  • also called: 'OMEMO Multi-End Message and Object Encryption', 'XEP-0384'
  • https://en.wikipedia.org/wiki/OMEMO
  • extension to: 'XMPP'
  • applications: 'End-to-end encryption'
  • features: 'Forward secrecy', 'Deniable authentication'
  • uses: 'Double Ratchet algorithm'
  • implemented by (applications): 'ChatSecure', 'Psi', 'Conversations'
  • implemented in (libraries): 'C libomemo', 'python-omemo'

Messaging Layer Security

MTProto

Tox

Bitmessage

Jami

Ricochet

Matrix

Mobile CoWPI

  • also called: 'Mobile Conversations With Privacy and Integrity'
  • paper: 'End-to-End Secure Mobile Group Messaging with Conversation Integrity and Deniability' (2018)

Transport protocols

TCP

UDP

SCTP

QUIC

  • also called: 'Quick UDP Internet Connections'
  • https://en.wikipedia.org/wiki/QUIC
  • RFC: 9000
  • usually layered on: 'UDP'
  • features: 'FEC', 'congestion control', 'multiplexing without head-of-line blocking'

Streaming protocols

RTMFP

Automatic repeat request

MSS

  • also called: 'Microsoft Smooth Streaming'
  • uses: 'HTTP'

HDS

  • also called: 'HTTP Dynamic Streaming'
  • uses: 'HTTP'

HLS

DASH

  • also called: 'Dynamic Adaptive Streaming over HTTP', 'MPEG-DASH'
  • uses: 'TCP', 'HTTP'
  • codec-agnostic
  • Adaptive bitrate streaming
  • container: 'MP4'

RTMP

RTP

RTSP

SRTP

RTCP

WebRTC

FTL

  • also called: 'Faster Than Light'
  • uses: 'UDP', 'RTP'
  • proprietary

Secure Reliable Transport

Reliable Internet Stream Transport

Communication protocols

XMPP

  • also called: 'Extensible Messaging and Presence Protocol', 'Jabber'
  • https://en.wikipedia.org/wiki/XMPP
  • applications: 'Instant messaging', 'Presence information'
  • properties: 'server-to-server', 'federated'
  • OSI model: 'Application layer'
  • standardized by: 'IETF'

Internet Message Access Protocol

  • also called: 'IMAP'
  • properties: 'text based'
  • OSI model: 'Application layer'
  • RFC: 3501

Simple Mail Transfer Protocol

  • also called: 'SMTP'
  • properties: 'text-based'
  • OSI model: 'Application layer'

Push-IMAP

File Transfer Protocol

File eXchange Protocol

Simple File Transfer Protocol

SSH File Transfer Protocol

Fast and Secure Protocol

UDP-based Data Transfer Protocol

Tsunami UDP Protocol

Instant Messaging and Presence Protocol

SILC

REsource LOcation And Discovery

Session Initiation Protocol

Zephyr

SOCKS

ActivityPub

WebSub

WebSocket

Advanced Message Queuing Protocol

Streaming Text Oriented Messaging Protocol

Message Queuing Telemetry Transport

BitTorrent

Micro Transport Protocol

  • also called: 'µTP', 'uTP'
  • https://en.wikipedia.org/wiki/Micro_Transport_Protocol
  • variant of: 'BitTorrent'
  • based on: 'UDP'
  • properties: 'p2p'
  • implemented in (libraries): 'libutp'
  • implemented by (applications): 'µTorrent', 'qBittorrent'
  • alternative to: 'TCP'
  • uses: 'LEDBAT'