Теоретичні відомості шифрування i криптографії

Київський нaцioнaльний тoргoвeльнo-eкoнoмiчний унiвeрситeт

Кaфeдрa iнфoрмaцiйних тeхнoлoгiй у мiжнaрoднiй тoргiвлi

ВИПУСКНА КВАЛІФІКАЦІЙНА РОБОТА

На тeму:

«Шифрування даних на мікропроцесорах за допомогою мови програмування Java»

Студент 2 курсу, 1-12 групи, напряму підготовки Спеціальність 8.05010101 «Інформаційні управляючі системи та технології»     _______ підпис студента   Москаленко Павло Сергійович
    Науковий керівник кандидат фізико - математичних наук доцент   _______ підпис керівника   Самойленко Ганна Тимофіївна
    Керівник освітньої програми доктор технічних наук професор     _______ підпис керівника   Краскевич Валерій Євгенович

Київ 2016

Київський національний торговельно-економічний університет

Кафедраінформаційних технологій в міжнародній торгівлі

РЕФЕРАТ

ВИПУСКНОГО КВАЛІФІКАЦІЙНОГО ПРОЕКТУ (РОБОТИ)

на тему:

«Шифрування даних на мікропроцесорах за допомогою мови програмування Java»

    Студент 2 курсу, 1-12 групи, напряму підготовки Спеціальність 8.05010101 «Інформаційні управляючі системи та технології»         Москаленко Павло Сергійович
    Науковий керівник кандидат фізико - математичних наук доцент       Самойленко Ганна Тимофіївна

Київ 2016

Тема випускної кваліфікаційної роботи: «Шифрування даних на мікропроцесорах за допомогою мови програмування Java»

Випускна кваліфікаційна робота містить 112 сторінок, 9 таблиць, 6 рисунків, список використаних джерел з 51 найменуваннями.

Об’єктом дослідження є найпоширеніші алгоритми шифрування i мова програмування Java.

Предметом дослідження є існуючі криптографічні системи та можливості об’єктно орієнтованої мови програмування Java.

Мета роботи полягає y розробці нового методу шифрування.

Завданнями роботи є: обґрунтувати доцільність вибору теми шифрування даних та її актуальність; розглянути найпоширеніші методи шифрування; провести аналіз в області мікропроцесорів; дослідити потреби шифрування на підприємстві; вибрати засіб для стоврення нової криптографічної системи та пояснити свій вибір; розглянути власну методику оцінки ефективності криптографічних систем; створити новий метод шифрування, та оцінити його за власною методикою.

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

У ІІ розділі представлено вибраний засіб для створення нового методу шифрування, a саме об’єктно орієнтована мова програмування Java. Обґрунтовано використання саме цієї мови програмування, адже в Java написане один раз працює скрізь (кросплатформність), один і той же написаний код буде працювати і на Windows, і на Linux, і на MacOs. Тоді як на інших мовах програмування потрібно написати не 1, а відразу 3 різних коди – під Windows, під Linux і під MacOs. В Java дружній синтаксис:розробники мови Java взяли все найкраще від мови програмування С – і його прямого спадкоємця – мови програмування С ++, викинули все, що вважали зайвим і неособливо вдалим, внесли нововведення. А також Java – це об’єктно орієнтована мова програмування, яка пропонує легкість в програмуванні на високому рівні.

У ІІІ розділі запропонована методика оцінки ефективності криптографічних систем, a також розроблений новий тип шифрування, який написано y вигляді програми на мові Java, який протестовано i оцінено за допомогою власної методики оцінки методів шифрування. Дана методика показує, що нова криптографічна система отримала високий бал 7 з 10 i рекомендована до застосування на підприємстві.

Рік виконання випускної кваліфікаційної роботи – 2016/2017 рік.

Рік захисту випускної кваліфікаційної роботи – 2017 рік.

АНОТАЦІЯ

Москаленко Павло Сергійович. Шифрування даних на мікропроцесорах за допомогою мови програмування Java.

