Moxie Marlinspike
9dce376780
Correctly handle formatting when "one time PreKey" is absent.
2014-10-20 12:25:40 -07:00
Moxie Marlinspike
006c9aae7b
Only remove unsigned prekey if bundled message decrypts properly.
2014-10-20 12:25:39 -07:00
Moxie Marlinspike
27b5bf54cc
Remove 1 mod 8.
2014-10-20 12:25:39 -07:00
Moxie Marlinspike
5ea3b3038e
Remove verification tag.
...
1) Remove verification tag from PreKeyWhisperMessage.
2) Include sender and recipient identity keys in the MAC of
each WhisperMessage.
2014-10-20 12:25:38 -07:00
Moxie Marlinspike
641ac9aed9
Rename axolotl terminology.
...
1) ephemeralKey -> ratchetKey
2) Have the caller specify Alice/Bob orientation.
3) Reorganize verification tag.
4) Remove verification tag from key exchange messages, replace
with signatures in both directions.
2014-10-20 12:25:38 -07:00
Moxie Marlinspike
4caebdcd06
Update tests for new API.
2014-10-20 12:25:38 -07:00
Moxie Marlinspike
e0d2398ca5
Rename InitializationParameters -> AxolotlParameters
2014-10-20 12:23:14 -07:00
Moxie Marlinspike
f0c22d593f
Simplify/clarify internal interfaces and introduce optional types.
2014-10-20 12:23:10 -07:00
Moxie Marlinspike
0d532afd8e
Rename 'device key' to 'signed prekey'.
2014-10-20 12:17:24 -07:00
Moxie Marlinspike
64b40df15b
Add V3 support for KeyExchangeMessage case.
...
1) V3 KeyExchangeMessages can now contain signatures and
verification tags.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
77ff9cece8
Add a 'verification tag' to incoming PreKeyWhisperMessage bundles.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
6326ef73f3
Split HKDF secret derivation and parsing.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
f29d1e6269
Add support for a compliant HKDF implementation.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
d6c5e92c9d
Collapse RatchetingSessionV2 and RatchetingSessionV3.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
811479d168
Add first cut of protocol v3 support.
...
1) Use the new /v2/keys API for storing/retrieving prekey bundles.
2) For sessions built with PreKeyBundle and PreKeyWhisperMessage,
use a v3 ratcheting session when available.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
931605a1c4
Move identity key verification into libaxolotol. With tests.
2014-10-20 12:14:18 -07:00
Moxie Marlinspike
a601c56af1
Collapse SessionRecord, SessionState, and PreKeyRecord interfaces.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
5a3c19fe3e
Javadocs, and some minor refactoring.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
af45e5d544
SessionBuilder improvements, more extensive SessionBuilder tests.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
14b8f97de2
Reorganize session store load/store operations.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
d902c12941
Break core ratchet out into libaxolotol.
...
1) Break the core cryptography functions out into libaxolotol.
2) The objective for this code is a Java library that isn't
dependent on any Android functions. However, while the
code has been separated from any Android functionality,
it is still an 'android library project' because of the
JNI.
2014-10-20 12:10:02 -07:00