3 ms·
Not YET, but there are no any promises too. New API like secretstream includes algo into API names, so, I hope, it is "stable forever", but it is rather new fe
by blacklion 2y ago
Not YET, but there are no any promises too.
New API like secretstream includes algo into API names, so, I hope, it is "stable forever", but it is rather new feature.
Basic APIs like "crypto_secretbox" are "black boxes" and there are no any guarantees spelled out. Algorithms are mentioned in documentation, though.
What will do libsodium if used algorithm will be broken? I don't know.
- another2another 2y agoI don't have the source right now, but I believe a lot of the algorithms used are set in build time #defines so it might be possible to capture them at build time and store them with the encrypted data. Means you'd have to find a compiled lib with the exact same settings to decrypt them though.
- jedisct1 2y agoIf a high-level API ever has to be changed, that will be libsodium 2.0. In 12 years, libsodium never had any breaking API changes, even though I don't like the NaCl API much (especially usage of `unsigned long long` instead of `size_t` for sizes). API stability is something I'm very committed to, in all my software. APIs can always be improved. But from a developer perspective, a suboptimal but stable API is far better than something that requires changes to all your applications every time the dependencies are updated.
- jedisct1 2y agoThis is documented in the FAQ.