20963

Шифрування та дешифрування даних з використанням режиму шифрування

Практическая работа

Информатика, кибернетика и программирование

Індивідуальні завдання: алгоритм Counter Mode CTR Текст програми AutoSeededRandomPool prng; SecByteBlock keyAES::DEFAULT_KEYLENGTH; prng.size ; byte ctr[ AES::BLOCKSIZE ]; prng.GenerateBlock ctr sizeofctr ; string plain = CTR Mode Test ; string cipher encoded recovered; try { cout plain text: plain endl; CTR_Mode AES ::Encryption e; e.size ctr ; The StreamTransformationFilter adds padding as required.

Украинкский

2013-08-01

98.95 KB

3 чел.

Родін С КІТ-39

Практична робота №2-3

“Шифрування та дешифрування даних з використанням режиму шифрування ”

за курсом “Захист інформації у комп’ютерних системах та мережах”

Ціль роботи : cтворення програм для шифрування та дешифрування інформації за допомогою режиму шифрування.

Постановка задачі

Необхідно розробити і налагодити дві програми:

Програма шифрування інформації з використанням визначеного режиму.

Алгоритм шифрування взяти з лабораторної роботи 2-1 «Блокове шифрування»

У якості інформації використовувати копію файлу з розробленою програмою.

Програма дешифрування інформації (повернення початкового вигляду файлу); а також оцінити правильність процедури “шифрування – дешифрування” (відсутність зміни результату відносно початкового файлу).

 Індивідуальні завдання: алгоритм Counter Mode (CTR)

Текст програми

AutoSeededRandomPool prng;

SecByteBlock key(AES::DEFAULT_KEYLENGTH);

prng.GenerateBlock( key, key.size() );

byte ctr[ AES::BLOCKSIZE ];

prng.GenerateBlock( ctr, sizeof(ctr) );

string plain = "CTR Mode Test";

string cipher, encoded, recovered;

/*********************************\

\*********************************/

try

{

   cout << "plain text: " << plain << endl;

   CTR_Mode< AES >::Encryption e;

   e.SetKeyWithIV( key, key.size(), ctr );

   // The StreamTransformationFilter adds padding

   //  as required. ECB and CBC Mode must be padded

   //  to the block size of the cipher. CTR does not.

   StringSource( plain, true,

       new StreamTransformationFilter( e,

           new StringSink( cipher )

       ) // StreamTransformationFilter      

   ); // StringSource

}

catch( CryptoPP::Exception& e )

{

   cerr << e.what() << endl;

   exit(1);

}

/*********************************\

\*********************************/

// Pretty print cipher text

StringSource( cipher, true,

   new HexEncoder(

       new StringSink( encoded )

   ) // HexEncoder

); // StringSource

cout << "cipher text: " << encoded << endl;

/*********************************\

\*********************************/

try

{

   CTR_Mode< AES >::Decryption d;

   d.SetKeyWithIV( key, key.size(), ctr );

   // The StreamTransformationFilter removes

   //  padding as required.

   StringSource( cipher, true,

       new StreamTransformationFilter( d,

           new StringSink( recovered )

       ) // StreamTransformationFilter

   ); // StringSource

   cout << "recovered text: " << recovered << endl;

}

catch( CryptoPP::Exception& e )

{

   cerr << e.what() << endl;

   exit(1);

}

Висновок: cтворив програму для шифрування та дешифрування інформації за допомогою режиму шифрування.


 

А также другие работы, которые могут Вас заинтересовать

45050. Электрические сети 3.43 MB
  Электрические сети. Номинальное напряжение сети соответствует номинальному напряжению электроприемников подключенных к этой сети. Сети напряжением ниже 1000В называют сетями низкого напряжения НН.
45051. Повышение надежности эксплуатации сетей с резистивным заземлением нейтра 1.14 MB
  Номинальное напряжение сети соответствует номинальному напряжению электроприемников подключенных к этой сети. Сети напряжением ниже 1000В называют сетями низкого напряжения НН. Сети напряжением выше 1000В называют сетями высокого напряжения ВН.
45054. Оценка материально-производственных запасов 50.5 KB
  Материально–производственные запасы, на которые текущая рыночная стоимость в течении года снизилась либо которые морально устарели, полностью или частично потеряли свое первоначальное качество, отражаются в бухгалтерском балансе на конец отчетного года за вычетом резерва под снижение стоимости материальных ценностей
45055. Гусеничные тракторы. Технические характеристики 987.4 KB
  По назначению трактора делятся на промышленные сельскохозяйственные и лесопромышленные. Устройство гусеничного трактора. Любая схема гусеничного трактора отображает три основные составные части трактора: двигатель трансмиссию и ходовую часть. Полужесткая ходовая переносит большие нагрузки и облегчает точность управления навесного оборудования при движении трактора.
45056. Нрафик работы и отдыха водителей, производящих автомобильные перевозки грузов по маршруту Екатеринбург-Эрзурум (Турция)-Анталья (Турция) 493.5 KB
  При производстве работ одним водителем время на дорогу занимает 253:48 часа. Два рабочих дня время управления достигает 10 часов. Среднее время управления в неделю 9 часов за смену. При управлении двумя водителями общее время на доставку груза составляет 197:44 часа.
45057. Розрахунок шкали ноніусу для наступних даних 79 KB
  Без достатнього навику похибка відліку, як правило, перевищує ціну ділення ноніусу. Використання лупи не підвищує точності відліку по ноніусу.
45058. Ділові папери як засіб писемної професійної комунікації 92.5 KB
  Ділові папери як засіб писемної професійної комунікації ПЛАН Поняття про документ. Функції документа. Класифікація документів. Ознаки класифікації та види документів.