Well that’s how floating point units work.
The following is more a explanation about the principle than a precise description of float values in programming, since working with binary values has its own quirks, especially with values lower than one, but anyways:
Think about a number noted by a base and an exponent, like
1.000.000
can be represented as
1*10^6
.
1.000.001
now becomes 1,000001*10^6
.
If you want more precision or bigger numbers maintaining the same precision, you will have to add further and further decimal places and that hits a limit at a certain amount.
So basically you can either get really high numbers in a floating point unit or you can store really precise small numbers. But you cannot achieve both at the same time.
I share that concern and would not rely on my messaging being secure. Anyways as far as they state it themself, your private key for decrypting should stay on your device (in fact it uses the signal protocol and does a few more steps, e.g. to implement shared sessions over multiple devices. You can have a look at their FAQ, they’ve linked a white paper within it describing the technical details). But the main question is in my opinion: do you trust the guarantees they give you? It’s the same struggle as with any proprietary software. You can trust them or you don’t, but you will never know without access to the source code.
I read from your answers on other comments, that you do want to have even protection if someone forces you to give up your password and at the same time have the convenience of a quick boot process and avoid full disk encryption? (Not provoking, just want to make sure I get you right). Please consider, that if you don’t make your thread-model clear it will be really hard to give a proper advice.
Please be aware that it’s often a trade between usability and comfort on the one hand and proper security on the other hand. I’m not really sure if you want to target both at the same priority, that might not work out. You will not achieve Maximum convenience and maximum security at the same time.
If you want to actually commit to high security, there’s a thing with LUKS or VeraCrypt supporting plausible deniability. Main concept is, you have one key that decrypts sort of a mock up file system with uncritical data (or misleading, slightly compromising stuff, however you want to play it). Then you have a way longer key, that unlocks the actual data. This can cover your ass for the thread model of some actor forcing you to give up you password. Have a look at the VeraCrypt documentation on plausible deniability.
Another great read for me was hitchhikers guide to online anonymity. Might be off topic, but there are some great advices and guides to increase your anonymity and considerations about online security too. If you want to go fully paranoid on a Snowden level, that might be you way to go. Took it as a inspiration to get myself a QubesOS setup and got a lot of insights with that one.
I really don’t want to discourage you, it’s the opposite! I appreciate everyone thinking about how to secure their stuff properly, but be aware that you might need to dig yourself deep into it, if you want to achieve the goals you mentioned.
Heather Net should better go back to her networking course.