Шифрование перестановкой полубайтов
Помогите написать прогу "ШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ ПОЛУБАЙТОВ". Вводится последовательность не более 11 строк длиной не более 26 символов. Допустимые символы в строке - русские буквы и пробел. Окончание входного потока - ввод строки, начинающейся символом ";". Шифрование состоит в том, что в двоичном коде каждого символа (байте) переставляются местами его старшая и младшая тетрады, то есть бит 0 меняется с битом 4, бит 1 с битом 5 и т.д. Формируется также статистическая информация. Примерный вид выходной информации:
Входной текст :
(последовательность входных строк)
Введено N1 строк , N2 символов.
Минимальная длина строки N3 символов,
Максимальная длина строки N4 символов.
Шифрованный текст :
(последовательность обработанных строк)
УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и легкую замену в тексте программы числовых и символьных констант. Обратите внимание, что алгоритм шифрования симметричен - для дешифрования нужно применить его же.
РАЗВИТИЕ:
1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
2. Предусмотреть ввод допустимых символов и символа-признака окончания входного потока, числовых констант из текстового файла.
3. Разработать обобщенные алгоритмы шифрования/дешифрования перестановкой битов и реализовать их в программе. Произвольная перестановка битов в байте может задаваться ключевой строкой. Например, для частного случая алгоритма этой задачи такая строка выглядит как "32107654".
Помогите написать прогу "ШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ ПОЛУБАЙТОВ". Вводится последовательность не более 11 строк длиной не более 26 символов. Допустимые символы в строке - русские буквы и пробел. Окончание входного потока - ввод строки, начинающейся символом ";". Шифрование состоит в том, что в двоичном коде каждого символа (байте) переставляются местами его старшая и младшая тетрады, то есть бит 0 меняется с битом 4, бит 1 с битом 5 и т.д. Формируется также статистическая информация. Примерный вид выходной информации:
Входной текст :
(последовательность входных строк)
Введено N1 строк , N2 символов.
Минимальная длина строки N3 символов,
Максимальная длина строки N4 символов.
Шифрованный текст :
(последовательность обработанных строк)
УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и легкую замену в тексте программы числовых и символьных констант. Обратите внимание, что алгоритм шифрования симметричен - для дешифрования нужно применить его же.
РАЗВИТИЕ:
1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
2. Предусмотреть ввод допустимых символов и символа-признака окончания входного потока, числовых констант из текстового файла.
3. Разработать обобщенные алгоритмы шифрования/дешифрования перестановкой битов и реализовать их в программе. Произвольная перестановка битов в байте может задаваться ключевой строкой. Например, для частного случая алгоритма этой задачи такая строка выглядит как "32107654".