def step(self, other_pub):
if self.triggersStep(other_pub):<EOL><INDENT>self.__wrapOtherPub(other_pub)<EOL>self.__newRootKey("<STR_LIT>")<EOL>self.__newRatchetKey()<EOL>self.__newRootKey("<STR_LIT>")<EOL><DEDENT>
Perform a rachted step, calculating a new shared secret from the public key and
deriving new chain keys from this secret.

New Diffie-Hellman calculations are only performed if the public key is different
from the previous one.

:param other_pub: A bytes-like object encoding the public key of the other
    Diffie-Hellman ratchet to synchronize with.