Хочу написать шифратор для файлов, интересуют симметричные шифрования, кроме xor. Желательно с ссылками на примеры.
Шифрование это как раз самая простая часть, ее даже писать самому не нужно. Для любого шифра существует так называемая "reference implementation". Это реализация шифра, обычно написанная на C, от авторов шифра. Для всех распространенных шифров reference implementation находится в public domain, то есть можете ее использовать как хотите и даже спасибо авторам необязательно говорить. Хорошим выбором являются AES, Twofish, Serpent, для них существуют масса реализаций на разных языках. После того, как вставите код в свою программу, обязательно проверьте шифр на "test vectors", которые также существуют для любого шифра. Это просто триады plaintext/key/ciphertext. Проверять по тестовым векторам нужно обязательно, потому что если есть хоть малейшая возможность ошибиться, то так оно и будет.
То есть алгоритм такой: допустим, хотите использовать Twofish. Набираете в гугле "twofish reference implementation", идете на сайт Шнайера, тащите оттуда все что нужно, и ваяете свою утилиту.
Проблемы у вас будут не с шифром. Для приличной программы шифрования файлов собственно шифр занимает в районе 0,5% кода и, как я уже сказал, писать его необязательно. Основные проблемы там совершенно в другом, и вы с ними, несомненно, встретитесь. Разработка формата файла (нетривиальная задача), управление ключами и проблема их верификации (очень нетривиальная задача), надежное удаление исходных файлов (еще более нетривиальная задача, которая во многих случаях вообще не решается). В общем, успехов.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите пожалуйста, я только начал изучать с++ и не совсем понимаю, как сделать эту задачуПонятного материала для меня я не нашел(( Прошу не бросаться...
Столкнулся с такой проблемой, мне необходимо записать абстрактный класс в unordered_map для дальнейшего использованияОднако, при попытке это сделать...
Есть два файла Не считая хэйдера arrayh , в ней только одна строчка: