Разработка программы шифрования файлов и каталогов алгоритмом IDEA - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, выдали нам заочникам курсовую. Вот само задание:
Тема: Разработка программы шифрования файлов и каталогов алгоритмом IDEA (режим электронной кодовой книги) Исходные данные: программа должна осуществлять шифрование и дешифрование файлов или каталогов. При шифрации каталога все файлы в каталоге шифруются отдельно и объединяются в один файл. При дешифрации каталога все файлы создаются в расшифрованном виде. Я ни разу ещё не работал с битами, поэтому в самом начале и застрял. Вопрос таков: "

Как достать с текстового файла блок 64 бита (вместо символов) поделить их на 4 субблока по 16 бит и работать с ними дальше?

".

Мне в голову пришла только идея брать из таблицы ASСII номер в 10-ой системе и переводить его в 2-ую систему тем самом получая то что надо. Но мне кажется что это бред и должен быть способ попроще который напрямую позволит работать с битами.

Вот код моего бреда на Pelles C:
if ((OpenFile = fopen(NameFile,"rb")) == NULL)
      printf("error open file\n");
    else
    while (!feof(OpenFile))
    {
        memset(Buf, 0, sizeof(Buf)); //обнуляем переменную
        fread(Buf, 8, sizeof(char), OpenFile); //считываем 8 байт -> 64 бит     
        for(i = 0; i < 8; i++)
        {
            bits = (int)Buf[i]; //преобразовываем в 10-ую систему
            printf("%d", bits); //выводим на экран
            /*требуеться 10-ую перевести в 2-ую и 
            тут я понял что я пишу какойта бред*/
        }
        printf("\n");   
    }   
    fclose(OpenFile);
Подскажите статьи (книги) по теме "Работа с битами на Си", а то с универа никакой литературы не дали(не посоветовали).

Решение задачи: «Разработка программы шифрования файлов и каталогов алгоритмом IDEA»

textual
Листинг программы
unsigned int bit1 : 1;

Объяснение кода листинга программы

  1. Объявляется переменная bit1 типа unsigned int, что означает беззнаковое целое число со знаком.
  2. Устанавливается размер поля в 1 бит, что позволяет хранить только два значения: 0 и 1.
  3. Значение переменной bit1 инициализируется значением 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы