Commit Graph
4 Commits
Author SHA1 Message Date
Reinaldo de Souza Jr aedad9a179 otr: Fix revealing MAC keys when a DH key is rotated
The existing implementation did not save all the fields in keySlot, which not
only caused a cache miss on every calcDataKeys() but also caused the rotate keys
functions to not find the MAC keys that should be revealed.

It also stops revealing the sending MAC keys. The finite-state analysis of the
otr v2 spec[1] revealed an attack on message integrity when sending MAC keys are
revealed. The spec had been updated accordingly [2].

1 - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.7945&rep=rep1&type=pdf
2 - http://sourceforge.net/p/otr/libotr/ci/58fd90cb77c836ff9fa762e91d2b2becc6d5aae8/

Change-Id: Iee36205994ebdb27d8c890ae25fd9981326401df
Reviewed-on: https://go-review.googlesource.com/12781
Reviewed-by: Adam Langley <agl@golang.org>
2015-08-30 18:06:42 +00:00
Adam Langley c9c0e06eed go.crypto/otr: expose IsEncrypted.
It's useful to expose this bit of state because, although callers can
keep track of it themselves, it's already in the Conversation so it
seems wasteful to make them do so.

R=golang-dev, ioerror
CC=golang-dev
https://golang.org/cl/6724056
2012-10-17 14:58:16 -04:00
Shenghou Ma 2aed6cb9f1 otr: fix compilation
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6446054
2012-07-26 19:56:54 -04:00
Adam Langley 929dedf39d otr: add package
otr implements the Off-the-Record messaging protocol from
http://www.cypherpunks.ca/otr/. It's often used on IRC and Jabber
for private conversations.

R=golang-dev, rsc, dchest
CC=golang-dev
https://golang.org/cl/6300064
2012-06-14 13:36:13 -04:00