
- •10.1 Крипто перетворення нш в полі Галуа
- •10.2 Крипто перетворення нш в групі точок еліптичної кривої.
- •10.3 Криптографічне перетворення зі спарюванням точок еліптичних кривих.
- •10.4 Проблемні питання направленого шифрування на ідентифікаторах.
- •10.1 Крипто перетворення нш в полі Галуа
- •10.2 Крипто перетворення нш в групі точок еліптичної кривої.
- •10.3 Криптографічне перетворення зі спарюванням точок еліптичних кривих.
- •10.3.1 Вступ в асиметричну криптографію на ідентифікаторах.
- •10.3.2 Метод направленого шифрування на базі ідентифікаторів
- •10.4 Проблемні питання направленого шифрування на ідентифікаторах.
10.3.2 Метод направленого шифрування на базі ідентифікаторів
Розглянемо перший метод шифрування на базі ідентифікаторів на прикладі Identity Based Encryption (IBE), який був запропонований у 2001 році авторами роботи [154, 155, 103, 104] (Boneh-Franklin). По суті вказаний метод є реалізацією протоколу направленого шифрування на ідентифікаторах. Безпека протоколу шифрування базується на складності вирішенні білінійної проблеми Діффі-Гелмана (BDHP). Будемо вважати що загальні параметри розповсюджуються згідно безпечних протоколів.
Направлене зашифрування. Ідея направленого шифрування базується на основній властивості скалярного відображення – його білінійності. Вона є у тому, що для деяких точок еліптичної кривої B та D, а також цілих чисел a та с, справедливим є таке співвідношення
(3.39)
Розглянемо згідно рис 3.3 протокол направленого шифрування на ідентифікаторах з використання білінійного спарювання точок еліптичних кривих. Нехай відправником є користувач А і він здійснює за шифрування для користувача В. Будемо вважати що користувачі мають доступ до справжніх загальних параметрів, що ними використовуються і забезпечується. Реалізуючи за шифрування зробимо спробу повторити протокол направленого шифрування що використовуються в ІВК.
На першому етапі користувач А формує випадкове число r і знаючи загальну для користувачів базову точку G на еліптичній кривій обчислює відкритий ключ сеансу
.
(3.40)
Випадкове
число
r
по
суті є особистий (таємним) ключ сеансу,
воно повинне вибиратись із умови
,
де
n
порядок
базової точки. В результаті виконання
обчислень згідно (3.40 2) одержується
значення точки R
на
еліптичній кривій. Це значення можна
вважати еквівалентом відкритого ключа
сеансу передачі зашифрованого
повідомлення.
Далі користувач А повинен виробити ключ за шифрування використовуючи властивість спарювання (1). Він вибирає в якості параметрів для виразу (3.39 ) такі
а=r, B=ID b , c=s , D=G (3.41)
та обчислює таємний ключ сеансу для направленого зашифрування, але за допомогою симетричного крипто перетворення
(3.42)
причому
він
отримує в інфраструктурі як загальний
параметр.
В якості конкретного практичного методу спарювання в залежності від конкретної специфіки (тип кривої, величина параметрів тощо) для обчислення k може бути використаним спарювання Вейля або спарювання Тейта[ ], а також див. підрозділ 1.8 цієї монографії.
При умові узгодження між користувачами алгоритму шифрування (за шифрування, розшифрування) повідомлення М користувач А може здійснити використовуючи таємне значення k. Як правило значення k в явному вигляді використовувати не можна. Тому необхідно використати відповідним чином узгоджену функцію вироблення ключа (ФВК)[ ] , наприклад функцію гешування. Таким чином таємний ключ сеансу К с шифрування виробляється як
К с = ФВК ( k ) (3.43)
На останок користувач здійснює за шифрування повідомлення М та отримує криптограму
C = E ( Kc, M ), (3.44)
яку разом з відкритим ключем сеансу R передає користувачеві В.
Направлене розшифрування. Розглянемо розшифрування криптограми користувачем В. Отримавши зашифроване повідомлення (криптограму) C користувач В робить запит уповноваженому на генерацію та отримує від нього по захищеному каналу особистий ключ розшифрування s. Використовуючи цей ключ користувач В обчислює параметр спарювання k за правилом
,
(3.45)
а потім таємний сеансів ключ К с. згідно (3.43). На останок, використовуючи узгоджений алгоритм розшифрування D , користувач В здійснює розшифрування криптограми і отримує відкрите повідомлення
M= D ( Kc, C ) (3.46 )