Glossary
BlockSphinxPlaintext
The payload structure that is encapsulated by the Sphinx body.
classes of traffic
We distinguish the following classes of traffic:
-
SURB replies (sometimes referred to as ACKs)
-
Forwarded messages
client
Software run by a user on their local device to participate in the mixnet.
A client is not considered a node in the
network for purposes of analysis of the core mnixnet protocols.
directory authority system
Refers to PKI schemes used by Mixminion and Tor.
entry mix, entry node
A mix node that has some additional features:
-
An entry mix is always the first hop in routes where the message originates from a client.
-
An entry mix authenticates client’s direct connections via the mixnet’s wire protocol.
-
An entry mix queues reply messages and allows clients to retrieve them later.
epoch
A fixed-time interval with a current default value of 20 minutes.
A new PKI document containing public key material
is published for each epoch and is valid only for that epoch. For more information,
see
Sphinx
mix and provider key rotation.
family
Identifier of security domains or entities operating one or more mix nodes in
the network. This is used to inform the path selection algorithm.
gateway
A mix node on the edge of the mixnet that is the first hop for messages coming from
clients.
The gateway authenticates client connections and queues reply messages (SURBs) for
retrieval.
group
A finite set of elements and a binary operation that satisfy the
properties of closure, associativity, invertability, and the presence of an
identity element.
group element
An individual element of a group.
group generator
A group element capable of generating any other element of a group, via
repeated applications of the generator and the group operation.
header
The packet header consisting of several components which convey the
information necessary to verify packet integrity and to correctly process the
packet.
KiB
Defined as 1024 8 bit octets.
layer
The layer value indicates which network topology layer a particular mix node resides
in.
message
A variable-length sequence of octets sent anonymously through the network.
Short messages are sent in a single packet; long messages are fragmented
across multiple packets.
mix descriptor
A database record that describes a mixnet server component.
mix node
A cryptographic router that is used to compose a mixnet. Mix nodes use a
cryptographic operation on messages being routed which provides bitwise
unlinkability with respect to input versus output messages. Katzenpost is a
decryption mixnet that uses the Sphinx cryptographic packet format.
mixnet
A mixnet, or mix network, is a network of mix servers that can be
used to build various privacy-preserving protocols.
MSL
Maximum segment lifetime, currently set to 120 seconds.
nickname
A component nickname string that must be unique in the consensus document.
node
Clients are NOT considered nodes in the mix network. However,
network protocols are often layered. In our design documents, we describe
“mixnet hidden services” that can be operated by mixnet clients. Therefore
if you are using the term “node” in some adherence to mathematical terminology, one
could conceivably designate a client as a node. However, in discussion of our core
mixnet protocol, it is inappropriate to refer to clients as nodes.
packet
A Sphinx packet, of fixed
length for each class of traffic, carrying a message payload and metadata for routing.
Packets are routed anonymously through the mixnet and cryptographically transformed
at
each hop.
payload
The fixed-length portion of a packet containing an encrypted message or
part of a message, to be delivered anonymously.
PKI
Public key infrastructure.
SEDA
Staged Event Driven Architecture. 1. A
highly parallelizable computation model. 2. A computational pipeline
composed of multiple stages connected by queues utilizing active
queue-management algorithms that can evict items from a queue based on dwell
time or other criteria where each stage is a thread pool. 3. The only
correct way to efficiently implement a software based router on general
purpose computing hardware.
service node
A service node is a mix node with additional features:
-
A service node is always the last hop in routes where the message originates from a client.
-
A service node runs mixnet services which use a Sphinx SURB-based protocol.
SURB
Single use reply block. SURBs are used to achieve recipient anonymity,
that is to say, SURBs function as a cryptographic delivery token that
you can give to another client entity so that they can send you a
message without them knowing your identity or location on the network.
See SPHINXSPEC and SPHINX.
user
An agent using the Katzenpost system.
wire protocol
Refers to our PQ Noise-based protocol that currently uses TCP but in the
near future will optionally use QUIC. This protocol has messages known as
wire protocol commands, which are used for various mixnet
functions such as sending or retrieving a message and dirauth voting. For
more information, see our wire protocol specification.