A key exchange protocol can be performed between components of a system,
such as between a computer program being executed by the processor of a
PC (or other computer system) and a peripheral. A peripheral with a user
input capability and a very limited display capability, such as a
keyboard or a mouse, may be used to confirm a key exchange between the
system components in a way that requires the user to enter only small
amounts of input data (e.g., keystrokes or mouse clicks). Security
between components may be enhanced without having a negative impact on
usability of the system. Embodiments of the present invention help to
deter "man in the middle" attacks wherein an attacker gains control of a
system component situated between certain communicating system
components.