Project Part 2 - Hidden Services implementation overview 
personal public git repository for JTor

Javadocs for hiddenservice package

As part of JTor, the Java Tor Protocol library, I have decided to take on a specific part of the Tor protocol, the hidden services. Say that someone wants to offer a service - web server, chat server, any kind of server/service - but they want their IP to remain anonymous. Tor hidden services allows this.

Because this is a Java library, my goal is to make my code easily usable for people who want to establish a hidden service connection. I will provide an interface for developers who want to incorporate Hidden Services into their program or for alternative Tor clients and protocols.

This problem can be split into two different parts - the Server(Bob) and the Client(Alice). Before this can happen, Bob needs to initialize the service.

  • Bob initializes the Hidden Service with a service name and a port range
  • A public/private key pair is generated for encryption via the hidden service.
  • descriptor-id = H(permanent-id | H(time-period | descriptor-cookie | replica)) - where H(x) is the SHA1 digest of x
  • Bob then establishes introduction points which are also encoded in the Service Descriptor
  • Service descriptor is sent to Tor directory service (advertised) - Bob keeps circuits open to introduction points and waits for connections

Now, the hidden service is available for Alice to connect to:

  • Alice obtains the onion address
  • Alice queries directory services for onion address (x).(y).z.onion
  • Alice obtains the address's ServiceDescriptor
  • Alice sets up rendezvous points to one or more of the advertised introduction points
  • Circuit is established: Alice sends requests to Bob and Bob responds.

Important Algorithms:

  • correct encryption and encoding
  • managing cmultiple circuit connections
  • time synchronization (time-period = (current-time + permanent-id-byte * 86400 / 256) / 86400)
  • maintaining & generating unique identifiers

For more information, please refer to Tor's Hidden Service Spec or my notes about Hidden Services.

[ add comment ] ( 17 views )   |  permalink
Review - Explaining Cloud computing - The Past, Present, Future 
From Bharti Gupta's website - ... -computing

Target Audience

The target audience here is people who want a good visual explanation and overview of cloud computing. Also the target audience is youtube viewers.

Type of Document

This is an informative video. It is an informal document.

Summary of Video

This video goes through the different factors of the cloud computing trend. The narrator relates cloud computing to Web 2.0. He then goes on to explain how hardware and software can be provided as a service. He gives a metaphoric overview of the way it works. Then he comes full circle to explain the implications of cloud computing and its potential as a big technology.


It was a very informative video and good for people who might not have been introduced to cloud computing before. It is good for a big picture overview also. However, it probably is not a good resource for in depth analysis.

[ add comment ] ( 22 views )   |  permalink  |  related link
Review - Intelligent Agents for intrusion detection 
From SANDHYA VARANASI's webpage. ... .varanasi/

Target Audience

This is defenitely an academic paper. I think the target audience would be professionals, students, or academics who are doing research on this topic.

Type of Document

This is an academic document that explores a formally defined process. The document was supported by a contract with the US Department of Energy

Summary of Article

This article describes a technique used for intrusion detection. It is a data mining technique in which a distributed system of intelligent agents can detect intrusion. They used a Java framework for Meta-Learning to implement this expirement. The intelligent agents were trained with data before being able to detect intrusion.


The experiment was a success, and they were able to implement intrusion detection by using this data mining technique on a distributed system of Java-implemented intelligent agents. This seems like a valid place to look for a model for implementing a network of intelligent agents.

[ add comment ] ( 6 views )   |  permalink  |  related link
Web client based distributed systems links 
Here are my three links for my Topic!
  1. applet based anonymous distributed computing system ... tId=863699
  2. Hack a day article on Java based and Javascript based distributed computing. ... avascript/
  3. Genetic algorithm implementation in Distributed Javascript

[ add comment ] ( 1 view )   |  permalink
Redefinition of project: in depth project description, use cases and deployment diagram 
I am going to implement a Tor client/relay in Java. There is an existing project, OnionCoffee, which is an attempt at creating a Java implementation of Tor. However, this project is out dated, full of bugs and incomplete. OC (OnionCoffee) does not have the capability to run a relay (to become a node in the Tor network). I propose to update the OnionCoffee code and implement the Relay functionality in OnionCoffee. This is an integral part in the distributed system, because the relay will be responsible for setting up circuits in the Tor network, as well as handle distributed key exchange. The specifications for a Tor client can be found at For my project I would like to fork the OnionCoffee project and bring it up to the Tor client specifications, including the relay capability.

Use Case Diagram
Deployment Diagram

[ 1 comment ] ( 9 views )   |  permalink

<<First <Back | 1 | 2 | 3 | Next> Last>>