based pads one method of reducing the memory requirements is to use only part of the address to create a counter block fig1 illustrates the construction of counter block 1102 which comprises nonce 1112 and address block 1114 where address block 1114 is a subset of an address for instance if the memory uses 32 bits address block 1114 could be the least significant 16 bits of the address of course any subset of the address could be used including the most significant bits or any internal combination of bits for more obscurity it could be an arbitrary bit pattern such as the odd bits or every fourth bit while the use of subsets of the address can dramatically reduce the amount of storage required in a lookup table it does open up additional vulnerability for the sake of example suppose that 16 most significant bits of the address are used in a 32 bit address space then 256 k addresses are associated with each counter block if an attacker has access to both the plaintext block and ciphertext block i e can read the memory as well as write to it the attacker can deduce the encrypted counter block and be able to access all 256 k addresses in general this vulnerability allows.