  We consider secret key generation for a "pairwise independent network" model
in which every pair of terminals observes correlated sources that are
independent of sources observed by all other pairs of terminals. The terminals
are then allowed to communicate publicly with all such communication being
observed by all the terminals. The objective is to generate a secret key shared
by a given subset of terminals at the largest rate possible, with the
cooperation of any remaining terminals. Secrecy is required from an
eavesdropper that has access to the public interterminal communication. A
(single-letter) formula for secret key capacity brings out a natural connection
between the problem of secret key generation and a combinatorial problem of
maximal packing of Steiner trees in an associated multigraph. An explicit
algorithm is proposed for secret key generation based on a maximal packing of
Steiner trees in a multigraph; the corresponding maximum rate of Steiner tree
packing is thus a lower bound for the secret key capacity. When only two of the
terminals or when all the terminals seek to share a secret key, the mentioned
algorithm achieves secret key capacity in which case the bound is tight.