Випускна кваліфікаційна робота на здобуття освітнього ступеня магістра за спеціальністю 8.05010101 «Інформаційні управляючі системи та технології». Київський національний торговельно-економічний університет, Київ, 2017.

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

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

У ІІІ розділі описується власний метод оцінки алгоритмів шифрування, розкривається суть нової криптографічної системи i описується новий алгоритм шифрування y вигляді створення програми на мові Java, суть якого полягає в тому, що кожний наступний елемент даних шифрується попереднім.

Ключові слова: криптографія, шифрування, дешифрування, алгоритм, мова програмування.

АННОТАЦИЯ

Москаленко Павел Сергеевич. Шифрование данных на микропроцессорах c помощью языка программирования Java.

Выпускная квалификационная работа на получение образовательной степени магистра по специальности 8.05010101 «Информационные управляющие системы и технологии». Киевский национальный торгово-экономический университет, Киев, 2017.

Работа посвящена разработке нового алгоритма шифрования данных. В І разделе раскрывается необходимость исследования по выбранному направлению и проблема, касаемая выбранной темы. Также ставятся цели, которых нужно достичь в эксперементальной части. Рассматриваются разные алгоритмы шифрования информации.

В ІІ разделе описуется средство, которое было выбрано для создания нового алгоритма шифрования данных, a также теоретические основы языка программирования Java.

В ІІІ разделе описывается собственный метод оценки алгоритмов шифрования, раскрывается суть новой криптографической системы и описывается новый алгоритм шифрования в виде создания программы на языке Java, суть которого лежит в том, что каждый следующий элемент данных шифруется предыдущим.

Ключевые слова: криптография, шифрование, дешифрование, алгоритм, язык программирования.

ANNOTATION

Pavlo Moskalenko. Encryption of data on microprocessors using the Java programming language. Final qualifying paper for Master's degree in the specialty 8.05010101 " Information Control Systems and Technologies ". Kyiv National University of Trade and Economics, Kyiv, 2017.

The work is dedicated to the invention of a new algorithm for encryption. I section reveals the need to study the chosen direction and the problem concerning the chosen topic. Also, there are some goals in first section that need to be achieved in the experimental part. Examined various encryption algorithms.

ІІ section describes the tool that was chosen for the new data encryption algorithm, as well as theoretical knowledge of the programming language Java.

ІІІ section describes the method for estimating encryption algorithms, reveals the essence of the new cryptographic system and describes a new encryption algorithm by creating a program in Java, the essence of which is that each following element of the data is encrypted by previous one.

Keywords: cryptography, encryption, decryption, algorithm, programming language.

ЗМІСТ

ВСТУП

РОЗДІЛ 1. АНАЛІЗ ПЕРСПЕКТИВНОСТІ ШИФРУВАННЯ ТА НАЙПОШИРЕНІШІ КРИПТОГРАФІЧНІ СИСТЕМИ 7
1.1. Теоретичні відомості шифрування i криптографії 12
1.2. Дослідження потреби шифрування мікропроцесорів на підприємстві 17
1.3. Найпоширеніші методи шифрування 26
Висновки до І розділу 34

PОЗДІЛ 2. ВИБІР ЗАСОБУ ДЛЯ РОЗРОБКИ МЕТОДІВ ШИФРУВАННЯ 35

2.1. Переваги мови Java, як засобу створення методів шифрування 35
2.2. Об’єктно орієнтована мова програмування Java 43
Висновки до ІІ розділу 70

РОЗДІЛ 3. РОЗРОБКА НОВОГО АЛГОРИТМУ ШИФРУВАННЯ НА МОВІ ПРОГРАМУВАННЯ JAVA 71

3.1. Методика оцінки ефективності криптографічної системи 71
3.2. Новий метод шифрування 77
Висновки до ІІІ розділу 91

ВИСНОВКИ 95

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 99

ВСТУП

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

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

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

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

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

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

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

