Its widely used for logging in to remote computers, file transfers and tunneling of other protocols over the encrypted comunications channel.
All communications are automatically and transparently encrypted.
Encryption is also used for integrity checking purposes although current implementations rely on a 32 bit Cyclic Redundancy Check to perform integrity checks after the decryption of an incoming packet. Encryption is done using one of a list of supported algorithms that is exchanged between client and server. Upon conection establishment client and server perform a protocol negotiation that includes mutual authentication, selection of a cipher supported by both ends for subsequent communications and of a session key to be used with the cipher. Encryption is then turned on using the selected cipher and session key, all further communications are encrypted. The attack is equally feasible on the server to client stream , although it just gives the ability to send arbitrary data the user's terminal.