Chris Pollett > Students > Akash

    (Print View)


    [Project Blog]


    [PFS_Presentation - PDF]

    [PFS_Checker(PHP Script)]

    [Tor_HiddenService - PDF]

    [Tor_Network - PDF]

    [Zero_Knowledge_Proof - PDF]

    [Tor - Yioop Patch]

    [CS297_Report - PDF]


    [CS298_Presentation - PDF]

    [CS298_Report - PDF]


Tor - Yioop Patch

Tor (The onion router) is an open source software used for anonymous internet surfing. Tor was originally designed, implemented, and deployed as a third-generation onion routing project of the U.S. Naval Research Laboratory. The primary purpose of Tor was to protect the U.S. navy's confidential communication. Today, it is used by journalists, military people and corporate people for privacy and security purpose.

Tor uses an onion routing system. Tor uses thousands of volunteer networks to direct traffic over the internet so user identity can be kept hidden from network interceptor. Tor helps to reduce the risk of traffic analysis by distributing transactions over several places so no single point can link to the sender's destination.For example, user A wants to send data safely to user B using the Tor network. Tor creates a private network for this communication. The first step is to identify available nodes. User A's Tor client obtains a list of Tor nodes from the server. It picks a random node each time so a pattern cannot be observed by an interceptor. A client generates an encrypted message and sends it to the first node. The Tor client on this node decrypts the first layer of encryption and identifies the next node. This will continue until the final node. The final node receives the location of the actual recipient, where it transmits an unencrypted message to ensure complete anonymity. Now when user 'A' wants to send another packet its Tor client uses a completely different path.

Tor works on the principle of the onion routing. Onion routing uses well known cryptography and networking technologies to provide anonymity and privacy on internet communication. Onion routing connection has three phases: connection setup, data movement and connection tear down. The first phase starts when an initiator creates an onion, a layered data structure that specifies properties of connection at each point. An initiator determines the number of onion routers (nodes) to be used in the communication and creates onion packets by having multiple encryptions using a public key of the onion router (node). Each node has information about only 2 nodes: the sender and the receiver. Each node peels the layer of onion; they use their public key to decrypt the data and obtain information about the next node where data needs to send .Receiver can use its public key and finally obtain plain text. Once connection is established, bi-directional communication is possible. When data is sent back from the receiver to sender layering occurs in the reverse direction.

we have added the code in Yioop to crawl the Tor network.