Криптографія якраз і є товаром, який ми б могли використати для аутсорсингу. Криптографія – це секція ІТ сфери, яка вивчає методи захисту конфіденційності і автентичності інформації. Наука дуже популярна за кордоном, але зовсім не багато компаній спеціалізуються на безпеці баз даних і кодуванні на міжнародному рівні. Наприклад, така відома компанія як Arxan Technologies, створена у 2001 році, постачає захист програм, а також Bloombase Inc., яка розробляє інформаційну безпеку у вигляді алгоритму щоб запобігти втручанням хакерів, що можуть своїми діями призвести до авіакатастроф.

Важливий факт, що в Україні сервіси інформаційної безпеки знаходяться на дуже низькому рівні розвитку. Більш того, інформаційна безпека в Європі не розвинута на стільки, на скільки потрібно, щоб бути впевненим y захисті інформації. Тож потрібно почати звертати увагу на криптографію.
Криптографія є важливим інструментом боротьби з кібертероризмом на державному рівні, а українські компанії довели, що можуть створити нові методи шифрування і навіть задати курс розвитку в цьому напрямі на міжнародному рівні.

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

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

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

Мета роботи – винайти новий метод шифрування.

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

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

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

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

РОЗДІЛ 1
АНАЛІЗ ПЕРСПЕКТИВНОСТІ ШИФРУВАННЯ ТА НАЙПОШИРЕНІШІ КРИПТОГРАФІЧНІ СИСТЕМИ

Теоретичні відомості шифрування i криптографії

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

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

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

Проти самого криптографічного захисту не допомагають ні різні хитрощі, ні використання самих потужних електронно-обчислювальних машин (ЕОМ) світу – тут на сторожі таємниць стоїть математика. Єдиною можливістю для зловмисника є обхідні шляхи, такі як крадіжка діючих і використаних ключів, передбачення майбутніх значень генераторів псевдовипадкових чисел. Криптографічні ключі розрізняються згідно алгоритмам, в яких вони використовуються.

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

Асиметричні ключі – ключі, що використовуються в асиметричних алгоритмах (шифрування); складаються з двох ключів (ключова пара):

Закритий ключ (Private key) – ключ, відомий тільки своєму власнику. Тільки збереження користувачем у таємниці свого закритого ключа гарантує неможливість підробки зловмисником документа і цифрового підпису від імені котрий запевняє.

Відкритий ключ (Public key) – ключ, який може бути опублікований і використовується для перевірки дійсності підписаного документа, а також для попередження шахрайства з боку посвідчує особи у вигляді відмови його від підпису документа. Відкритий ключ підпису обчислюється, як значення деякої функції від закритого ключа, але знання відкритого ключа не дає можливості визначити закритий ключ.

Симетричні криптосистеми володіють одним серйозним недоліком. Пов’язано це із ситуацією, коли спілкування між собою провадять не три-чотири особи, а сотні й тисячі людей. У цьому випадку для кожної пари, що листується між собою, необхідно створювати свій секретний симетричний ключ. Це в підсумку приводить до існування в даній нескладній системі з N користувачів N2/2 ключів. А це вже дуже «пристойне» число. Крім того, при порушенні конфіденційності якої-небудь робочої станції зловмисник одержує доступ до всіх ключів цього користувача й може відправляти, ніби від його імені, повідомлення всім абонентам, з якими «жертва» вела переписку.

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

Асиметрична криптографія задумана як засіб передачі повідомлень від одного об’єкта до іншого (а не для конфіденційного зберігання інформації, що забезпечують тільки симетричні алгоритми). Тому приймаємо терміни «відправник» – особа, що шифрує, а потім відправляє інформацію з незахищеного каналу й «одержувач» – особа, що приймає й відновлює інформацію в її вихідному вигляді. Основна ідея асиметричних криптоалгоритмів полягає в тому, що для шифрування повідомлення використається один ключ, а при дешифруванні – інший.

