#!/usr/bin/env python3.7

"""
Initialize AES-Toolbox KeySchedule
"""
import sys
import argparse
from aestoolbox.core.aes_schedule import KeySchedule
from aestoolbox.core.base.logs.logger import ToolboxLogger
from logging import getLogger

LOG = getLogger(__name__)

parser = argparse.ArgumentParser()
parser.add_argument('-v', '--verbose', action="store_true",help='Activates DEBUG LOG')
parser.add_argument('-i', '--inverse', action="store_true", help='Also computes the inverse expanded key for decryption.')
parser.add_argument('key', metavar='key', type=str, help="The AES key.")
args = parser.parse_args()

key = args.key
inverse = args.inverse
debug = args.verbose

if debug:
    ToolboxLogger.loadConfig('./aestoolbox/core/base/logs/logging.conf', True)
    
try:
    ks = KeySchedule(key, inverse)
    ks.expand_key() 
    ks.hexdump()
except Exception as err:
    LOG.error(err)
