O'Reilly logo

Peer-to-Peer by Andy Oram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Publius operations

Given the previous description of Publius-related cryptographic functions, we now describe the Publius operations Publish, Retrieve, Update, and Delete.

Publish operation

Suppose that we wish to publish the file homepage.html with Publius. The accompanying sidebar outlines the steps the Publius proxy follows to publish a file. First, a key is created from the MD5 and SHA-1 hash of the contents of the file homepage.html. This key is then used to encrypt the file, producing a new file we will call homepage.enc. Using Shamir’s secret sharing algorithm, the key is split into 30 shares such that any 3 of these shares can be used to reconstruct the key. The first share is named Share_1, the second Share_2, and so on. The MD5 hash of the contents of homepage.html and Share_1 is calculated. This MD5 hash results in a 128-bit number. An operation is performed on this number to determine an index into the Publius Server List. The Publius Server List is essentially just a numbered table of web servers, each running the Publius server software. The index is used to locate a particular server. For instance, the index value 5 corresponds to the 5th entry in the Publius Server List. You will recall that all Publius client software has the same list, and therefore the 5th server is the same for everyone.

For the sake of argument let’s assume that our index number is 5 and that the 5th server is named www.nyu.edu. The proxy now attempts to store the file homepage.enc and Share_1 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required