Implemented ECB and CBC modes, encryption not tested yet