* Save encryption key locally * Save private key locally * Automatically negotiate with other chat participants via pub/priv * Use agreed upon symmetrical key for actual encryption * How do we handle late arrivals? * Multiple keys saved, with an id that is stored with message? That way you can still decrypt old messages, but you use the new key after that. * Key conflicts must be prevented or handled; vector clocks? Use OPs as masters?