Алгоритми шифрування даних. Симетричні алгоритми шифрування. Алгоритм шифрування rsa. Алгоритм шифрування des. Вибір алгоритму шифрування
У наш комп`ютерний вік людство все більше відмовляється від зберігання інформації в рукописному або друкованому вигляді, вважаючи за краще для цього електронні документи. І якщо раніше крали просто паперу або пергаменти, то зараз зламують саме електронну інформацію. Самі ж алгоритми шифрування даних були відомі ще з незапам`ятних часів. Багато цивілізації воліли зашифровувати свої унікальні знання, щоб вони могли дістатися тільки людині обізнаній. Але давайте подивимося, як все це відображається на нашому світі.
Що собою являє система шифрування даних?
Для початку слід визначитися з тим, що собою представляють криптографічні системи взагалі. Грубо кажучи, це якийсь спеціальний алгоритм запису інформації, який був би зрозумілий лише певному колу людей.
У цьому сенсі сторонній людині все, що він бачить, має (а в принципі, так і є) здаватися безглуздим набором символів. Прочитати таку послідовність зможе тільки той, хто знає правила їх розташування. Як найпростіший приклад можна визначити алгоритм шифрування з написанням слів, скажімо, задом наперед. Звичайно, це найпримітивніший, що можна придумати. Мається на увазі, що якщо знати правила запису, відновити вихідний текст труднощів не складе.
Навіщо це потрібно?
Для чого все це придумувалося, напевно, пояснювати не варто. Подивіться, адже які обсяги знань, що залишилися від стародавніх цивілізацій, сьогодні знаходяться в зашифрованому вигляді. Чи то стародавні не хотіли, щоб ми це дізналися, то чи все це було зроблено, щоб людина змогла ними скористатися тільки тоді, коли досягне потрібного рівня розвитку - поки що про це можна тільки гадати.
Втім, якщо говорити про сьогоднішній світ, захист інформації стає однією з найбільших проблем. Посудіть самі, адже скільки є документів в тих же архівах, про яких уряди деяких країн не хотіли б поширюватися, скільки секретних розробок, скільки нових технологій. Але ж все це, за великим рахунком, і є першочерговою метою так званих хакерів в класичному розумінні цього терміна.
На думку спадає тільки одна фраза, що стала класикою принципів діяльності Натана Ротшильда: «Хто володіє інформацією, той володіє світом». І саме тому інформацію доводиться захищати від сторонніх очей, щоб їй не скористався хтось ще в своїх корисливих цілях.
Відео: Алгоритм шифрування RSA: крок перший
Криптографія: точка відліку
Тепер, перш ніж розглядати саму структуру, яку має будь-який алгоритм шифрування, трохи зануримося в історію, в ті далекі часи, коли ця наука тільки зароджувалася.
Вважається, що мистецтво приховування даних активно почало розвиватися кілька тисячоліть тому до нашої ери. Першість приписують древнім шумери, царя Соломона, і єгипетським жерцям. Тільки багато пізніше з`явилися ті ж рунічні знаки і символи, їм подібні. Але ось що цікаво: іноді алгоритм шифрування текстів (а в той час шифрувалися саме вони) був такий, що в тій же давньо-шумерської клинопису один символ міг означати не тільки одну букву, а й ціле слово, поняття або навіть пропозиція. Через це розшифровка таких текстів навіть при наявності сучасних криптографічних систем, що дозволяють відновити початковий вигляд будь-якого тексту, стає абсолютно неможливою. Якщо говорити сучасною мовою, це досить просунуті, як прийнято зараз виражатися, симетричні алгоритми шифрування. На них зупинимося окремо.
Сучасний світ: види алгоритмів шифрування
Що стосується захисту конфіденційних даних в сучасному світі, окремо варто зупинитися ще на ті часи, коли комп`ютери були людству невідомі. Не кажучи вже про те, скільки паперу перевели алхіміки або ті ж тамплієри, намагаючись приховати справжні тексти про відомі їм знаннях, варто згадати, що з часу виникнення зв`язку проблема тільки посилилася.
І тут, мабуть, найвідомішим пристроєм можна назвати німецьку шифрувальну машину часів Другої світової під назвою «Енігма», що в перекладі з англійської означає «загадка». Знову ж таки, це приклад того, як використовуються симетричні алгоритми шифрування, суть яких полягає в тому, що шіфровщікі і дешифрувальників знають ключ (алгоритм), спочатку застосований для приховування даних.
Сьогодні такі м`якенькі використовуються повсюдно. Найяскравішим прикладом можна вважати, скажімо, алгоритм шифрування AES256, який є міжнародним стандартом. З точки зору комп`ютерної термінології, він дозволяє використовувати ключ довжиною 256 біт. Взагалі сучасні алгоритми шифрування досить різноманітні, а розділити їх умовно можна на два великі класи: симетричні і асиметричні. Вони, в залежності від області призначення, сьогодні застосовуються дуже широко. І вибір алгоритму шифрування безпосередньо залежить від поставлених завдань і методу відновлення інформації в початковому вигляді. Але в чому ж полягає різниця між ними?
Симетричні і асиметричні алгоритми шифрування: в чому різниця
Тепер подивимося, яке ж кардинальна відмінність між такими системами, і на яких принципах будується їх застосування на практиці. Як уже зрозуміло, алгоритми шифрування бувають пов`язані з геометричними поняттями симетрії та асиметрії. Що це означає, зараз і буде з`ясовано.
Симетричний алгоритм шифрування DES, розроблений ще в 1977 році, має на увазі наявність єдиного ключа, який, імовірно, відомий двом зацікавленим сторонам. Знаючи такий ключ, неважко застосувати його на практиці, щоб прочитати той же безглуздий набір символів, привівши його, так би мовити, в читабельний вигляд.
А що являють собою асиметричні алгоритми шифрування? Тут застосовуються два ключа, тобто для кодування вихідної інформації використовує один, для розшифровки вмісту - інший, причому зовсім необов`язково, щоб вони співпадали або одночасно перебували у кодує і декодирующей боку. Для кожної з них досить одного. Таким чином, в дуже високого ступеня виключається потрапляння обох ключів в треті руки. Однак, виходячи з сучасної ситуації, для багатьох зловмисників крадіжки такого типу особливо проблемою і не є. Інша справа - пошук саме того ключа (грубо кажучи, пароля), який підійде для розшифровки даних. А тут варіантів може бути стільки, що навіть найсучасніший комп`ютер буде обробляти їх протягом декількох десятків років. Як було заявлено, жодна з існуючих у світі комп`ютерних систем зламати доступ до нього і отримати те, що називається «прослуховуванням», не може і не зможе протягом найближчих десятиліть.
Найбільш відомі і часто застосовуються алгоритми шифрування
Але повернемося в світ комп`ютерний. Що на сьогодні пропонують основні алгоритми шифрування, призначені для захисту інформації на сучасному етапі розвитку комп`ютерної та мобільної техніки?
У більшості країн стандартом де-факто є криптографічний система AES на основі 128-бітного ключа. Однак паралельно з нею іноді використовується і алгоритм шифрування RSA, який хоч і відноситься до шифрування з використанням відкритого (публічного) ключа, проте є одним з найнадійніших. Це, до речі, доведено всіма провідними фахівцями, оскільки сама система визначається не тільки ступенем шифрування даних, а й збереженням цілісності інформації. Що стосується ранніх розробок, до яких відноситься алгоритм шифрування DES, то він безнадійно застарів, а спроби його заміни почали проводитися ще в 1997 році. Ось тоді-то на його основі і виник новий розширений (Advanced) стандарт шифрування AES (спочатку з ключем 128 біт, потім - з ключем 256 біт).
шифрування RSA
Тепер зупинимося на технології RSA яка відноситься до системи асиметричного шифрування. Припустимо, один абонент повинен відправити іншому інформацію, зашифровану за допомогою цього алгоритму.
Для шифрування беруться два досить великих числа X і Y, після чого обчислюється їх добуток Z, зване модулем. Далі вибирається якась стороння число A, що задовольняє умові: 1lt; A lt; (X - 1) * (Y - 1). Воно обов`язково повинно бути простим, тобто не мати спільних дільників з твором (X - 1) * (Y - 1), рівним Z. Потім відбувається обчислення числа B, але тільки так, що (A * B - 1) ділиться на ( X - 1) * (Y - 1). В даному прикладі A - відкритий показник, B - секретний показник, (Z- A) - відкритий ключ, (Z- B) - секретний ключ.
Що відбувається при пересиланні? Відправник створює зашифрований текст, позначений як F, з початковим повідомленням M, після чого слід зведення в ступінь A і множення на модуль Z: F = M ** A * (mod Z). Одержувачу залишається обчислити нескладний приклад: M = F ** B * (mod Z). Грубо кажучи, всі ці дії зводяться виключно до зведення в ступінь. За тим же принципом працює і варіант з створення цифрового підпису, але рівняння тут дещо складніше. Щоб не забивати користувачеві голову алгеброю, такий матеріал приводитися не буде.
Що ж стосується злому, то алгоритм шифрування RSA ставить перед зловмисником практично нерозв`язних завдання: обчислити ключ B. Це теоретично можна було б зробити з застосуванням доступних засобів факторингу (розкладанням на множники вихідних чисел X і Y), однак на сьогоднішній день таких коштів немає, тому сама задача стає не те що важкою - вона взагалі нездійсненна.
шифрування DES
Перед нами ще один, в минулому досить ефективний алгоритм шифрування з максимальною довжиною блоку 64 біта (символу), з якої значущими є тільки 56. Як уже було сказано вище, ця методика вже застаріла, хоча досить довго протрималася в якості стандарту криптосистем, що застосовуються в США навіть для оборонної промисловості.
Суть його симетричного шифрування полягає в тому, що для цього застосовується якась послідовність з 48 біт. При цьому для операцій використовується 16 циклів з вибірки ключів в 48 біт. Але! Всі цикли за принципом дії аналогічні, тому на даний момент обчислити шуканий ключ не є проблемою. Наприклад, один з найпотужніших комп`ютерів в США вартістю понад мільйон доларів «ламає» шифрування протягом приблизно трьох з половиною годин. Для машин рангом нижче на те, щоб обчислити навіть послідовність в максимальному її прояві, потрібно не більше 20 годин.
шифрування AES
Нарешті, перед нами найпоширеніша і, як вважалося до недавнього часу, невразлива система - алгоритм шифрування AES. Він сьогодні представлений в трьох модифікаціях - AES128, AES192 і AES256. Перший варіант застосовується більше для забезпечення інформаційної безпеки мобільних пристроїв, другий задіяний на більш високому рівні. Як стандарт, ця система була офіційно впроваджена в 2002 році, причому відразу ж її підтримка була заявлена з боку корпорації Intel, що виробляє процесорні чіпи.
Суть її, на відміну від будь-якої іншої симетричною системи шифрування, зводиться до обчислень на основі поліномінальної подання кодів і операцій обчислення з двовимірними масивами. Як стверджує уряд Сполучених Штатів, для злому ключа довжиною 128 біт дешифратор, нехай навіть найсучаснішому, буде потрібно близько 149 трильйонів років. Дозволимо собі не погодитися з таким компетентним джерелом. Комп`ютерна техніка за останні сто років зробила стрибок, порівнянний з геометричною прогресією, так що особливо радіти не варто, тим більше що сьогодні, як виявилося, існують системи шифрування і покруче, ніж ті, які США оголосили зовсім стійкими до злому.
Проблеми з вірусами і дешифруванням
Звичайно ж, мова йде про віруси. Останнім часом з`явилися досить специфічні віруси-вимагачі, які шифрують всі вміст жорсткого диска і логічних розділів на зараженому комп`ютері, після чого жертва отримує лист з повідомленням про те, що всі файли зашифровані, а розшифрувати їх може тільки вказане джерело після оплати кругленької суми.
При цьому, що найважливіше, вказується, що при шифруванні даних була застосована система AES1024, тобто довжина ключа в чотири рази більше нині існуючої AES256, а кількість варіантів при пошуку відповідного дешифратора зростає просто неймовірно.
А якщо виходити із заяви уряду США про термін, що відводиться для дешифрування ключа довжиною 128 біт, то що можна сказати про час, який буде потрібно на пошук рішення для випадку з ключем і його варіантами довжиною 1024 біта? Ось тут-то США і прокололися. Адже вони вважали, що їх система комп`ютерної криптографії досконала. На жаль, знайшлися якісь специ (судячи з усього, на пострадянському просторі), які перевершили «непорушні» американські постулати по всіх параметрах.
При цьому навіть провідні розробники антивірусного ПЗ, в тому числі «Лабораторія Касперського», фахівці, які створили «Доктора Веба», корпорація ESET і багато інших світових лідери просто розводять руками, мовляв, на розшифровку такого алгоритму просто немає коштів, замовчуючи при цьому про тому, що і часу не вистачить. Звичайно, при зверненні в службу підтримки пропонується відправити зашифрований файл і, якщо є, бажано його оригінал - в тому вигляді, в якому він був до початку шифрування. На жаль, навіть порівняльний аналіз поки не дав відчутних результатів.
Відео: Алгоритм шифрування RSA
Світ, якого ми не знаємо
Так що там говорити, якщо ми женемося за майбутнім, не маючи можливості розшифрувати минуле. Якщо подивитися на світ нашого тисячоліття, можна помітити, що той же римський імператор Гай Юлій Цезар в деяких своїх посланнях використовував симетричні алгоритми шифрування. Ну а якщо поглянути на Леонардо да Вінчі, так взагалі стає якось не по собі від одного усвідомлення того, що в області криптографії ця людина, чиє життя покрита якимось флером таємниці, на століття перевершив свою сучасність.
До сих пір багатьом не дає спокою так звана «посмішка Джоконди», в якій є щось таке привабливе, чого сучасна людина зрозуміти не здатний. До речі сказати, на картині відносно недавно були знайдені якісь символи (в оці, на плаття і т. Д.), Які явно свідчать про те, що в усьому цьому міститься якась зашифрована великим генієм інформація, яку сьогодні, на жаль, отримати ми не в змозі. Але ж ми навіть не згадали про різного роду масштабних конструкціях, які здатні були перевернути розуміння фізики того часу.
Звичайно, деякі уми схиляються виключно до того, що в більшості випадків було використано так зване «золотий перетин», однак і воно не дає ключа до всього того величезного сховища знань, яке, як вважається, або нам незрозуміло, або втрачено навіки. По всій видимості, криптографії належить виконати ще неймовірну купу роботи, щоб зрозуміти, що сучасні алгоритми шифрування часом не йдуть ні в яке порівняння з напрацюваннями древніх цивілізацій. До того ж, якщо сьогодні існують загальноприйняті принципи захисту інформації, то ті, які використовувалися в давнину, на жаль, нам абсолютно недоступні і незрозумілі.
І ще одне. Існує негласне думку, що більшість древніх текстів неможливо перевести тільки тому, що ключі до їх дешифрування ретельно охороняються таємними товариствами на кшталт масонів, ілюмінатів і т. Д. Навіть тамплієри залишили тут свій слід. Що вже говорити про те, що до сих пір абсолютно недоступною залишається бібліотека Ватикану? Чи не там зберігаються основні ключі до розуміння давнини? Багато фахівців схиляються саме до цієї версії, вважаючи, що Ватикан навмисно приховує цю інформацію від суспільства. Так це чи ні, поки не знає ніхто. Але одне можна стверджувати абсолютно точно - стародавні системи криптографії ні в чому не поступалися (а може, і перевершували) тим, що використовуються в сучасному комп`ютерному світі.
замість післямови
Наостанок варто сказати, що тут були розглянуті далеко не всі аспекти, пов`язані з нинішніми криптографічними системами і методиками, які вони використовують. Справа в тому, що в більшості випадків довелося б приводити складні математичні формули і представляти обчислення, від яких у більшості користувачів просто голова обертом піде. Досить поглянути на приклад з описом алгоритму RSA, щоб збагнути, що все інше буде виглядати набагато складніше.
Тут головне - зрозуміти і вникнути, так би мовити, в суть питання. Ну а якщо говорити про те, що являють собою сучасні системи, що пропонують зберігати конфіденційну інформацію таким чином, щоб вона була доступна обмеженому колу користувачів, тут вибір невеликий. Незважаючи на наявність безлічі криптографічних систем, ті ж алгоритми RSA і DES явно програють специфіці AES. Втім, і в багато найновіших задач, розроблених для абсолютно різних за між собою операційних систем, використовують саме AES (природно, в залежності від сфери застосування і пристрої). Але ось «несанкціонована» еволюція цієї криптосистеми, м`яко кажучи, багатьох, особливо її творців, шокувала. Але в цілому, виходячи з того, що є на сьогоднішній день, багатьом користувачам неважко буде зрозуміти, що таке криптографічні системи шифрування даних, навіщо вони потрібні і як працюють.