EITC/IS/ACC Advanced Classical Cryptography – це європейська програма сертифікації ІТ, яка підвищує рівень знань у класичній криптографії, в першу чергу зосереджена на криптографії з відкритим ключем, зі вступом до практичних шифрів із відкритим ключем, а також цифрових підписів, інфраструктури відкритих ключів та сертифікати безпеки, які широко використовуються в Інтернеті.
Навчальна програма розширеної класичної криптографії EITC/IS/ACC зосереджена на криптографії з відкритим ключем (асиметричною), починаючи зі вступу до обміну ключами Діффі-Хеллмана та проблеми дискретного журналу (включаючи її узагальнення), а потім переходячи до шифрування. із проблемою дискретного журналу, що охоплює схему шифрування Elgamal, еліптичні криві та криптографію еліптичної кривої (ECC), цифрові підписи (включаючи служби безпеки та цифровий підпис Elgamal), функції хешування (включаючи функцію SHA-1), коди аутентифікації повідомлень (включаючи MAC і HMAC), встановлення ключа (включаючи Symmetric Key Establishment SKE і Kerberos) для завершення розгляду класу атак «людина посередині», разом із криптографічними сертифікатами та інфраструктурою відкритих ключів (PKI), у межах наступної структури , що включає повний відеодидактичний вміст як довідник для цієї Сертифікації EITC.
Криптографія відноситься до способів безпечного спілкування в присутності супротивника. Криптографія, у більш широкому сенсі, — це процес створення та аналізу протоколів, які перешкоджають третім сторонам або широкій громадськості отримати доступ до приватних (зашифрованих) повідомлень. Сучасна класична криптографія базується на кількох основних характеристиках інформаційної безпеки, таких як конфіденційність даних, цілісність даних, аутентифікація та невідмовність. На відміну від квантової криптографії, яка ґрунтується на кардинально інших правилах квантової фізики, що характеризують природу, класична криптографія відноситься до криптографії, заснованої на законах класичної фізики. Поля математики, інформатики, електротехніки, комунікації та фізики зустрічаються в класичній криптографії. Електронна комерція, платіжні картки на основі чіпів, цифрові валюти, комп’ютерні паролі та військові комунікації – все це приклади криптографічних додатків.
До нинішньої ери криптографія була майже синонімом шифрування, перетворюючи інформацію з читабельної на незрозумілу нісенітницю. Щоб зловмисники не змогли отримати доступ до зашифрованого повідомлення, відправник ділиться процесом декодування лише з призначеними одержувачами. Імена Аліса («А») для відправника, Боб («В») для передбачуваного одержувача та Єва («підслуховувач») для супротивника часто використовуються в літературі з криптографії.
Методи криптографії ставали дедалі складнішими, а її застосування стало більш різноманітним з моменту розробки роторних шифрувальних машин у Першій світовій війні та запровадження комп’ютерів у Другій світовій війні.
Сучасна криптографія сильно залежить від математичної теорії та практики інформатики; Криптографічні методи побудовані на основі припущень щодо твердості обчислень, що ускладнює їх для будь-якого опонента зламати на практиці. Хоча проникнути в добре продуману систему теоретично можливо, зробити це на практиці неможливо. Такі схеми називаються «обчислювально безпечними», якщо вони сконструйовані належним чином; тим не менш, теоретичні прориви (наприклад, удосконалення методів цілочисельної факторізації) та швидша обчислювальна технологія вимагають постійної переоцінки та, якщо потрібно, адаптації цих проектів. Існують теоретично безпечні системи, такі як одноразовий планшет, які можна довести, що вони незламні навіть при нескінченній обчислювальній потужності, але їх значно складніше застосувати на практиці, ніж найкращі теоретично зламані, але безпечні в обчислювальному відношенні схеми.
У інформаційну епоху розвиток криптографічних технологій викликав різноманітні юридичні проблеми. Багато країн класифікували криптографію як зброю, обмежуючи або забороняючи її використання та експорт через її потенціал для шпигунства та заколоти. Слідчі можуть змусити здати ключі шифрування для документів, що мають відношення до розслідування в деяких місцях, де криптографія є законною. У випадку з цифровими медіа криптографія також відіграє ключову роль в управлінні цифровими правами та конфліктах щодо порушення авторських прав.
Термін «криптограф» (на відміну від «криптограма») вперше був використаний у дев’ятнадцятому столітті в новелі Едгара Аллана По «Золотий клоп».
Донедавна криптографія майже лише називала «шифрування», яке є актом перетворення звичайних даних (відомих як відкритий текст) у формат, який не можна читати (так званий зашифрований текст). Дешифрування є протилежністю шифрування, тобто перехід від незрозумілого зашифрованого тексту до відкритого тексту. Шифр (або шифр) — це набір методів, які виконують шифрування та дешифрування у зворотному порядку. Алгоритм і, в кожному випадку, «ключ» відповідають за детальне виконання шифру. Ключ — це секрет (бажано відомий лише комунікантам), який використовується для розшифровки зашифрованого тексту. Зазвичай це рядок символів (ідеально короткий, щоб користувач міг його запам’ятати). «Криптосистема» — це впорядкована сукупність елементів кінцевих потенційних відкритих текстів, зашифрованих текстів, ключів, а також процедур шифрування та дешифрування, які відповідають кожному ключу у формальних математичних термінах. Ключі мають вирішальне значення як формально, так і практично, оскільки шифри з фіксованими ключами можна легко зламати, використовуючи лише інформацію шифру, що робить їх марними (або навіть контрпродуктивними) для більшості цілей.
Історично шифри часто використовувалися без будь-яких додаткових процедур, таких як аутентифікація або перевірки цілісності для шифрування чи дешифрування. Криптосистеми поділяються на дві категорії: симетричні та асиметричні. Той самий ключ (секретний ключ) використовується для шифрування та дешифрування повідомлення в симетричних системах, які були єдиними відомими до 1970-х років. Оскільки симетричні системи використовують меншу довжину ключів, маніпулювання даними в симетричних системах відбувається швидше, ніж в асиметричних. Асиметричні системи шифрують зв'язок за допомогою «відкритого ключа» і розшифровують його за допомогою аналогічного «приватного ключа». Використання асиметричних систем покращує безпеку зв'язку через складність визначення зв'язку між двома ключами. RSA (Rivest–Shamir–Adleman) і ECC є двома прикладами асиметричних систем (криптографія з еліптичною кривою). Широко використовуваний AES (Advanced Encryption Standard), який замінив попередній DES, є прикладом високоякісного симетричного алгоритму (Стандарт шифрування даних). Різноманітні методи заплутування дитячої мови, як-от свиняча латиниця чи інші латині, і насправді всі криптографічні схеми, як би серйозно вони не мали на увазі, з будь-якого джерела до введення одноразового блокнота на початку двадцятого століття, є прикладами низької якості симетричні алгоритми.
Термін «код» часто використовується в розмовній мові для позначення будь-якої техніки шифрування або приховування повідомлень. Однак у криптографії код означає заміну кодового слова на одиницю відкритого тексту (тобто змістовне слово чи фразу) (наприклад, «wallaby» замінює «атака на світанку»). На відміну від цього, шифротекст створюється шляхом модифікації або заміни елемента нижче такого рівня (наприклад, літери, складу чи пари букв), щоб утворити зашифрований текст.
Криптоаналіз — це дослідження способів розшифровки зашифрованих даних без доступу до ключа, необхідного для цього; іншими словами, це дослідження того, як «зламати» схеми шифрування або їх реалізації.
В англійській мові деякі люди взаємозамінно використовують терміни «криптографія» і «криптологія», тоді як інші (включаючи військову практику США загалом) використовують «криптографія» для позначення використання та практики криптографічних методів, а «криптологія» для позначення комбінованого вивчення криптографії та криптоаналізу. Англійська мова краще адаптується, ніж ряд інших мов, де «криптологія» (як практикують криптологи) завжди використовується у другому значенні. Стеганографія іноді включається в криптологію, відповідно до RFC 2828.
Криптолінгвістика — це вивчення властивостей мови, які мають певне значення в криптографії або криптології (наприклад, статистику частоти, комбінації букв, універсальні шаблони тощо).
Криптографія та криптоаналіз мають довгу історію.
Історія криптографії – основна стаття.
До сучасної ери криптографія була в першу чергу пов’язана з конфіденційністю повідомлень (тобто шифруванням) — перетворенням повідомлень із зрозумілої форми у незрозумілу й знову, роблячи їх нерозбірливими перехоплювачами чи підслуховувачами без секретних знань (а саме ключа, необхідного для розшифрування). цього повідомлення). Шифрування було розроблено для збереження конфіденційності розмов шпигунів, військових лідерів і дипломатів. Протягом останніх десятиліть ця дисципліна розширилася і включає такі методи, як перевірка цілісності повідомлень, аутентифікація ідентичності відправника/одержувача, цифрові підписи, інтерактивні докази та безпечні обчислення, серед іншого.
Двома найпоширенішими класичними типами шифрів є шифри транспозиції, які систематично замінюють літери або групи літер іншими літерами або групами літер (наприклад, «привіт, світ» стає «ehlol owrdl» у тривіально простій схемі перегрупування), і шифри заміни, які систематично замінюють літери чи групи літер іншими літерами чи групами літер (наприклад, «летіти відразу» перетворюється на «gmz bu». Прості версії обох ніколи не забезпечували конфіденційності від підступних супротивників. Шифр Цезаря був раннім шифром заміни, в якому кожна літера у відкритому тексті була замінена літерою на певну кількість позицій внизу алфавіту. За словами Светонія, Юлій Цезар використовував її зі зміною трьох осіб для спілкування зі своїми полководцями. Прикладом є ранній єврейський шифр Атбаш. Найдавнішим відомим використанням криптографії є вирізаний зашифрований текст на камені в Єгипті (близько 1900 р. до н. е.), однак, можливо, це було зроблено для задоволення грамотних глядачів, а не а для приховування інформації.
Повідомляється, що крипти були відомі класичним грекам (наприклад, шифр транспозиції скіталу, який, як стверджується, використовувався спартанськими військовими). Стеганографія (практика приховування навіть присутності комунікації, щоб зберегти її конфіденційність) також була винайдена в давнину. За словами Геродота, фраза, витатуйована на поголеній голові раба і прихована під відрослим волоссям. Використання невидимого чорнила, мікроточок і цифрових водяних знаків для приховування інформації є більш сучасними прикладами стеганографії.
Каутіліям і Мулаведія — це два типи шифрів, згадані в індійській 2000-річній Камасутрі з Вцияни. Заміни шифрованих літер у Каутіліямі засновані на фонетичних відносинах, наприклад, голосні стають приголосними. Алфавіт шифру в Мулаведії складається з відповідних літер і використання взаємних.
За словами мусульманського вченого Ібн аль-Надіма, Сасанідська Персія мала два секретних письма: h-dabrya (буквально «царський сценарій»), який використовувався для офіційного листування, і rz-saharya, який використовувався для обміну секретними повідомленнями з іншими країни.
У своїй книзі The Codebreakers Девід Кан пише, що сучасна криптологія почалася з арабів, які були першими, хто ретельно задокументував криптоаналітичні процедури. «Книга криптографічних повідомлень» була написана Аль-Халілем (717–786), і вона містить найраніші використання перестановок і комбінацій для переліку всіх можливих арабських слів з голосними та без них.
Шифротексти, створені класичним шифром (а також деякими сучасними шифрами), розкривають статистичну інформацію про відкритий текст, яку можна використовувати для зламу шифру. Майже всі такі шифри міг бути зламаний розумним зловмисником після відкриття частотного аналізу, можливо, арабським математиком і науковцем Аль-Кінді (також відомим як Алкінд) у 9 столітті. Класичні шифри все ще популярні сьогодні, хоча в основному як головоломки (див. криптограму). Рісала фі Істіхрадж аль-Муамма (Рукопис для дешифрування криптографічних повідомлень) був написаний Аль-Кінді і задокументував перше відоме використання методів криптоаналізу частотного аналізу.
Деякі підходи до розширеного шифрування історії, такі як гомофонний шифр, які мають тенденцію згладжувати розподіл частот, можуть не мати переваги від частот мовних літер. Частоти мовної групи літер (або n-грамів) можуть викликати атаку для цих шифрів.
До відкриття поліалфавітного шифру, особливо Леоном Баттістою Альберті близько 1467 року, практично всі шифри були доступні для криптоаналізу з використанням підходу частотного аналізу, хоча є деякі докази того, що він уже був відомий Аль-Кінді. Альберті придумав використовувати окремі шифри (або алфавіти заміни) для різних частин комунікації (можливо, для кожної наступної букви відкритого тексту на межі). Він також створив те, що вважається першим пристроєм автоматичного шифрування, колесом, яке виконувало частину його дизайну. Шифрування в шифрі Віженера, поліалфавітному шифрі, контролюється ключовим словом, яке керує заміною літер на основі того, яка літера ключового слова використовується. Чарльз Беббідж продемонстрував, що шифр Віженера був уразливим для аналізу Касіскі в середині дев’ятнадцятого століття, але Фрідріх Касіскі опублікував свої висновки через десять років.
Незважаючи на те, що частотний аналіз є потужним і широким методом проти багатьох шифрів, шифрування залишається ефективним на практиці, оскільки багато потенційних криптоаналітиків не знають про цю техніку. Щоб зламати повідомлення без використання частотного аналізу, потрібно було знати використовуваний шифр і, можливо, задіяний ключ, що робило шпигунство, хабарництво, крадіжки зі зломом, дезертирство та інші криптоаналітично необізнані тактики більш привабливими. Таємниця алгоритму шифру була остаточно визнана в 19 столітті як ні розумна, ні здійсненна гарантія безпеки повідомлень; насправді, будь-яка відповідна криптографічна схема (включаючи шифри) повинна залишатися безпечною, навіть якщо опонент повністю розуміє сам алгоритм шифрування. Безпека ключа має бути достатньою для того, щоб хороший шифр зберігав конфіденційність у разі нападу. Огюст Керкхоффс вперше заявив про цей фундаментальний принцип у 1883 році, і він відомий як принцип Керкхоффса; Альтернативно, і більш прямо, Клод Шеннон, винахідник теорії інформації та основ теоретичної криптографії, повторив це як Максим Шеннона — «ворог знає систему».
Щоб допомогти з шифрами, було використано багато фізичних гаджетів і допомоги. Скитал Стародавньої Греції, стрижень, який нібито використовували спартанці як інструмент шифрування транспонування, міг бути одним із перших. У середньовічні часи були розроблені інші засоби, такі як шифрова решітка, яка також використовувалася для стеганографії. З розвитком поліалфавітних шифрів стали доступні більш складні засоби, такі як диск шифру Альберті, схема tabula recta Йоханнеса Трітеміуса і колесний шифр Томаса Джефферсона (загально невідомий і повторно винайдений Базерісом близько 1900 року). На початку ХХ століття було розроблено і запатентовано багато механічних систем шифрування/дешифрування, включаючи роторні машини, які використовувалися німецьким урядом і військовими з кінця 1920-х років до Другої світової війни. Після Першої світової війни шифри, реалізовані в більш якісних екземплярах цих машин, призвели до значного зростання криптоаналітичних труднощів.
До початку двадцятого століття криптографія в першу чергу займалася лінгвістичними та лексикографічними моделями. Відтоді фокус розвинувся, і криптографія тепер включає аспекти теорії інформації, складності обчислень, статистики, комбінаторики, абстрактної алгебри, теорії чисел і скінченної математики загалом. Криптографія є різновидом інженерії, але вона унікальна тим, що має справу з активним, розумним і ворожим опором, тоді як інші види інженерії (наприклад, цивільна або хімічна інженерія) мають справу лише з природними силами, які є нейтральними. Також досліджується зв’язок між труднощами криптографії та квантовою фізикою.
Розвиток цифрових комп’ютерів та електроніки сприяло криптоаналізу, дозволяючи створювати значно складніші шифри. Крім того, на відміну від традиційних шифрів, які шифрували виключно письмові тексти, комп’ютери дозволяли шифрувати будь-які типи даних, які могли бути представлені в будь-якому двійковому форматі; це було новим і вирішальним. І в розробці шифрів, і в криптоаналізі комп’ютери витіснили мовну криптографію. На відміну від класичних і механічних методів, які безпосередньо маніпулюють традиційними символами (тобто літерами та цифрами), багато комп’ютерних шифрів працюють з двійковими бітовими послідовностями (іноді в групах або блоках). Комп’ютери, з іншого боку, допомогли криптоаналізу, який частково компенсував підвищену складність шифру. Незважаючи на це, хороші сучасні шифри залишилися попереду криптоаналізу; часто буває, що використання хорошого шифру є дуже ефективним (тобто швидким і вимагає небагатьох ресурсів, таких як пам’ять або потужність ЦП), тоді як його злам вимагає зусиль на багато порядків більших і значно більших, ніж потрібні для будь-якого класичний шифр, який фактично унеможливлює криптоаналіз.
Сучасна криптографія дебютує.
Криптоаналіз нових механічних пристроїв виявився складним і трудомістким. Під час Другої світової війни криптоаналітична діяльність у Блетчлі-парку у Сполученому Королівстві сприяла винаходу більш ефективних методів для виконання повторюваних завдань. Colossus, перший у світі повністю електронний, цифровий, програмований комп’ютер, був розроблений для допомоги в декодуванні шифрів, створених машиною Lorenz SZ40/42 німецької армії.
Криптографія є відносно новою сферою відкритих наукових досліджень, яка розпочалася лише в середині 1970-х років. Співробітники IBM розробили алгоритм, який став федеральним (тобто американським) стандартом шифрування даних; Вітфілд Діффі та Мартін Хеллман опублікували свій ключовий алгоритм угоди; і колонка Мартіна Гарднера Scientific American опублікувала алгоритм RSA. Відтоді криптографія стала популярною як техніка комунікацій, комп’ютерних мереж та комп’ютерної безпеки в цілому.
Існують глибокі зв’язки з абстрактною математикою, оскільки деякі сучасні підходи до криптографії можуть зберігати свої ключі в секреті лише в тому випадку, якщо певні математичні проблеми важко розв’язувати, наприклад, цілочисельне розкладання чи проблеми з дискретним логарифмом. Є лише кілька криптосистем, які були продемонстровані на 100% захищеними. Клод Шеннон довів, що одноразовий блокнот є одним із них. Існує кілька ключових алгоритмів, які за певних умов є безпечними. Наприклад, нездатність брати на множники надзвичайно великі цілі числа є основою для переконання, що RSA та інші системи безпечні, але доказ незламності недосяжний, оскільки основна математична проблема залишається невирішеною. На практиці вони широко використовуються, і більшість компетентних спостерігачів вважають, що на практиці вони непорушні. Існують системи, подібні до RSA, наприклад, розроблена Майклом О. Рабіном, які є доказово безпечними, якщо розкладання n = pq неможливе; однак вони практично марні. Проблема з дискретним логарифмом є основою для переконання, що деякі інші криптосистеми є безпечними, і існують подібні, менш практичні системи, які є доказово безпечними з точки зору розв’язності або нерозв’язності проблеми дискретного логарифма.
Розробники криптографічних алгоритмів і систем повинні враховувати можливі майбутні досягнення, працюючи над своїми ідеями, а також знати історію криптографії. Наприклад, у міру того, як потужність обчислювальної обробки комп’ютера покращилася, широта атак грубої сили зросла, отже, зросла і необхідна довжина ключів. Деякі розробники криптографічних систем, які досліджують пост-квантову криптографію, вже розглядають потенційні наслідки квантових обчислень; оголошена неминучість скромних реалізацій цих машин може зробити потребу в попереджувальній обережності більше, ніж просто спекулятивною.
Класична криптографія сучасності
Симетрична (або з приватним ключем) криптографія — це тип шифрування, при якому відправник і одержувач використовують один і той же ключ (або, рідше, коли їхні ключі різні, але пов'язані між собою легко обчислюваним способом і зберігаються в секреті, приватно ). До червня 1976 року це був єдиний тип шифрування, який був загальновідомим.
Блокові шифри і потокові шифри використовуються для реалізації шифрів симетричного ключа. Блоковий шифр шифрує введення блоками відкритого тексту, а не окремими символами, як це робить потоковий шифр.
Уряд США визначив стандарт шифрування даних (DES) і розширений стандарт шифрування (AES) як стандарти криптографії (хоча сертифікація DES була зрештою відкликана після створення AES). DES (особливо його все ще схвалений і значно безпечніший варіант потрійного DES) залишається популярним, незважаючи на його застарілий офіційний стандарт; він використовується в широкому спектрі застосувань, від шифрування банкомата до конфіденційності електронної пошти та безпечного віддаленого доступу. Було винайдено та випущено безліч різних блочних шифрів із різним ступенем успіху. Багато, зокрема деякі, розроблені кваліфікованими практиками, наприклад FEAL, були значно зламані.
Потокові шифри, на відміну від блочних шифрів, генерують нескінченно довгий потік ключового матеріалу, який поєднується з відкритим текстом побітно або по символу, подібно до одноразової блокноти. Вихідний потік потокового шифру генерується з прихованого внутрішнього стану, який змінюється в міру функціонування шифру. Для встановлення внутрішнього стану спочатку використовується матеріал секретного ключа. Широко використовується потоковий шифр RC4. Створюючи блоки потоку ключів (замість генератора псевдовипадкових чисел) і використовуючи операцію XOR для кожного біту відкритого тексту з кожним бітом потоку ключів, блочні шифри можна використовувати як шифри потоку.
Коди аутентифікації повідомлень (MAC) подібні до криптографічних хеш-функцій, за винятком того, що секретний ключ може використовуватися для перевірки хеш-значення після отримання; ця додаткова складність запобігає атаці на голі алгоритми дайджесту, і тому вважається доцільною. Третім різновидом криптографічних методів є криптографічні хеш-функції. Вони беруть повідомлення будь-якої довжини як вхідні дані та виводять невеликий хеш фіксованої довжини, який можна використовувати, наприклад, у цифрових підписах. Зловмисник не може знайти два повідомлення, які створюють однаковий хеш, використовуючи хороші алгоритми хешування. MD4 є широко використовуваною, але зараз несправною хеш-функцією; MD5, розширена форма MD4, також широко використовується, але порушується на практиці. Серія алгоритмів безпечного хешування алгоритмів хешування, подібних до MD5, була розроблена Агентством національної безпеки США: Управління стандартів США вирішило, що з точки зору безпеки було «розважливо» розробити новий стандарт, щоб «значно покращити надійність загального алгоритму хешування NIST». набір інструментів». SHA-1 широко використовується і більш безпечний, ніж MD5, але криптоаналітики виявили атаки проти нього; сімейство SHA-2 покращує SHA-1, але вразливе до зіткнень станом на 2011 рік; і сімейство SHA-2 покращує SHA-1, але є вразливим до зіткнень. У результаті до 2012 року мав бути проведений конкурс дизайну хеш-функцій, щоб вибрати новий національний стандарт США, який буде відомий як SHA-3. Конкурс завершився 2 жовтня 2012 року, коли Національний інститут стандартів і технологій (NIST) оголосив Keccak як новий хеш-алгоритм SHA-3. Криптографічні хеш-функції, на відміну від інверсних блочних і потокових шифрів, забезпечують хешований вихід, який не можна використовувати для відновлення вихідних вхідних даних. Криптографічні хеш-функції використовуються для перевірки достовірності даних, отриманих з ненадійного джерела, або для додаткового захисту.
Хоча повідомлення або набір повідомлень можуть мати ключ, відмінний від інших, криптосистеми з симетричним ключем використовують той самий ключ для шифрування та дешифрування. Керування ключами, необхідне для безпечного використання симетричних шифрів, є великим недоліком. Кожна окрема пара сторін, що спілкуються, повинна, в ідеалі, мати інший ключ, а також, можливо, інший шифротекст для кожного надісланого шифротексту. Кількість необхідних ключів зростає прямо пропорційно кількості учасників мережі, що вимагає складних методів керування ключами, щоб усі вони були послідовними та таємними.
Вітфілд Діффі та Мартін Хеллман винайшли концепцію криптографії з відкритим ключем (також відомим як асиметричний ключ) у фундаментальній роботі 1976 року, в якій використовуються два різних, але математично пов’язаних ключі — відкритий ключ і закритий ключ. Незважаючи на те, що вони нерозривно пов'язані, система відкритих ключів побудована таким чином, що обчислення одного ключа ("приватного ключа") від іншого ("відкритого ключа") є обчислювально нездійсненним. Швидше, обидва ключа виробляються таємно, як пов’язана пара. Криптографія з відкритим ключем, за словами історика Девіда Кана, є «найреволюційнішим новим поняттям у цій галузі з тих пір, як поліалфавітна заміна виникла в епоху Відродження».
Відкритий ключ у криптосистемі з відкритим ключем можна вільно передавати, але пов’язаний закритий ключ повинен залишатися прихованим. Відкритий ключ використовується для шифрування, тоді як закритий або секретний ключ використовується для розшифрування в схемі шифрування з відкритим ключем. Хоча Діффі та Хеллман не змогли створити таку систему, вони продемонстрували, що криптографію з відкритим ключем можна уявити, запропонувавши протокол обміну ключами Діффі-Хеллмана, рішення, яке дозволяє двом людям приховано домовитися про спільний ключ шифрування. Найбільш широко використовуваний формат для сертифікатів відкритих ключів визначається стандартом X.509.
Публікація Diffie and Hellman викликала широкий академічний інтерес до розробки практичної системи шифрування з відкритим ключем. Рональд Рівест, Аді Шамір і Лен Адлеман зрештою виграли конкурс у 1978 році, і їх відповідь стала відома як алгоритм RSA.
Алгоритми Діффі–Хеллмана та RSA, крім того, що є найпершими загальновідомими прикладами високоякісних алгоритмів із відкритим ключем, були одними з найбільш часто використовуваних. Прикладами алгоритмів з асиметричним ключем є криптосистема Крамера-Шупа, шифрування Ель-Гамала та численні підходи з еліптичними кривими.
Криптографи GCHQ передбачили кілька наукових досягнень, згідно з документом, виданим у 1997 році Урядовим штабом комунікацій (GCHQ), британською розвідувальною організацією. Згідно з легендою, криптографію з асиметричним ключем винайшов Джеймс Х. Елліс приблизно в 1970 році. Кліффорд Кокс винайшов рішення в 1973 році, яке було надзвичайно схоже на RSA з точки зору дизайну. Малькольму Дж. Вільямсону приписують винахід обміну ключами Діффі-Хеллмана в 1974 році.
Системи цифрового підпису також реалізуються за допомогою криптографії з відкритим ключем. Цифровий підпис подібний до традиційного підпису тим, що його легко створити користувачеві, але важко підробити іншим. Цифрові підписи також можуть бути постійно пов’язані зі змістом повідомлення, яке підписується; це означає, що вони не можуть бути «переміщені» з одного документа в інший без виявлення. У схемах цифрового підпису є два алгоритми: один для підпису, який використовує секретний ключ для обробки повідомлення (або хеш повідомлення, або обидва), і один для перевірки, який використовує відповідний відкритий ключ із повідомленням для перевірки. справжність підпису. Два з найбільш використовуваних методів цифрового підпису - RSA і DSA. Інфраструктури відкритих ключів і багато систем безпеки мережі (наприклад, SSL/TLS, багато VPN) покладаються на цифрові підписи для функціонування.
Обчислювальна складність «важких» задач, наприклад тих, що виникають із теорії чисел, часто використовується для розробки методів із відкритим ключем. Проблема цілочисельної факторізації пов’язана з твердістю RSA, тоді як проблема дискретного логарифма пов’язана з Діффі–Хеллманом та DSA. Безпека криптографії з еліптичною кривою заснована на теоретичних задачах чисел еліптичної кривої. Більшість алгоритмів з відкритим ключем включають такі операції, як модульне множення та піднесення до ступеня, які є значно дорожчими в обчислювальному відношенні, ніж методи, що використовуються в більшості блочних шифрів, особливо зі звичайними розмірами ключа, через складність основних проблем. В результаті криптосистеми з відкритим ключем часто є гібридними криптосистемами, в яких повідомлення шифрується за допомогою швидкого, високоякісного алгоритму симетричного ключа, тоді як відповідний симетричний ключ надсилається разом із повідомленням, але шифрується за допомогою алгоритму з відкритим ключем. Також зазвичай використовуються гібридні схеми підпису, в яких обчислюється криптографічна хеш-функція і лише отриманий хеш підписується цифровим підписом.
Хеш-функції в криптографії
Криптографічні хеш-функції — це криптографічні алгоритми, які виробляють і використовують конкретні ключі для шифрування даних для симетричного або асиметричного шифрування, і їх можна розглядати як ключі. Вони беруть повідомлення будь-якої довжини як вхідні дані та виводять невеликий хеш фіксованої довжини, який можна використовувати, наприклад, у цифрових підписах. Зловмисник не може знайти два повідомлення, які створюють однаковий хеш, використовуючи хороші алгоритми хешування. MD4 є широко використовуваною, але зараз несправною хеш-функцією; MD5, розширена форма MD4, також широко використовується, але порушується на практиці. Серія алгоритмів безпечного хешування алгоритмів хешування, подібних до MD5, була розроблена Агентством національної безпеки США: Управління стандартів США вирішило, що з точки зору безпеки було «розважливо» розробити новий стандарт, щоб «значно покращити надійність загального алгоритму хешування NIST». набір інструментів». SHA-1 широко використовується і більш безпечний, ніж MD5, але криптоаналітики виявили атаки на нього; сімейство SHA-2 покращує SHA-1, але вразливе до зіткнень станом на 2011 рік; і сімейство SHA-2 покращує SHA-1, але є вразливим до зіткнень. У результаті до 2012 року мав бути проведений конкурс дизайну хеш-функцій, щоб вибрати новий національний стандарт США, який буде відомий як SHA-3. Конкурс завершився 2 жовтня 2012 року, коли Національний інститут стандартів і технологій (NIST) оголосив Keccak як новий хеш-алгоритм SHA-3. Криптографічні хеш-функції, на відміну від інверсних блочних і потокових шифрів, забезпечують хешований вихід, який не можна використовувати для відновлення вихідних вхідних даних. Криптографічні хеш-функції використовуються для перевірки достовірності даних, отриманих з ненадійного джерела, або для додаткового захисту.
Криптографічні примітиви та криптосистеми
Велика частина теоретичної роботи криптографії зосереджена на криптографічних примітивах — алгоритмах, що мають основні криптографічні властивості — і на тому, як вони пов’язані з іншими криптографічними проблемами. Ці основні примітиви потім використовуються для створення більш складних криптографічних інструментів. Ці примітиви забезпечують фундаментальні якості, які використовуються для створення більш складних інструментів, відомих як криптосистеми або криптографічні протоколи, які забезпечують одну або кілька властивостей високого рівня безпеки. З іншого боку, межа між криптографічними примітивами та криптосистемами є довільною; Алгоритм RSA, наприклад, іноді вважається криптосистемою, а іноді примітивом. Псевдовипадкові функції, односторонні функції та інші криптографічні примітиви є типовими прикладами.
Криптографічна система, або криптосистема, створюється шляхом поєднання одного або кількох криптографічних примітивів для створення більш складного алгоритму. Криптосистеми (наприклад, шифрування Ель-Гамаля) призначені для забезпечення певної функціональності (наприклад, шифрування з відкритим ключем), забезпечуючи при цьому певні якості безпеки (наприклад, випадкова модель оракула, вибраний відкритим текстом, атака CPA безпеки). Для підтримки якостей безпеки системи криптосистеми використовують властивості базових криптографічних примітивів. Складна криптосистема може бути створена з комбінації численних більш рудиментарних криптосистем, оскільки відмінність між примітивами та криптосистемами є дещо довільною. У багатьох випадках структура криптосистеми включає прямий зв’язок між двома або більше сторонами в просторі (наприклад, між відправником і одержувачем захищеного повідомлення) або в часі (наприклад, між відправником і одержувачем захищеного повідомлення). (наприклад, криптографічно захищені резервні дані).
Для більш детального ознайомлення з навчальною програмою сертифікації Ви можете розгорнути та проаналізувати наведену нижче таблицю.
Навчальна програма сертифікації EITC/IS/ACC Advanced Classical Cryptography Certification містить посилання на дидактичні матеріали відкритого доступу у формі відео. Навчальний процес поділений на покрокову структуру (програми -> уроки -> теми), що охоплює відповідні частини навчального плану. Також надаються необмежені консультації з експертами в галузі.
Детальніше про процедуру сертифікації див Як це працює?.
Основні конспекти лекцій
Розуміння криптографії Крістофа Паара та Яна Пельцля, онлайн-курс у формі слайдів у форматі PDF
https://www.crypto-textbook.com/slides.php
Розуміння криптографії Крістофа Паара та Яна Пельцля, онлайн-курс у формі відео
https://www.crypto-textbook.com/movies.php
Основний довідник з класичної криптографії
Розуміння криптографії Крістофа Паара та Яна Пельцля
https://www.crypto-textbook.com/index.php
Додаткова довідка про прикладну класичну криптографію
Довідник з прикладної криптографії А. Менезес, П. ван Оршот та С. Ванстон:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
https://notendur.hi.is/pgg/Handbook%20of%20Applied%20Cryptography.pdf
Завантажте повні підготовчі матеріали для офлайн-самонавчання для програми EITC/IS/ACC Advanced Classical Cryptography у файлі PDF
Підготовчі матеріали EITC/IS/ACC – стандартна версія
Підготовчі матеріали EITC/IS/ACC – розширена версія з контрольними запитаннями