>>11228I'm not overly familiar with this service, but from looking into their FAQ's it seems like it's just breaking files into chunks, encrypting the chunks, uploading some/all chunks to their cloud, and then the client downloads and unencrypts the chunks on it's end. Almost certainly some kind of validation e.g. each encrypted chunk has a checksum listed which the client verifies after dowloading, if they don't match redownload and try again.
The actual core technologies would be pretty simple to implement, since this kind of crypto and reliable download mechanisms have existed for years / decades. Building the various client apps, web services, middleware platforms, etc. around those core technologies would be pretty time consuming though.
If you wanted to build a hacked-up clone of this for small scale e.g. sharing between friends, you could have the following setup:
You, your friend, and a virtual private server all have torrent software installed. The VPS also has a torrent tracker setup.
You and your friend have a shared symmetric key, or you encrypt the files you want to send with their public key. NEVER allow the VPS to have the decryption key.
You create a torrent of the files you want to send them, and also ensure that the torrent exists on the VPS's torrent software and in the tracker.
You send your friend the torrent.
Even if you are offline, they can dowload the files from the VPS which is seeding the torrent. The VPS cannot open the files because they are encrypted, so even if it gets seized the contents are safe.
Then you just email the torrent file to your friend, and they can start downloading.
Wrap that in some scripts to automate the upload to the VPS part and you have most of the functionality taken care of. No web interface, but who really needs it.