aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/README.md b/README.md
index cadbb7e..788d605 100644
--- a/README.md
+++ b/README.md
@@ -8,17 +8,17 @@
## About this project
-The TorFS project was initialted as a final project in [NTU Cryptography and Network Security course](https://www.csie.ntu.edu.tw/~hchsiao/courses/cns19.html). It was motivated by [dnsfs](https://github.com/benjojo/dnsfs) and [pingfs](https://github.com/yarrick/pingfs). We explored the similar idea, that exploits storage from protocols which was not intended for this purpose. We discovered Tor hidden services can be regarded as reliable and retrievable data storage.
+The TorFS project was initiated as a final project in [NTU Cryptography and Network Security course](https://www.csie.ntu.edu.tw/~hchsiao/courses/cns19.html). It was motivated by [dnsfs](https://github.com/benjojo/dnsfs) and [pingfs](https://github.com/yarrick/pingfs). We explored the similar idea, which exploits storage from protocols which was not intended for this purpose. We discovered Tor hidden services can be regarded as reliable and retrievable data storage.
## How TorFS works
-Before involving into TorFS, it's better to understand Onion services (formerly, hidden services). It provides anonymity to websites and other services beneath Tor's Onion network. Tor website already has a good [explanation](https://www.torproject.org/docs/onion-services.html.en) on Onion services. For those who wants to know about it deserve 10 minutes reading on this.
+Before involving into TorFS, it's better to understand Onion services (formerly, hidden services). It provides anonymity to websites and other services beneath Tor's Onion network. Tor website already has a good [explanation](https://www.torproject.org/docs/onion-services.html.en) on Onion services. A 10-minute reading is worthwhile for those who want to know about it.
To setup an Onion service, we generate a private/public long-term key pair as our service indentity. Currently Tor allows Ed25519 or RSA1024 keys. We advertise our service named XYZ.onion or some by asking _introduction points_, basically Tor relays, to store our public keys. Whoever client visiting our service should learn about our public key, and setups up a _rendezvous point_ for futher contact.
-However. we only need to store data without an actual service. We don't need the whole feature of Onion service. It turns out the _introduction points_, along with our public keys, can survive even the actual service is absent. As you can figure out, we put the stuffs into public keys and retrieve them back using _.onion_ addresses! That's basically how TorFS works.
+However, we only need to store data without an actual Onion service. It turns out the _introduction points_, along with our public keys, can survive even the actual service is absent. As you can figure out, we put the stuffs into public keys and retrieve them back using _.onion_ addresses! That's basically how TorFS works.
-In details, e derived an algorithm to generate 1024-bit long RSA keys, where 800 of 1024-bits of _n_ component (product of two primes) is arbitrary data. We manipulate remaining bits to satisfy RSA's constraints. Then, We build a virtual file system that slice the files into 800-bit blocks, distribute them to introduction points, and keep track of the replicas by _.onion_ addresses.
+In detail, we derived an algorithm to generate 1024-bit RSA keys, where 800 out of 1024 bits in _n_ component (product of two primes) can contain arbitrary data. We manipulate the remaining bits to satisfy RSA's constraints. Then, we build a virtual file system that slice the files into 800-bit blocks, distribute them to introduction points, and keep track of the replicas by _.onion_ addresses.
## Prerequisites