Крім того, процедура шифрування обрана так, що вона необоротна навіть за відомим ключем шифрування – це друга необхідна умова асиметричної криптографії. Тобто, знаючи ключ шифрування й зашифрований текст, неможливо відновити вихідне повідомлення – прочитати його можна тільки за допомогою другого ключа – ключа дешифрування. А якщо так, то ключ шифрування для відправлення листів якій-небудь особі можна взагалі не приховувати – знаючи його однаково неможливо прочитати зашифроване повідомлення. Тому, ключ шифрування називають в асиметричних системах «відкритим ключем», а от ключ дешифрування одержувачеві повідомлень необхідно тримати в секреті – він називається «закритим ключем». Напрошується питання : «Чому, знаючи відкритий ключ, не можна обчислити закритий ключ ?» – це третя необхідна умова асиметричної криптографії – алгоритми шифрування й дешифрування створюються так, щоб знаючи відкритий ключ, неможливо обчислити закритий ключ.

В цілому система переписки при використанні асиметричного шифрування виглядає в такий спосіб. Для кожного з N абонентів, що ведуть переписку, обрана своя пара ключів : «відкритий» Ej й «закритий» Dj, де j – номер абонента. Всі відкриті ключі відомі всім користувачам мережі, кожен закритий ключ, навпаки, зберігається тільки в того абонента, якому він належить. Якщо абонент, скажемо під номером 7, збирається передати інформацію абонентові під номером 9, він шифрує дані ключем шифрування E9 і відправляє її абонентові 9. Незважаючи на те, що всі користувачі мережі знають ключ E9 й, можливо, мають доступ до каналу, яким йде зашифроване послання, вони не можуть прочитати вихідний текст, тому що процедура шифрування необоротна за відкритим ключем. І тільки абонент 9, одержавши послання, робить над ним перетворення за допомогою відомого тільки йому ключа D9 і відновлює текст послання. Помітьте, що якщо повідомлення потрібно відправити в протилежному напрямку (від абонента 9 до абонента 7), то потрібно буде використати вже іншу пару ключів (для шифрування ключ E7, а для дешифрування – ключ D7).

Симетричні криптоалгоритми поділяються на:
1. Потокові шифри – побітна обробка інформації. Шифрування і дешифрування в таких схемах може обриватися в довільний момент часу, як тільки з’ясовується, що потік що передається перервався, і також відновлюється при виявленні факту продовження передачі.
1.1 Скремблер – це набір біт, які міняються на кожному кроці по визначеному алгоритму. Після виконання кожного наступного кроку на його виході з’являється шифруючий біт (0 або 1), який накладається на поточний біт.
2. Блочні шифри – перетворення блоку вхідної інформації фіксованої довжини. Схема застосовується при пакетній передачі інформації та кодування файлів.
2.1 Мережа Фейштеля – метод оборотних перетворень тексту, при якому значення, обчислені від однієї з частин тексту, накладається на інші частини. Часто структура мережі виконується таким чином, що для шифрування і дешифрування використовується один і той же алгоритм – різниця полягає лише в порядку використання матеріалу ключа.

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

Переваги:
— Швидкість
— Простота реалізації (за рахунок більш простих операцій)
— Необхідна менша довжина ключа для порівнянної стійкості
— Вивченість (за рахунок більшого віку)

Недоліки:
— Складність управління ключами у великій мережі. Це означає квадратичне зростання числа пар ключів, які треба генерувати, передавати, зберігати і знищувати в мережі. Для мережі в 10 абонентів потрібно 45 ключів, для 100 вже 4950, для 1000 – 499500.

— Складність обміну ключами. Для застосування необхідно вирішити проблему надійної передачі ключів кожному абоненту, тому що потрібен секретний канал для передачі кожного ключа обом сторонам.

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

Важливою властивістю симетричних шифрів є неможливість їх використання для підтвердження авторства, так як ключ відомий кожній стороні. [4]

1.2. Дослідження потреби шифрування мікропроцесорів на підприємстві

