<head><title>FAQ</title></head>
$!{decoration.custom.setAttribute("contentHeaderLogo", "../images/header-notebook.jpg")}
#set( $H = '#' )

Frequently asked questions (FAQ)
-------

$H$H$H What's OpenPGP and why does subshare use it?

The [OpenPGP](./openpgp.html) and [Security](./security.html) pages answer this question.


$H$H$H What encryption algorithms are used?

Whenever OpenPGP is involved, the properties of the OpenPGP keys used dictate the public-key algorithm.
When subshare creates a new OpenPGP key, it generates an <a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">RSA</a>
key with a size of 4096 bit.

For the OpenPGP-based symmetric encryption, [Twofish](https://en.wikipedia.org/wiki/Twofish) (with 256 bit keys) is used.

Most of the encryption and signing is done without OpenPGP (see [Security](./security.html)), though.
For these thousands of non-OpenPGP-based keys and cipher-operations, subshare uses:

* Asymmetric (public-key) cryptography:
	* Algorithm: <a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">RSA</a>
	* Key size: 4096 bit
	* Padding: [OAEPWITHSHA1ANDMGF1PADDING](https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding)

* Symmetric cryptography:
	* Algorithm: [Twofish](https://en.wikipedia.org/wiki/Twofish)
	* Key size: 256 bit
	* Block cipher mode: [CFB](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_Feedback_.28CFB.29)
	* Padding: *none (not needed when using CFB)*


$H$H$H What happens in case of a collision?

If you modify the same file on two separate computers and then synchronise, there is - obviously - a collision.
You also run into a collision, if you modify a file on one device and delete it on another (without synchronising
inbetween). There are more situations leading to collisions, of course, but there\'s no need to list them all here.

All collisions are solved in the same way: Both versions are checked-in so that both
are available in the history (and can be restored), a collision-marker is created for the affected file/directory
and shown in the UI (in the directory tree as well as in the history).


$H$H$H What's this "local server"?

Subshare's client program consists of two parts: The graphical user interface (GUI) and the actual logic.
The two parts run in two distinct processes (JVMs), allowing for the GUI to be closed, while the synchronisation
continues to run in the background. 

When you start the GUI process, it automatically launches the so-called *cproc* (client process) with the local server
in the background — if it is not yet running.

The local server opens a randomly chosen TCP port on `localhost` and is thus *not accessible from other computers*.
To protect it further, i.e. to prevent other users on the *same computer* from accessing it, the local server generates
a random password on every startup. This password (together with its port) is stored in `~/.subshare/localServer.properties`
and thus not accessible to other users (if the file system permissions are set correctly).

The user can thus start subshare whenever he logs in into his workstation. After entering his OpenPGP secret key's passphrase,
he can quit the GUI process — the actual synchronisation logic continues to run and keeps everything in-sync.

![3 processes](../images/faq/local-server.png)


$H$H$H How can I set log levels?

You can find all logging configuration files in the `~/.subshare` directory.

There are : 

* `logback.client.xml` for the client process
* `logback.localserver.xml` for the client's separate server process (see "local server" above)
* `logback.server.xml` for the server process

Please consult [the logback manual](http://logback.qos.ch/manual/) for further information
about how to configure the logging.


$H$H$H Can I use subshare on my Android-based smart phone or tablet?

Currently, this is *not yet* possible. Sorry! But we're working on it — see [issue 32](https://github.com/subshare/subshare/issues/32).

If you want to see this happen faster, you can financially support us ([contact us](../about/contact.html) then)
or you can [contribute as a developer](./development.html).


$H$H$H Can I use subshare on my iOS-based smart phone or tablet?

No.

We do not sacrifice our precious time and money to support a company devoted to enjailing their users and developers!
There are too many [reasons not to use Apple](https://stallman.org/apple.html) to list them here.

In short: subshare is our contribution to making this world a better place. We certainly won't donate our time to an
evil company which pursues the opposite goal.

However, if you really want to use subshare on an iThing, you can pay us. If you're serious about and financially capable
to pay our efforts, please [contact us](../about/contact.html).

Alternatively, you can [develop & contribute it yourself](./development.html).


$H$H$H What's the relation and what are the differences between CloudStore and subshare?

[CloudStore](http://cloudstore.codewizards.co) also synchronizes files between computers. subshare
actually builds on top of CloudStore.

CloudStore solely protects the communication between client and server via encryption.
The files are stored in plain-text on both client and server.
This is great when your server is safe and completely under your control.

subshare, however, does not trust the server. It assumes that the server is NSA-controlled ;-) Therefore,
all data reaching (and being stored on) the server is encrypted. Only the user owning the data and the users having
been granted read permissions are able to decrypt the files. 


$H$H$H Another question?

If your question is not answered here, please check both our [wiki](../../wiki) and our [tracker](../../tracker).

If you still don\'t find what you\'re looking for, go ahead and ask your question publicly in the [tracker](../../tracker).
Please label your question as \"question\" there.
