Нужно написать программную реализацию одного из следующих симметричных шифров: Магма, Кузнечик или AES. Программа должна принимать на вход файл, содержащий открытый текст, подлежащий зашифрованию, или шифртекст, подлежащий расшифрованию, принимать на вход секретный ключ (по выбору пользователя). Также осуществлять зашифрование или расшифрование выбранного файла по выбору пользователя и сохранять результат в новом файле. В самой программе нужно постараться не использовать сторонние библиотеки, которые напрямую связаны с данными шифрами.