A method for encrypted communication comprising: generating with a sending device a first counter value being represented by a first predetermined number of bits; generating with a cryptographic key and the first counter value in the sending device a first nonce; applying with the sending device the first nonce to first plain text data to generate first cipher text data; sending with the sending device a first message including binary data corresponding to the first cipher text data and the first counter value to a receiving device for decryption of the first cipher text data; modifying with the sending device the first counter value by a predetermined amount to generate a second counter value; identifying with the sending device intermediate state data corresponding to a change between the first counter value and the second counter value, the intermediate state data being represented by a second number of bits, the second number of bits being less than the first number of bits, the intermediate state data being a numeric difference value between the first counter value and the second counter value; concatenating with the sending device the second counter value and the intermediate state data to generate a concatenated counter value; generating with the cryptographic key and the concatenated counter value in the sending device a second nonce; applying with the sending device the second nonce to second plain text data to generate second cipher text data; and sending with the sending device a second message including binary data corresponding to the second cipher text data and the intermediate state data to the receiving device for decryption of the second cipher text data. generating with a sending device a first counter value being represented by a first predetermined number of bits; generating with a cryptographic key and the first counter value in the sending device a first nonce; applying with the sending device the first nonce to first plain text data to generate first cipher text data; sending with the sending device a first message including binary data corresponding to the first cipher text data and the first counter value to a receiving device for decryption of the first cipher text data; modifying with the sending device the first counter value by a predetermined amount to generate a second counter value; identifying with the sending device intermediate state data corresponding to a change between the first counter value and the second counter value, the intermediate state data being represented by a second number of bits, the second number of bits being less than the first number of bits, the intermediate state data being a numeric difference value between the first counter value and the second counter value; concatenating with the sending device the second counter value and the intermediate state data to generate a concatenated counter value; generating with the cryptographic key and the concatenated counter value in the sending device a second nonce; applying with the sending device the second nonce to second plain text data to generate second cipher text data; and sending with the sending device a second message including binary data corresponding to the second cipher text data and the intermediate state data to the receiving device for decryption of the second cipher text data.