Glossary
BlockSphinxPlaintext
The payload structure which is encapsulated by the Sphinx body.
classes of traffic
We distinguish the following classes of traffic:
-
SURB Replies (also sometimes referred to as ACKs)
-
Forward messages
client
Software run by the User on its local device to participate in the
Mixnet. Again let us reiterate that a client is not considered a “node
in the network” at the level of analysis where we are discussing the
core mixnet protocol in this here document.
directory authority system
Refers to specific PKI schemes used by Mixminion and Tor.
entry mix, entry node
A mix 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 defined in section 4.2 Sphinx Mix and Provider Key
Rotation. The epoch is currently set to 20 minutes. A new PKI document
containing public key material is published for each epoch and is valid
only for that epoch.
family
Identifier of security domains or entities operating one or more mixes
in the network. This is used to inform the path selection algorithm.
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 the group.
group generator
A group element capable of generating any other element of the 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 correctly process
the packet.
KiB
Defined as 1024 8 bit octets.
Katzenpost
A project to design many improved decryption mixnet protocols.
layer
The layer indicates which network topology layer a particular mix
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 which describes a component mix.
mix
A cryptographic router that is used to compose a mixnet. Mixes 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 also known as a mix network is a network of mixes that can be
used to build various privacy preserving protocols.
MSL
Maximum segment lifetime, currently set to 120 seconds.
nickname
A nickname string that is unique in the consensus document, see
Katzenpost Mix Network Specification section 2.2. Network Topology.
node
Clients are NOT considered nodes in the mix network. However note that
network protocols are often layered; in our design documents we describe
“mixnet hidden services” which can be operated by mixnet clients.
Therefore if you are using node in some adherence to mathematical
terminology one could conceivably designate a client as a node. That
having been said, it would not be appropriate to the discussion of our
core mixnet protocol to refer to the 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
provider
A service operated by a third party that Clients communicate directly
with to communicate with the Mixnet. It is responsible for Client
authentication, forwarding outgoing messages to the Mixnet, and storing
incoming messages for the Client. The Provider MUST have the ability to
perform cryptographic operations on the relayed messages.
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 the 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 mix
A service mix is a mix that has some additional features:
-
A service mix is always the last hop in routes where the message originates from a client.
-
A service mix 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 which 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, dirauth voting etc.
For more information, please see our design doc: wire protocol specification