Щоб оцінити потребу в шифруванні, потрібно розібратися що таке мікропроцесори.Мікропроцесор – це інтегральна схема, яка виконує функції центрального процесора (ЦП) або спеціалізованого процесора. Сьогодні слово мікропроцесор є практично повним синонімом слова процесор, оскільки функціональний блок, що на ранніх стадіях розвитку обчислювальної техніки займали цілу плату чи навіть шафу, тепер вміщається в одну невеличку інтегральну схему із сотнями мільйонів транзисторів всередині. З середини 1980-х мікропроцесори витіснили інші види ЦП. Проте загалом це не так: центральні процесорні пристрої деяких суперкомп'ютерів навіть сьогодні є складними комплексами великих (ВІС) і надвеликих (НВІС) інтегральних схем.

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

Першим хто подав ідею універсального обчислювального процесора був Гофф Тед, який розробив архітектуру першого мікропроцесора. Практичну реалізацію здійснив Фредеріко Фаґґін.

Перша мікросхема успішно запрацювала 12 вересня 1958 року в компанії Texas Instruments. У 2000 році Нобелівську премію з фізики присудили Джеку Кілбі — за винахід інтегральної мікросхеми. Ще одним творцем інтегральної мікросхеми вважається Роберт Нойс, померлий в 1990 році (за правилами, Нобелівська вручається тільки живим вченим). Фізики як такої при створенні мікросхеми було небагато, але Килбі і Нойс «всього лише» придумали технологію, яка зробила переворот в електронній промисловості.

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

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

Починаючи з 1970-х збільшення процесорної потужності розвивається за правилами так званого закону Мура, який стверджує, що складність інтегральних мікросхем подвоюється кожні 18 місяців, за ті ж мінімальні гроші. В кінці 1990-х основним стримуючим фактором розвитку стало розсіюване мікропроцесором тепло.

Першим загальнодоступним мікропроцесором був 4-розрядний Intel 4004. Його змінили 8-розрядні Intel 8080 і 16-розрядний 8086, що заклали основи архітектури всіх сучасних настільних процесорів. Але внаслідок поширеності 8-розрядних модулів пам'яті був випущений 8088, клон 8086 з 8-розрядною шиною пам'яті. Потім пройшла його модифікація 80186. У процесорі 80286 з'явився захищений режим з 24-бітовою адресацією, що дозволяв використовувати до 16 МБ пам'яті. Процесор Intel 80386 з'явився в 1985 році і привніс покращений захищений режим, 32-бітову адресацію, що дозволила використовувати до 4 ГБ оперативної пам'яті і підтримку механізму віртуальної пам'яті.

Є два основні напрями розвитку індустрії виробництва мікросхем.

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

Другий основоположний напрям - це власне напівпровідникові технології виробництва мікросхем. Сюди входять наукова розробка і втілення в «кремній» все швидших і менших транзисторів, ланцюгів зв'язку між ними і іншим «обрамленням» мікроструктур на кристалі, створення технологій виготовлення малюнка ліній і транзисторів на поверхні кремнію, нових матеріалів і устаткування для цього, а також «manufacturability» - область знань про те, як проводити мікросхеми вищої якості, швидші, з великою кількістю придатних кристалів на пластині, меншим числом дефектів і розкидом робочих параметрів.

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

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

Будь-яка мікропроцесорна система працює разом з рядом зовнішних пристроїв, одержуючи від них необхідну інформацію та передаючи іншу. Для зв'язку з зовнішними пристроями існує інтерфейс. Цим терміном позначається весь комплекс пристроїв, правил та технічних засобів, що регламентують та забезпечують обмін інформацією між мікропроцесором (включаючи пам'ять) та зовнішними пристроями. Головними в інтерфейсі є шини, або, як їх ще часто називають, магістралі. Магістраль - це сукупність провідників, для яких строго нормовані логічні рівні «0» та «1». Потужність сигналів на шинах має бути достатньою для живлення необхідної кількості приєднаних до них пристроїв. Для забезпечення цієї потужності використовуються спеціальні мікросхеми - шинні підсилювачі.

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

