трусики женские украина

На головну

Відправка повідомлення в майбутнє - Кріптология

Міністерство освіти Російської Федерації

Пермський державний університет

Механико-математичний факультет Кафедра математичного забезпечення обчислювальних систем

УДК 519.6+681.83ВІДПРАВКА ПОВІДОМЛЕННЯ В МАЙБУТНЄ

Курсова робота.

виконала студентка

3-го курсу 1 групи

Науковий руководительпрофессор

Міков Олександр Іванович.

Пермь 2000 р. Анотація

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

- «шаради» з тимчасовим замком на базі обчислювальних проблем з істотно послідовними алгоритмами рішення;

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

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

Зміст

1. Ведіння .....................................................................4

2. Аналіз літератури........................................................ 5

3. Позначення, що Використовуються .............................................6

4. Розділ 1. Проблеми, що Вирішуються ...........................................7

5. Розділ 2. Методи побудови криптосистем з тимчасовим розкриттям..................................................................8

5.1. «Шаради» з тимчасовим замком (time - lock puzzles) ......9

5.2. Поняття, що Використовуються ...........................................12

5.3. Схема з використанням довірених агентів............14

6. Висновок..................................................................19

7. Список літератури........................................................ 20

Ведіння

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

· зростаючі об'єми і даних, що передаються, що зберігаються; розширення кола користувачів, що мають доступ до ресурсів ЕОМ, програм і даних;

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

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

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

Аналіз літератури.

Публікацій на тему даної роботи дуже мало. Це зумовлене, насамперед тим, що раніше не існувало сильній необхідності в шифровці повідомлень на такий довгий період часу. Першим, хто звернувся до співтовариства Intеrnet з пропозицією розглянути подібну задачу в зв'язку з потребами людей, що користуються послугами кріогенних депозитаріїв, був Тімоті Мей. Саме він і запропонував використати в криптографічній схемі довереннях агентів. Як відповідь на цей запит і виникли схеми, що розглядаються, які були розроблені відомими криптографами Рональдом Л. Рівестом, Аді Шаміром і Девідом А. Вагнером. Наскільки мені відомо, інших криптографічних схем, направленых саме на рішення цієї проблеммы немає. Ніякої літератури, крім статтю у відповідь Рівеста, Шаміра, Вагнера і доповнення цієї ж статті в журналі "Конфідент"5'96 мені знайти не вдалося. Потрібно врахувати, що запропоновані схеми засновуються на базових поняттях криптографії, з якими можна ознайомитися в будь-якій спеціалізованій літературі.

Позначення, що Використовуються.

4 М-секретне повідомлення.

4 До-секретний ключ, на якому шифрується М.

4 t - час, на який шифрується М.

4 t˚- поточний час.

4 S - продуктивність комп'ютера.

4 Е- вибраний алгоритм шифрування.

4 р, q - прості числа.

4 n -формується, як твір чисел р і q.

4 f(n) -формується, як твір чисел (р-1) і (q-1).

4 d- кількість, довірених агнтов.

4 i[М1] -номер агента.

4 θ- поріг схеми розділення секрету.

4 Si, t- секретний ключ агента.

4 Di, t- відкритий ключ агента.

4 yj-"тінь" ключі До, j-ого агента

4 rj- криптограма "тіні" ключа До, j-ого агента

4 F - одностороння хеш-функція.

Розділ 1. Проблеми, що Вирішуються.

Крім збереження інформації про «замороженого», на заданий термін також, необхідно згадати і деякі інші практичні додатки криптографії з тимчасовим розкриттям:

· учасник торгів може побажати «запечатати» пропозицію ціни з тим, щоб воно було «розпечатане» по завершенні торгової сесії;

· домовласник хоче надати держателю заставний можливість здійснювати платежі з використанням зашифрованого цифрового кэша (digital cash) з різними датами дешифрування так, щоб оплата виконувалася на початку кожного наступного місяця;

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

· схема шифрування з депонуванням ключів (key-escrow scheme) може бути реалізована на базі "шарад" з тимчасовим замком з тим, щоб урядові організації могли отримати ключі для розшифровки повідомлення тільки тільки після закінчення певного періоду часу.

