A method and system for concealing from an outside observer the source and
destination of information transmitted over computer network. Two types
of data packets are defined: content packets that are carrying
application data, i.e. real information, and announcement packets that
are carrying data providing delivery of content packets. A flow number is
assigned to a flow of packets carrying specific application data from a
source host to a destination host and the number is included in the
content packet header instead of the source and destination addresses.
Applying public/private key encryption to announcement packets, which are
delivered according to the standard IP protocol, a network server
provides the flow number to the source and destination hosts and each
router along the path between them, thereby building an anonymous virtual
circuit for delivery of application data.