Наступним рівнем є спосіб описання — це мова значень вхідних та вихідних сигналів, що складають мову мікрокоманд. Сукупність адрес та керуючих сигналів називаються мікрокомандою.

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

Формат пам'яті мікропоцесорної системи також тісно пов'язаний з довжиною слова. Тому при зберіганні таких команд відповідно використовується адресний простір та пам'ять. Якщо, наприклад, команда складається з трьох слів, а використовується з послідовною адресацією, то для зберігання такої команди використовуються три послідовні адреси. Для того, щоб таку команду вибрати з пам'яті, необхідно мати спеціальні засоби, щоб забезпечити її представлення як єдине ціле.

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

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

На початку кожного МЦ на одному з виходів мікропроцесора з'вляється сигнал синхронізації, він передається по лінії шини керування в пам'ять або пристрої вводу-виводу і «сповіщає» про початок нового МЦ, в результаті чого досягається узгодження в часі зовнішніх пристроїв з роботою мікропроцесора.

Цикл команди - це інтервал часу, необхідний для виборки з памєяті команди, та її виконання. Він складається з 1-5 машинних циклів. Їхнє конкретне число залежить від складності операції, яка виконується в данній команді і дорівнює числу звернень мікропроцесора до пам'яті. Тривалість виконання команди визначається кількістю тактів в циклі команди та тривалістю такту.

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

Окрім адреси елемента в якому зберігається необхідний байт від мікропроцесора до пам'ті поступає сигнал по шині керування, який визначає характер операції - запис, або зчитування. Виконання вказаних операцій проходить протягом інтервалу часу, що називається часом доступу. По закінченні цього інтервалу від пам'яті в мікропроцесор подається сигнал готовності, який є сигналом початку прийому, або, відповідно, передачі сигналів в пам'ять. До одержання сигналу готовності мікропроцесор перебуває в стані очікування. Інтервал часу між імпульсами звернення до зовнішніх пристроїв та одержання від них відповіді називається циклом очікування.

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

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

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

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

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

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

Криптографія якраз і є товаром, який ми б могли використати для аутсорсингу. Криптографія – це секція ІТ сфери, яка вивчає методи захисту конфіденційності і автентичності інформації. Наука дуже популярна за кордоном, але зовсім не багато компаній спеціалізуються на безпеці баз даних і кодуванні на міжнародному рівні. Наприклад, така відома компанія як Arxan Technologies, створена у 2001 році, постачає захист програм, а також Bloombase Inc., яка розробляє інформаційну безпеку у вигляді алгоритму щоб запобігти втручанням хакерів, що можуть своїми діями призвести до авіакатастроф.

Важливий факт, що в Україні сервіси інформаційної безпеки знаходяться на дуже низькому рівні розвитку. Більш того, інформаційна безпека в Європі не розвинута на стільки, на скільки потрібно, щоб бути впевненим y захисті інформації. Тож потрібно почати звертати увагу на криптографію.

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

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

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

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

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

Взявши за основу НВПП «Енерготехснаб», виявилося, що навіть підприємство, яке займається торгівлею i знаходиться на відстані від IT-технологій, потребує захисту інформації. Один з шляхів вирішення цього питання i є шифрування.

Як i будь-яке інше підприємство, «Енерготехснаб» веде бухгалтерський облік, для зручності використовується платформа «1С». Для безпеки баз даних, до яких не всі люди повинні мати доступ, i потрібен надійний алгоритм шифрування.

Звичайно, що це не допоможе збільшити прибуток підприємства, але y випадку атаки хакерів, інформацію можуть використати в своїх цілях і, таким чином, заробіток може знизитися. Тому захист даних за допомогою криптографічної системи необхідний більшості підприємств i «Енерготехснаб» не виключення.

Наши рекомендации