У деяких з вищеперелічених ситуаціях час на яке повідомлення залишається секретним коливається в рамках 1 року, коли у випадку із «замороженою» людиною або шифровкою щоденника цей термін обмежується знизу, як мінімум, 2-3 роками, верхня оцінка є взагалі невизначеною. Враховуючи дану обставину, природно було б запропонувати два методи шифрування повідомлення, на  не дуже тривалий період часу 2-3 року і на досить тривалий час, порядку декількох десятиріч, що і було зроблено. Кожний з методів повинен використовуватися у відповідній ситуації.

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

Розділ 2. Методи побудови криптосистем з тимчасовим розкриттям.

Криптосистема з тимчасовим розкриттям, запропонована Р.Л.Райвестом, А.Шаміром і Д.А.Вагнером отримала назву «шаради» з тимчасовим замком (time - lock puzzles). Даний підхід до захисту інформації пов'язаний саме з проблемами, виникаючими при відправці секретного повідомлення в майбутнє. Його специфіка полягає в тому, що на відміну від традиційних криптографічних методів, що передбачають наявність у одержувача повідомлення секретного ключа відправника (в симетричних криптосистемах) або у відправника повідомлення аутентичного (справжнього) відкритого ключа одержувача (в асиметричних криптосистемах), секретний ключ знищується відразу після шифрування і невідомий як відправнику, так і одержувачу повідомлення.

У цей час існує два основних методи побудови криптосистем з тимчасовим розкриттям:

- «шаради» з тимчасовим замком на базі обчислювальних проблем з істотно послідовними алгоритмами рішення;

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

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

«Шаради» з тимчасовим замком (time - lock puzzles)

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

Однак такий підхід до побудови «шарад» не дозволяє точно визначити час рішення, оскільки використання різних технологічних елементів приводить до розкиду продуктивність кінцевих апаратних реализациий. Метод, основаный на використанні довірених агентів, є більше за продподчтительным у випадку, коли рішення повинне бути предьявлено точне у вказаний термін.

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

Для пояснення задачі розглянемо наступний приклад. Визначимо через М повідомлення, яке повинне бути зашифроване, а через S продуктивність (дешифрований в секунду) комп'ютера. Для шифрування повідомлення М так, щоб воно могло бути дешифроване після закінчення Т секунд, виберемо симетричну криптосистему (наприклад RC5).І виконаємо шифрування повідомлення на ключі довгої

K = lg (2ST)

біт. Збережемо криптограму і знищимо ключ. Після цього застосування «силової атаки» (вичерпного перебору в ключовому просторі) дозволить знайти ключ в середньому за Т секунд.

У зв'язку з такою побудовою виникають дві проблеми:

- «силова атака» допускає тривіальну распараллеливание, внаслідок чого застосування N комп'ютерів дозволяє отримати результат в N раз швидше

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

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

Розглянемо метод побудови "шарад", запропонованого Р.Л.Райвестом, А.Шаміром, Д.А.Вагнером і заснований на послідовному застосуванні операції зведення в квадрат.

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

Для цього Аліса:

· генерує сооставной модуль n = pq як твір двох простих випадково вибраних чисел р і q  і обчислює f(n) = (р-1) (q-1);

· далі обчислює t = TS,  де S - продуктивність (число возведений в квадрат по модулю n в секунду) комп'ютера, призначеного для рішення шаради;

· генерує випадковий ключ До для симетричної криптосистемы, наприклад RC5. Ключ повинен бути досить довгим;

· шифрує М на До з допомогою RC5. З(M) = RC5(K, M);

