The framework of universal composability (UC) is a general-purpose model for the analysis of cryptographic protocols. It guarantees very strong security properties. Protocols remain secure even if arbitrarily composed with other instances of the same or other protocols. Security is defined in the sense of protocol emulation. Intuitively, a protocol is said to emulate another one, if no environment (observer) can distinguish the executions. Literally, the protocol may simulate the other protocol (without having access to the code). The notion of security is derived by implication. Assume a protocol is secure per definition. If another protocol emulates protocol such that no environment tells apart the emulation from the execution of the protocol, then the emulated protocol is as secure as protocol .
An ideal functionality is a protocol in which a trusted party that can communicate over perfectly secure channels with all protocol participants computes the desired protocol outcome. We say that a cryptographic protocol that cannot make use of such a trusted party fulfils an ideal functionality, if the protocol can emulate the behaviour of the trusted party for honest users, and if the view that an adversary learns by attacking the protocol is indistinguishable from what can be computed by a simulator that only interacts with the ideal functionality.
The computation model of universal composability is that of interactive Turing machines that can activate each other by writing on each other's communication tapes. An interactive Turing machine is a form of multi-tape Turing machine and is commonly used for modelling the computational aspects of communication networks in cryptography.
The communication model in the bare UC framework is very basic. The messages of a sending party are handed to the adversary who can replace these messages with messages of his own choice that are delivered to the receiving party. This is also the Dolev-Yao threat model. (Based on the computational model all parties are modeled as interactive turing machines)
All communication models that add additional properties such as confidentiality, authenticity, synchronization, or anonymity are modeled using their own ideal functionality. An ideal communication functionality takes a message as input and produces a message as output. The (more limited) powers for the adversary are modeled through the (limited) capacity of the adversary to interact with this ideal functionality.
Ideal authenticated channel: For an optimal ideal authenticated channel, the ideal functionality takes a message from a party with identity as input, and outputs the same message together with the identity to the recipient and the adversary. To model the power of the adversary to delay asynchronous communication the functionality may first send a message to the adversary and would only deliver the message once it receives the command to do so as a reply.
Ideal secure channel: In an ideal secure channel, the ideal functionality only outputs the identity of the sender to both the recipient and the adversary, while the message is only revealed to the recipient. This models the requirement that a secure channel is both authenticated and private. To model some leakage about the information that is being transferred, may reveal information about the message to the adversary, e.g. the length of the message. Asynchronous communication is modeled through the same delay mechanism as for .
More advanced channels
While the technical means, and the physical assumptions behind anonymous and pseudonymous communication are very different, the modeling of such channels using ideal functionalities is analogous. See also onion routing and Anonymous P2P. Similar functionalities can be defined for broadcast communication, or synchronous communication.
Ideal anonymous channel: In an ideal anonymous channel, the ideal functionality, takes a message from a party with identity as input, and outputs the same message but without disclosing the identity to the recipient and the adversary.
Ideal pseudonymous channel: In an ideal pseudonymous channel, the participating parties first register unique pseudonyms with the ideal functionality . To do a transfer takes a message and the pseudonym of the recipient as input. The ideal functionality looks up the owner of the pseudonym and transfers the message without revealing the identity of the sender.
These formalisations abstract from the implementation details of the concrete systems that implement such channels. In their pure form an ideal functionality may be found to be unrealizable. It may be necessary to relax the functionality by leaking more information to the adversary (Degree of anonymity). On the other hand communication channels can be physical, e.g. a mobile device can achieve an anonymous channel by constantly changing its location before transmitting messages that do not contain identifiers.
There exists no bit commitment protocol that is universally composable in the Standard Model. The intuition is that in the ideal model, the simulator has to extract the value to commit to from the input of the environment. This would allow the receiver in the real protocol to extract the committed value and break the security of the protocol. This impossibility result can be applied to other functionalities.
Setup and trust assumptions
To circumvent the above impossibility result, additional assumptions are required. Additional setup and trust assumptions, such as the common reference string model and the assumption of a trusted certification authority are also modeled using ideal functionalities in UC.
- Virtual Party Protocol
- Secure channel
- Burrows-Abadi-Needham logic
- Mathematical model
- Common reference string model
- R. Canetti. Universally Composable Security: A New Paradigm for Cryptographic Protocols. 
- Douglas Wikström: A Universally Composable Mix-Net. TCC 2004: 317-335
- Tatsuaki Okamoto: On the Relationship among Cryptographic Physical Assumptions. ISAAC 1993: 369-378
- Waka Nagao, Yoshifumi Manabe, Tatsuaki Okamoto: Relationship of Three Cryptographic Channels in the UC Framework. ProvSec 2008: 268-282