Перейти до вмісту

Шифрувальне програмне забезпечення

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Шифрувальне програмне забезпечення — це програмне забезпечення, основним завданням якого є шифрування і дешифрування даних, як правило, у вигляді файлів (або секторів), жорстких дисків і змінних носіїв (дискет, компакт-дисків, USB-флеш-накопичувачів), повідомлень електронної пошти або у вигляді пакетів, що передаються через комп'ютерні мережі.

Безпека

[ред. | ред. код]

Шифрувальне програмне забезпечення виконує алгоритм, який призначений для шифрування даних комп'ютера таким чином, що вони не можуть бути відновлені без ключа. Програмне шифрування є фундаментальною частиною всіх аспектів сучасного комп'ютерного зв'язку та захисту файлів і може включати в себе функцію, таку як дроблення файлів.

Метою шифрування є запобігання відновлення вихідної інформації третіми особами. Це особливо важливо для таких даних, як номери кредитних карт.

Вибори методу шифрування

[ред. | ред. код]

Існує багато алгоритмів шифрування. Найбільш популярні варіанти були представлені в National Institute of Standards and Technology (NIST) для Advanced Encryption Standard (AES) конкурсу. Переможець, Rijndael, отримав 86 голосів, Serpent отримав 59 голосів, Twofish 31 голос, RC6 23 голоси і MARS 13 голосів. NIST вибрав Rijndael в якості зразка. Serpent і Rijndael, насправді схожі, основна різниця в тому, що Rijndael більш швидкий, а Serpent більш безпечний.

Вибір шифрування

[ред. | ред. код]

Є кілька факторів, що впливають на вибір алгоритму шифрування, до цих чинників відносяться: швидкість і безпеку. Найпростішим способом шифрування є XOR операція, з постійним значенням k, з кожного байта звичайного тексту b, для отримання шифрів значення c.

b XOR k = c

Шифри можна розділити на два основних типи: асиметричні ключі шифрування і симетричні ключі шифрування.

Асиметричні ключі — є ключовою парою, оскільки складаються з двох ключів: закритого і відкритого. Системи асиметричних ключів ґрунтуються на алгоритмах, які є "односторонніми" операціями. Тобто, шифрування з одним із членів пари ключів можна відновити (розшифрувати) тільки за допомогою іншого члена пари. Крім того, один з членів пари (відкритий ключ) не може бути використаний для визначення іншого (закритого ключа). Такі системи використовуються для обміну ключами (для подальшого використання симетричних ключів шифру), цифрових підписів тощо.

Симетричні ключі шифру називаються так тому, що один і той же ключ використовується як для шифрування, так і для дешифрування. Таким чином, для того, щоб повідомлення зашифровані, симетричним ключем були в безпеці, використовуваний ключ повинен залишатися таємницею. Симетричний ключ шифру підрозділяється на потоковий шифр і блочний шифр.

Потокові шифри зазвичай шифрують текст невеликого розміру (біт або байт) за один раз і найчастіше використовується для шифрування зв'язку в реальному часі (аудіо і відео даних). Цей ключ використовується, щоб встановити початковий стан генератора ключового потоку, код генератора - щоб зашифрувати звичайний текст.

Алгоритми блочного шифру за раз можуть шифрувати тільки один блок байтів з текстом. Просунутий алгоритм Encryption Standard (AES - похідна від алгоритму шифрування Rijndael) являє собою блочний шифр, який обробляє 16 байт за один раз, у той час як його попередник, Data Encryption Standard algorithm (DES) шифрував блоки з восьми байт.

Поширеною помилкою любителів шифрування є припущення того, що якщо метод секретний, то шифр є безпечним. Зазвичай це не так. Багато алгоритми шифрування показують ключ досить легко, коли виявляється рядок однакових байт (наприклад, нулів).

Метод гарний тим, що не будучи секретним, він буде залишатися безпечним.

Додатки

[ред. | ред. код]

Шифрування може бути застосовано до даних різними способами. Загальні категорії:

Мережеві транспортні інструменти шифрування

Інструменти шифрування

Кожна з цих категорій визначає діапазон і місце розташування даних, які будуть зашифровані, але для кожного процес один і той же.

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]