· випадковим образом вибирає а по модулю n (1· обьявляет "шараду" у вигляді набору параметрів (n, a, t, З(K), З(M))  і стирає змінні (такі, як: р, q, е, b, n), створені в процесі обчислень.

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

b = ae(mod n).

При відомому f(n)  можна швидко обчислити е, по формулі (1) і потім b по формулі (2). Однак відомо, що обчислення f(n) по n  так же трудомістка задача, що і розкладання n  на множники. Таким чином, єдиний відомий в цей час спосіб обчислення b (при правильно вибраних параметрах р, q, а) зводиться до послідовного зведення а  в кврдрат (t разів), причому кожний раз в квадрат зводиться попередній результат (таким чином виключається распараллеливание обчислень при "силовій атаці").

Хоч спроба розкладання n на множники являє собою альтернативний метод рішення, але при досить великих р і q такий підхід менш ефективний, ніж послідовне зведення в квадрат.

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

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

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

Потрібно врахувати що таку схему варто застосовувати тільки у випадку, коли Т  не перевищує 5 років, при виконанні всіх умов побудови схеми. Такий висновок можна зробити за результатами представленым в статті Ю. Е. Пудовченко «Коли наступить час підбирати ключі», а саме, що через кожні 5 років продуктивність комтьютеров зростає в 10 раз. Тобто, якщо зашифрувати повідомлення, використовуючи таку схему, на десять років, то через п'ять років «силова атака» (на більш могутніх, відповідних своєму часу машинах) займе часу в 10 раз менше, в нашому випадку це становитиме 1 рік. Таким чином весь час секретність даного повідомлення становитиме 6 років, що набагато менше необхідного терміну.

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

Поняття,

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

· Криптографія з відкритим ключем. У схемі з відкритим ключем є два ключі, відкритий [public] і секретний [private, secret], вибраний таким чином, що їх послідовне застосування до масиву даних залишає цей масив без змін. Шифруюча процедура використовує відкритий ключ, та, що дешифрує - секретний. Дешифрування коду без знання секретного ключа практично нездійсненне; зокрема, практично нерозв'язна задача обчислення секретного ключа по відомому відкритому ключу. Основна перевага криптографії з відкритим ключем - спрощений механізм обміну ключами. При здійсненні комунікації по каналу зв'язку передається тільки відкритий ключ, що робить можливим використання для цієї мети звичайного каналу  і усуває потребу в спеціальному захищеному каналі для передачі ключа.

· Цифровий підпис. Цифровим підписом називають блок даних, сгенерированный з використанням деякого секретного ключа. При цьому за допомогою відкритого ключа можна перевірити, що дані були дійсно сгенерированы за допомогою цього секретного ключа. Це робиться таким чином: відправник шифрує своє повідомлення на своєму секретному ключі і на відкритому одержувача, після чого посилає криптограму одержувачу; одержувач, в свою чергу дешифрує полученую криптограму на своєму секретному ключі і на відкритому відправника; після цих маніпуляцій у одержувача повинно вийти шукане повідомлення від відправника. Цифрові підписи використовуються для того, щоб підтвердити, що повідомлення прийшло дійсно від даного відправника (в припущенні, що лише  відправник володіє секретним ключем, відповідним його відкритому ключу). Також підписи використовуються для проставлення штампу часу (timestamp) на документах: сторона, якою ми довіряємо, підписує документ з штампом часу з помошью свого секретного ключа і, таким чином, підтверджує, що документ вже існував в момент, оголошений в штампі часу.

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

· RC5. RC5 це досить-таки швидкий блоковий шифр розроблений Рівестом для RSA Data Security. Цей алгаритм параметричен, тобто з пременным розміром блоку, довгої ключа і змінним  числом проходів. Розмір блоку може бути 32, 64, або 128 бітів. Кількість проходів в проміжку від 0 до 2048 біт. Параметричность такого роду дає гнучкість і ефективність шифрування. RC5 складається з введення ключа (key expansion), шифрування і дешифрування. При введенні ключа вводяться також кількість проходів, розмір блоку і т.д. Шифрування складається з 3 примитвных операцій: складання, побітовий XOR і чергування (rotation). Виняткова простота RC5 робить його простим у використанні, RC5 текст, також як і RSA, може бути дописаний в кінець листа в зашифрованому вигляді. Безпека RC5 засновується на тому, що залежить від даних чергуванням і змішуванням результатів різних операцій. RC5 з розміром блоку 64 біта і 12 або більше за проходи забезпечує хорошу стійкість проти диференціального і лінійного криптанализов.

· Схема розділення секрету. Математика розділення секрету досить складна, і є темою окремої розмови, тому дамо неформальне визначення даного поняття. Схемою розділення секрету називається така схема, яка дозволяє «розподілити» секрет між n учасниками таким чином, щоб зазделегідь задані дозволені множини (множини "тіней секрету") учасників могли однозначно відновити секрет, а недозволені - не отримали ніякої додаткової інформації про можливе значення секрету. Порогова схема розділення секрету, (n, θ) - схема, дозволяє відновлювати секрет, якщо дозволеною безліччю є будь-яка безліч з θ або більше за "тіні секрету".Схема з використанням довірених агентів.

Дана схема є більше за переважну для збереження секретність повідомлення довгий час, саме ця схема повинна використовуватися в ситуації із «замороженими» людьми, оскільки час перебування в летаргійному сні обмежується ні декількома роками, а декількома десятиріччями.Отже, підхід даного методу полягає у використанні довірених агентів для зберігання повідомлення М протягом заданого інтервалу часу t. Для більшої надійності схеми шифрування, ключ До, на якому маємо намір зашифрувати повідомлення М поділимо  на d "тіней", скориставшись технікою розділення секрету запропонованої А.Шаміром, і розподілимо " тіні " секретного ключа серед трохи агентів, заручившись з їх сторони зобов'язанням, що відповідні фрагменти будуть пред'явлені після закінчення часу t. Помітимо, що техніка розділення секрету, що використовується володіє надмірністю і дозволяє відновлювати секретний ключ у випадку, коли деякі агенти не в змозі виконувати свої функції. Тоді криптограма З =Е (ДО, М) може бути вміщена в загальнодоступне місце з тим, щоб можна було отримати повідомлення М (воостановив ключ До і дешифрувавши повідомлення З) після закінчення часу t.

Отже Райвіст, Шамір і Вагнер запропонували альтернативний метод з наступними властивостями:

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

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

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

· Також, агент повинен відповідати на питання вигляду: "Для заданих значень у і t повернете значення функції Е(у, Si, t) - результат шифрування у на секретному ключі Si, t, який Ви маєте намір розкрити в момент часу t". Передбачається, що та, що використовується для шифрування криптосистема стійкий до атаки на відкритому тексті, тобто зловмисник не зможе відновити секретний ключ Si, t, маючи в своєму розпорядженні результати шифрування різних у -ов на фіксованому ключі Si, t. Сформувати повідомлення, підписати його на відкритому ключі користувача і на закритому агента. Сформоване повідомлення повинно містити номер агента, поточний час, час t, розкритий і подписаный секрет Si, tи значення функції Е(у, Si, t).

· кожний агент завжди підписує свої секретний і відкритий ключі.

Отже, схема з використанням довірених агентів виглядає так: спочатку на випадково выбраном ключі До  при допомозі симетричної криптосистемы користувач шифрує повідомлення М, і отримує

З=(ДО, М).

Далі, вибравши d агентів i1, [М2] i2,..., idпользователь публікує:

(З, i1, [М3] i2,..., id., r1, r[М4] rrRRgКкпрпл2,..., rd),

де r1, r[М5] rrRRgКкпрпл2,..., rd- d криптограм "тіней" ключа До. "Тіні" отримані по схемі розділення секрету, що дозволяють відновлювати ключ До  в момент часу t, після того, як агенти розкриють свої секрети. Розмір "тіні" ключа фіксований і не залежить від числа секретних компонент, довірених агенту. Також користувач може встановити поріг θ (0 < θ ≤ d) такої, що відновлення ключа До буде можливо тільки при θ або більшому числі "тіней" ключа До. Для цього користувач просто розбиває ключ До на d "тіней" по будь-якій схемі розділення секрету з порогом θ.

Після шифрування ключ  До віддаляється.

Далі користувач просить агента повернути йому криптограму, відповідної агенту, «тіні» ключа на секреті агента. Тоді

rj= Е(yj, Si, t),

де (y1, y2, ...., yd)  d "тіней" ключа До.

Після, користувач генерує складовий модуль

n = pq,

як твір двох простих випадково вибраних чисел р і q  . Після чого обчислює

f(n) = (р-1) (q-1) і

е = 2t(mod f(n)).

Пара чисел (е, n) і буде бути відкритим ключем користувача.

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

Таким чином обов'язки агента полягають в наступному:

Þ переодически розкривати раніше секретне значення -набувати нового значення хеш-функції. Визначимо за Sij, tсекретное значення ijагентом, що розкривається в момент часу t.  Послідовність секретів, розкритих одним агентом, не залежить від послідовності секретів розкритих іншими агентами. Така послідовність володіє наступною властивістю: з кожного Sij, t΄можна просто обчислити  Sij, tдля всіх t΄ ≤ t. Секрет, той, що розкривається агентом може бути використаний для обчислення всіх секретів, що раніше розкриваються внаслідок наступного рекурентний рівняння:  Si,(t-1)= F (Si, t) (3), де f - деяка одностороння хеш-функція  (Si,(t-1)-)(новий секрет, Si, t- старий, індекс (t-1) - означає час який залишилося до розкриття секрету, 1 вживана в записі, умовна і означає час, який пройшов з минулого розкриття секрету до  поточного моменту часу) Оскільки функція F є односторонньою, розкриття Si, tне дозволяє розкрити минулі секрети Si, t. (У іншому випадку зловмисник міг би обчислити послідовність секретів по формулі (3), починаючи з деякої точки в майбутньому, або вибрати функцію F з "лазейкой", так щоб тільки він зміг обчислити Si, t- секретний ключ агента з Si,(t-1)). Кожний розкритий секрет агент повинен підписати на своєму секретному ключі. Новий, полученый секрет появляється відкритим і використовується для спілкування агента з користувачем тобто, щоб користувач міг пересвідчитися в особистості агента.

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

Þ шифрувати повідомлення у на секреті Si, t, що розкривається агентом в момент часу t. Таким чином маємо криптограму Е(Si, t, у).

Þ сформувати повідомлення вигляду:

m=(i, t, t˚, Е(Si, t, у)),

де i - індекс агента, t - час розкриття в майбутньому,  t˚ - поточний час (про

часам агента).  Це повідомлення шифрується на відкритому ключі користувача

(е, n)  і підписується на отриманому секреті агента - Si, t˚:

Е(Е(m, (е, n)), Si, t˚).

Виконання нерівності t > t˚ не потрібно, однак

розглядається як норма.

· розкрити подписаный  секрет Si, tв момент часу t.

Відразу після шифровки "тіні" основного ключа До агент повинен розкрити свій секрет - набути значення хеш-функції, проробити маніпуляції, що все покладаються і оголосити користувачу свій відкритий ключ - розкритий секрет Si, t, подписаный на своєму секретному ключі. Спочатку аргументом хеш-функції, що використовується є секретний ключ агента. Таким чином агент вже виконав свої обов'язки один раз і схема повинна спрацювати. Як видно по побудові, скільки разів або коли саме агент буде розкривати свій секрет - не важливо. Також немає ніякої залежності між кількістю розкриття секрету різними агентами. Взагалі, агент може учавствовать у всій схемі два рази: перший - зашифрувати "тінь", підписати новий секрет і т.д.; другої - розкрити свій секретний ключ в заданий час.

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

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

Описана схема використання довірених агентів не "верифицируема" в тому значенні, що за опубликованым даними неможливо зазделегідь ухвалити рішення про відновлення повідомлення. Повідомлення М може бути відновлене тільки після розкриття агентами своїх секретів, дешифрування rjс метою отримання yjдля подальшого відновлення секретного ключа До і дешифрування С. Для

розв'язання проблеми необхідно застосовувати "верифицируемые" схеми розділення секрету.

Для зменшення потоку звернень до користувача рекомендується поступати таким чином: з самого початку, агенти формують свої відкриті і секретні ключі Di, tи Si, tсоответственно, де Di, t= f (Si, t). Для більшої надійності агенти завжди підписують свої відкриті і закриті ключі. Агент робить доступним ключ Di, tдля користувача. Тоді користувач сам може проробити всі необхідні маніпуляції з повідомленням у використовуючи замість секретного ключа агента, подписаный агентом відкритий ключ Di, t. Таким чином в обов'язку агента буде входити:

· періодичне розкриття свого відкритого ключа Di, t- отримання нового значення хеш - функції.

· підписання отриманого значення на своєму секретному ключі Si, t.

· розкрити подписаный секрет Si, tв момент часу t.

Таким чином користувач буде упевнений, в особистості агента і в тому, що агент існує.

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

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

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

Враховуючи все вищесказане потрібно відмітити, що такий підхід вимагає більшого об'єму пам'яті для зберігання списку відкритих ключів, які будуть використані в майбутньому, і списку розкритих раніше секретних ключів. Так, необхідний об'єм пам'яті на п'ятдесят років (з розрахунку один ключ на кожний день) при розмірі ключа 200 біт становитиме 3,5 Мбайт.

Висновок.

Ця робота присвячена криптографічним схемам збереження секретного повідомлення на довгий час (від місяця до декількох десятків років). Існує дві схеми подібного типу: «Шаради» з тимчасовим замком (time - lock puzzles) і схема з використанням довірених агентів. Перша схема полягає в тому, що повідомлення кодується ключем, який невідомий як відправнику, так і одержувачу повідомлення і який не буде розкритий протягом часу секретності даного повідомлення, за рахунок своєї довжини. Нестача такого методу, полягає в невеликому періоді времни секретності повідомлення, із за прогресу обчислювальних потужностей комп'ютерів. Найбільш цікава друга схема, оскільки дозволяє залишити повідомлення секретним на більш довгий термін (цей термін обмежується довжиною життя як мінімум θ агентів). Суть методу полягає в тому, що "тіні" ключа, на якому шифрується секретне повідомлення, розподіляються між довіреними агентами. Агенти шифрують свої "тіні" за допомогою вибраного алгоритму на своєму секретному ключі, який вони розкриють тільки після закінчення заданого часу. Кожний агент повинен періодично підтверджувати своє існування і особистість за допомогою певних дій. У заданий момент часу агенти повинні розкрити свої секрети, дешифрувати відповідні "тіні", "зібрати" з отриманих "тіней" шуканий ключ і дешифрувати повідомлення. Стійкість такої схеми забезпечує не тільки довжина ключа але і не "верифицируемость", тобто ухвалити яке небудь рішення про відновлення повідомлення, за опублікованими даними, неможливо. Всі дії агентів, по запевненню своєї особистості, виконуються в суворому порядку і регулюються "користувачем" - сервером.

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

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

Література.

1. Ronald L. Rivest, "Adi Shamir and David A.Wagner Time - lock puzzle and time-release Crypto". (http://theory.lcs.mit.edu/~rivest - 1999 р. на сьогоднішній день сайт оновлений і даної публікації не містить)

2. А.Л.Чмора, "Шифровка в майбутнє", "Конфідент"5'96

3. Ю. Е. Пудовченко, "Коли наступить час підбирати ключі"

4. Переклад статті "Tatu Ylonen Introduction to Cryptography"

5. Г.А.Кабатянський, "Математика розділення секрету".

Особливе спасибі web-майстру сторінки http://www.ssl.stu.neva.ru/ Олександру Ежову за деякі ідеї для рішення цієї задачі і статтю Ю. Е. Пудовченко, "Коли наступить час підбирати ключі".

[М1]

[М2]

[М3]

[М4]

[М5]

Авіація і космонавтика
Автоматизація та управління
Архітектура
Астрологія
Астрономія
Банківська справа
Безпека життєдіяльності
Біографії
Біологія
Біологія і хімія
Біржова справа
Ботаніка та сільське господарство
Валютні відносини
Ветеринарія
Військова кафедра
Географія
Геодезія
Геологія
Діловодство
Гроші та кредит
Природознавство
Журналістика
Зарубіжна література
Зоологія
Видавнича справа та поліграфія
Інвестиції
Інформатика
Історія
Історія техніки
Комунікації і зв'язок
Косметологія
Короткий зміст творів
Криміналістика
Кримінологія
Криптологія
Кулінарія
Культура і мистецтво
Культурологія
Логіка
Логістика
Маркетинг
Математика
Медицина, здоров'я
Медичні науки
Менеджмент
Металургія
Музика
Наука і техніка
Нарисна геометрія
Фільми онлайн
Педагогіка
Підприємництво
Промисловість, виробництво
Психологія
Психологія, педагогіка
Радіоелектроніка
Реклама
Релігія і міфологія
Риторика
Різне
Сексологія
Соціологія
Статистика
Страхування
Будівельні науки
Будівництво
Схемотехніка
Теорія організації
Теплотехніка
Технологія
Товарознавство
Транспорт
Туризм
Управління
Керуючі науки
Фізика
Фізкультура і спорт
Філософія
Фінансові науки
Фінанси
Фотографія
Хімія
Цифрові пристрої
Екологія
Економіка
Економіко-математичне моделювання
Економічна географія
Економічна теорія
Етика

8ref.com

© 8ref.com - українські реферати


енциклопедія  бефстроганов  рагу  оселедець  солянка