Separated impl from interface for aes file encryption