Skip to content

Implementation of the Dining Cryptographers Protocol in the Go Programming Language for demonstration purposes

Notifications You must be signed in to change notification settings

mheinl/golang_Dining_Cryptographers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

golang_Dining_Cryptographers

Implement the network of dining cryptographers problem with 3 cryptographers in the GO Programming language. You must adhere to the following requirements:

  1. Every cryptographer is its own process.

  2. Every coin is its own process

  3. The restaurant owner is its own process

  4. A table observer (yet another process) that sees the external events.

Deliverables:

  1. Your code

  2. Take the events that the table observer sees, and show that they satisfy the anonymity requirement.

  3. Allow cryptographer 0 to see all 3 coins. Write a routine for him to determine who pays, and show that your code works by asking one cryptographer to pay.

Note:

  1. http://cpansearch.perl.org/src/SHEVEK/Crypt-Dining-1.01/lib/Crypt/Dining.pm has a Pearl implementation, but it does not answer the turn-in parts of 2 and 3.

  2. Dining Philosophers have been implemented in GO at http://f.souza.cc/2011/10/go-solution-for-dining-philosophers.html.

  3. The GO programming language has an excellent online tutorial at http://golang.org, and lots of references.

OUR Resources

  1. Presentation: https://docs.google.com/presentation/d/1GntpaTXxO7v-u6xC6Sia2kuoIMUGsJih9BamSHPj1qA/edit?usp=sharing

  2. Report: https://docs.google.com/document/d/1htn1ZCYJIxkSddsJuXxN2BF59a2-XK1VdKB_Ra9SLxI/edit?usp=sharing

  3. Diagrams: https://drive.google.com/file/d/0BzKKQaf6n1hHOUk3bXdrUEFtR28/view?usp=sharing

About

Implementation of the Dining Cryptographers Protocol in the Go Programming Language for demonstration purposes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages