Заказчик
Заказчик pro100suxx2 | FL.RU

Заказчик

На сайте 8 лет и 4 месяца (заходил 5 лет 6 месяцев 22 дня назад)
1
67.7
Рейтинг
67.7
Все (2)       Заказы (2)        Вакансии (0)       Конкурсы (0)
Разместить заказ
18 Ноября 2016
По договоренности
Здравствуйте. Программа должна быть по предмету ООП, то есть с классами и написана на языке С++.
И так, само задание:
Шифрование, которое мне нужно: AES-256.
Написать программу консольного приложения, которое выполняет шифрование и расшифровку произвольных файлов с помощью заданного в соответствии с вариантом симметричного шифра. параметры шифрования программа должна принимать из командной строки следующего вида:
crypt -mode key scrname dstname
• mode: {enc, dec } шифрование и расшифровка;
• key: ключ, длина зависит от шифра;
• scrname: имя исходного файла;
• dstname: имя файла результата;

Если командная строка не соответствует необходимым условиям, программа должна отказаться от операции шифрования или расшифровки.
В начале файла криптограммы должна быть записана структура, указывающая тип, режим и длину шифра:
enum eChiperMode
{
ecb, //electronic code book – простая замена // основное для выполнения
gamma, //gamming – гаммирование // по желанию (не обязательно)
efb, //encryption with feedback – шифрование с обратной связью // по желанию (не обязательно)
check //выработка имитоприставки // по желанию (не обязательно)
};
struct sCryptoHeader
{
char chiper_name[16]; //название шифра лишние байты обнулятся
eChiperMode mode; //режим шифрования
long long file_len; //длина файла открытых данных
};
Расшифровка должна выполняться только если шифр криптограммы совпадает с шифром, реализованным в программе.
Обязательным для реализации является режим простой замены. Остальные режимы использования реализуются по желанию.
Шифрующий класс cEncryptor должен содержать открытые методы:
void setKeys(char masterKey[KEY_SIZE]);
void encryptBlock(char block[BLOCK_SIZE]);
void decryptBlock(char block[BLOCK_SIZE]);
где KEY_SIZE и BLOCK_SIZE константы, зависящие от выбранного шрифта.
Управляющий класс cController должен содержать следующие открытые методы:
long long encrypt(string key, string src_file_name, string dst_file_name);
long long decrypt(string key, string src_file_name, string dst_file_name);
эти методы в случае успеха возвращают количество зашифрованных байтов, а в случае неудачи возвращают 0.

Если можно использовать наиболее простые для понимания действия.

Можете сказать примерные сроки работы ?

Прошло времени с момента публикации: 8 лет 3 месяца 25 дней 19 часов 14 минут
Раздел: Программирование / Прикладное программирование

Рейтинг: 8183.3 Исполнитель определен:
13 Ноября 2016
По договоренности
Здравствуйте. Программа должна быть по предмету ООП, то есть с классами и написана на языке С++.

И так, само задание:

Шифрование, которое мне нужно: AES-256.

Написать программу консольного приложения, которое выполняет шифрование и расшифровку произвольных файлов с помощью заданного в соответствии с вариантом симметричного шифра. параметры шифрования программа должна принимать из командной строки следующего вида:

crypt -mode key scrname dstname

• mode: {enc, dec } шифрование и расшифровка;

• key: ключ, длина зависит от шифра;

• scrname: имя исходного файла;

• dstname: имя файла результата;



Если командная строка не соответствует необходимым условиям, программа должна отказаться от операции шифрования или расшифровки.

В начале файла криптограммы должна быть записана структура, указывающая тип, режим и длину шифра:

enum eChiperMode

{

ecb, //electronic code book – простая замена

gamma, //gamming – гаммирование

efb, //encryption with feedback – шифрование с обратной связью

check //выработка имитоприставки

};

struct sCryptoHeader

{

char chiper_name[16]; //название шифра лишние байты обнулятся

eChiperMode mode; //режим шифрования

long long file_len; //длина файла открытых данных

};

Расшифровка должна выполняться только если шифр криптограммы совпадает с шифром, реализованным в программе.

Обязательным для реализации является режим простой замены. Остальные режимы использования реализуются по желанию.

Шифрующий класс cEncryptor должен содержать открытые методы:

void setKeys(char masterKey[KEY_SIZE]);

void encryptBlock(char block[BLOCK_SIZE]);

void decryptBlock(char block[BLOCK_SIZE]);

где KEY_SIZE и BLOCK_SIZE константы, зависящие от выбранного шрифта.

Управляющий класс cController должен содержать следующие открытые методы:

long long encrypt(string key, string src_file_name, string dst_file_name);

long long decrypt(string key, string src_file_name, string dst_file_name);

эти методы в случае успеха возвращают количество зашифрованных байтов, а в случае неудачи возвращают 0.

Если можно использовать наиболее простые для понимания действия.



Можете сказать примерные сроки работы ?

Прошло времени с момента публикации: 8 лет 4 месяца 14 часов 1 минута
Раздел: Программирование / Прикладное программирование

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».