2) Should be encrypted/decrypted client side
* That limits the options to Spideroak/Waula
3) The number of files/directories shown be known to those who has access to the data
* The number of files & directories will be known by Waula , SpiderOak. And, we are not sure about how secure they are as they are closed source.
We can create encrypted zip and store . But that has disadvantage. See next point.
4) Add update individual files both from Ubuntu & Windows.
Truecrypt encrypted container solves all these. But the question is how to put it on the cloud and make is look like just another disk partition.
1) Use one of my Digital Ocean VPS that runs Ubuntu and create a iSCSI target.
2) This article has step-by-step instructions to create the iSCSI target of your required size. Also there is instruction to map as drive via the inbuilt iSCSI initiator via Windows 7.
3) Just go though the regular procedure of creating a encrypted partition via truecrypt client.
4) Access the files stored from other clients by configuring iSCSI initiator. For UBuntu : here is the instruction.
Yet to find a way to access it from my Android as Truecrypt does not support it.