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.