¿Cómo funciona AES en CTR para Python con PyCrypto?

Estoy usando python 2.7.1 Quiero cifrar algo usando AES en modo CTR. Instalé la biblioteca PyCrypto para Python. Escribí el siguiente código:

secret = os.urandom(16)
crypto = AES.new(os.urandom(32), AES.MODE_CTR, counter=lambda: secret)
encrypted = crypto.encrypt("asdk")
print crypto.decrypt(encrypted)

Tengo que ejecutar crypto.decrypt tantas veces como el tamaño de byte de mi texto sin formato para obtener correctamente los datos descifrados. Es decir:

encrypted = crypto.encrypt("test")
print crypto.decrypt(encrypted)
print crypto.decrypt(encrypted)
print crypto.decrypt(encrypted)
print crypto.decrypt(encrypted)

La última llamada a descifrar me devolverá el texto sin formato. Las otras salidas de descifrar son algunas cadenas gibberish. Me pregunto si esto es normal o no? ¿Tengo que incluir en un bucle con un tamaño igual al de mi texto simple cada vez o me he equivocado de algo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta