Завантажити PDF файл.

Формула / Реферат

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

,

де:  - m еталонних ключових функцій ,  - функція генерації аргументів, , ai - елементи масиву а, який є бінарним кодом повідомлення, представленого у вигляді числа G, kі - випадкові коефіцієнти, які генеруються під час шифрування повідомлення і невідомі ні відправнику, ні одержувачу, крім того, використовують розшифрування за допомогою функцій непропорційності, які мають вигляд:

,

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

Текст

Спосіб шифрування даних, який полягає в тому, що шифрування здійснюють за допомогою математичних функцій та ключів, що мають випадкову складову k, який відрізняється тим, що як ключі використовують m еталонних функцій 2 3 Найбільш близьким за сукупністю ознак до запропонованого є спосіб шифрування даних, що реалізується криптосистемою Ель-Гамаль, яка також використовує функції зведення в ступінь і має випадкове число k у якості складової частини ключа (див.: Н. Смарт Криптография. Техносфера, 2005. -с.200-203). В цій системі використовуються параметри домену, які є відкриті для великого числа користувачів, і мають вигляд: Р - «велике ціле число», тобто число, що нараховує біля 1024 бітів, таке, що Р-1 ділиться на друге, «середнє просте число» Q, що лежить недалеко від 2160. * G - елемент мультиплікативної групи поля FP , порядок якої ділиться на Q, причому G(P-1)/Q(mod P)≠1. Всі параметри домену, тобто P,Q,G, обираються таким чином, щоб елемент Q(P-1)/Q був утворюючою абелевою групою А порядку Q. Інформація про цю групу відкрита і використовується великим числом користувачів. Після вибору параметрів домену визначають відкритий та секретний ключі. Секретним ключем може бути будь-яке натуральне число х, а відкритий ключ отримується за наступною формулою H=Gx(mod P) Повідомлення в цій системі представляється * ненульовим елементом поля mÎ FP . Для його шифрування виконуються наступні дії: - генерується випадковий ефемерний ключ к, - обчислюється C1=Gk, - знаходиться С2=m·Нk, видається отриманий шифротекст в якості пари С=(С1, С2). Для кожного сеансу шифрування використовується свій короткочасний ключ. Щоб розшифрувати пару даних С=(С1, С2), виконуються наступні перетворення: C2 = m × Hk xk = m × Gxk = m. G Gxk Недоліками цього способу також є те, що він базується тільки на множині простих чисел, що приводить до "великих" ключів, які використовуються для підвищення криптостійкості. А це породжує проблеми їх генерації та швидкості роботи алгоритму. В основу корисної моделі поставлене завдання розробки способу шифрування даних, який дозволить відійти від використання множини простих чисел, складних для обчислення ключів, та для заданого фіксованого секретного ключа забезпечити перетворення вхідного тексту в шифртекст, структура якого не була б визначена на перед, що робить виявлення статистичних властивостей більш складним, завдяки чому підвищується стійкість криптоаналізу на основі підібраних вхідних текстів. Поставлена задача вирішується тим, що шифрування здійснюють за допомогою математичних функцій та ключів, що мають випадкову складову k, згідно з корисною моделлю, як ключі використоx C1 42957 4 вують m еталонних функцій fi (t ( t )),i= 1..m , fi(t(t))ÎR та функцію t(t)ÎR, що слугує для генерації аргументів для еталонних функцій fi(t(t)), при цьому шифрування інформації здійснюються за допомогою функції суми, яка має вигляд: m f0 (t ) = å aik ifi (t (t )) , де i=1 fi (t ( t )),i = 1..m - m еталонних ключових функцій fi(t(t))ÎR, t(t)ÎR - функція генерації аргументів, tÎR, аі - елементи масиву а, який є бінарним кодом повідомлення представленого у вигляді числа G, kі - випадкові коефіцієнти, які генеруються під час шифрування повідомлення і невідомі ні відправнику, ні одержувачу, крім того, використовуються розшифрування за допомогою функцій непропорційності, які мають вигляд: F0i (t ) = @ d(1() (t ))f0 (t ) = f t i f0 (t ) f ' (t ) - '0 , де fi (t (t )) fi (t (t )) @ d(1()t (t ))f0 (t ) - позначення непропорційності f i f0(t) по fi(t(t)) по похідних першого порядку, f0(t) функція, що являє собою зашифроване повідом ' лення, fi(t(t)) - еталонна функція, f0 (t ) - похідна від функції f0(t), fi' (t (t )) - похідна від функції fi(t(t)). Завдяки такому рішенню збільшується кількість можливих ключів, тим самим зростає стійкість системи при атаці методом підбору. Також шляхом використання разом з еталонними функціями випадкових коефіцієнтів, які генеруються під час шифрування випадковим чином, досягається те, що одне й те ж повідомлення, з однаковими ключами, кожного разу дає різну шифровку. І ще одна з задач, яка розв'язується за допомогою корисної моделі, це більш простий вибір ключів. Спосіб здійснюється таким чином. Для сеансу передачі даних як ключ обирається m еталонних функцій fi (t ( t )),i = 1..m , fi(t(t))ÎR та функція t(t)ÎR, що слугує для генерації аргументів для еталонних функцій fi(t(t)). tÎR i можуть обиратись будь-яким чином. Наприклад, як t може використовуватись позиція символу в повідомленні. Для зашифрування повідомлення, його представляють у вигляді числа G, яке розкладають в m- розрядний бінарний код а. Повідомлення представляють у вигляді такого числа G, що його бінарний код місить більше ніж одну одиницю. Шифртекст f0(t) отримується з а за наступним правилом f0 (t ) = m å aikifi (t (t )) , де i= 1 fi (t ( t )),i = 1..m - m еталонних ключових функцій fi(t(t))ÎR, що задовольняють заданим обмеженням: 1. Функція повинна належати до області дійсних чисел. 2. Функція повинна мати похідні до порядку m включно. 5 42957 3. Функція і її похідна будь-якого порядку (у тому числі і m) не повинна бути константою. 4. Функція не повинна містити відрізків, на яких, при декількох контрольних обчисленнях, вона практично дорівнює константі (наприклад функція х-a при великих значеннях х). 5. Набір функцій повинний бути підібраний таким чином, щоб не було ситуацій, у яких значення одної функції в одній і тій же точці буде дуже близьким до нуля у порівнянні зі значенням іншої функції, тобто кожна функція повинна вносити досить вагомий "внесок" у суму значень функцій, що відповідає зашифрованому повідомленню. t(t)ÎR - функція генерації аргументів. t - аргумент функції t(t). Наприклад, як аргумент може виступати місцеположення символу в повідомленні. аі - елементи масиву а, який є бінарним кодом повідомлення G. ki - випадкові коефіцієнти, які генеруються під час шифрування повідомлення і невідомі а ні відправнику, а ні одержувачу. Розшифрування виконується наступним чином. Перебираються всі можливі з m - розрядних бінарних кодів повідомлень. В залежності від кількості одиниць в бінарному коді поточного можливого повідомлення визначається вид функції непропорційності. Якщо в бінарному коді одна одиниця, то функція непропорційності має вигляд: f0 (t ) f ' (t ) - '0 . i fi (t (t )) fi (t (t )) Якщо кількість одиниць дорівнює дві, то функція непропорційності має вигляд: F0i (t ) = @ d(1()t (t ))f0 (t ) = f F0iji (t ) = @ d(1) t )f0i (t ) = fji( ' f0i (t ) f0i (t ) - ' , f ji (t ) f ji (t ) ( де Fji (t ) = @ df1()t (t ))f j (t (t )) = f j (t (t )) f j' (t (t )) . fi' (t (t )) Аналогічно формується вид функції непропорційності при більшій кількості одиниць в бінарному коді. У випадку коли функція непропорційності дорівнює нулю, вважається, що повідомлення розшифровано, якщо функція непропорційності не дорівнює нулю, то продовжується перебирання бінарних кодів повідомлень. Приклад роботи способу шифрування даних. 1. Вибір ключів сеансу: i fi (t (t )) fi (t ( t )),i = 1..m - m функцій fi(t(t))ÎR і задовольняють вказаним вище обмеженням на ключові функції. t(t)ÎR - функція, що слугує для генерації аргументів для функцій fi(t(t)) і також використовується як ключ. tÎR. Наприклад як t може використовуватись місцеположення символу в тексті. m - кількість функцій fi(t(t)), обраних як ключ, одночасно є довжиною масиву а. 2. Шифрування. 6 Повідомлення представляється у вигляді числа G, яке розкладають в m - розрядний бінарний код а. Повідомлення представляють у вигляді такого числа G, що його бінарний код місить більше ніж одну одиницю. Це необхідно для підвищення кріпкостійкості. Шифрування здійснюється за формулою: m f0 (t ) = å aik ifi (t (t )) (1) i=1 Генерування коефіцієнтів ki за випадковим законом може виконуватися, наприклад, шляхом вимірювання імовірнісного фізичного процесу або вимірювання сигналу датчику шуму, у ролі якого часто використовуються спеціально сконструйовані електронні пристрої. В іншому варіанті способу замість генератора випадкових чисел може бути використаний генератор псевдо випадкових чисел, на вхід якого подається випадково вибране число, отримуючи на виході необхідне псевдо випадкове число. Відомий ряд способів побудови генераторів псевдо випадкових чисел (див. наприклад В. Schneider, "Applied Cryptography", Second Edition, John Wiley & Sons, Inc., New York 1966, pp.416-418), які можуть бути використані в способі за корисною моделлю. Використання генератора псевдовипадкових чисел дозволяє реалізувати спосіб, який пропонується, програмним шляхом, беручи як початкове випадкове число, наприклад, значення інтервалу часу між натисненнями кнопки миші. В результаті чого ми отримуємо шифровку f0 (t). Після цього перш, ніж передавати, повідомлення розшифровується і перевіряється, чи співпадає отриманий результат з незашифрованим текстом повідомлення. Якщо так, то зашифроване повідомлення відправляється одержувачу, якщо ні, то перед неправильно розшифрованими символами в початковому тексті треба поставити службові символи. Це робиться з метою змінити значення аргументу для еталонних функцій і виключити співпадіння значень їхніх сум. Після цього повторюється процедура шифрування з пункту 2. При числовій реалізації алгоритму передаються функції f0(t) в дискретній формі. Тобто у вигляді масиву. Довжина масиву не повинна бути сталою. Змінюватися довжина масиву буде по заздалегідь обумовленому користувачами правилу. Як приклад такої схеми можна визначити наступний алгоритм: довжина масиву визначається æm ö як 60 + ç å ai × i ÷ mod 30 . ç ÷ è i= 1 ø 3. Розшифрування Після отримання зашифрованого повідомлення задача розшифрування зводиться до знаходження бінарного коду повідомлення f0(t). Для цього за допомогою функцій непропорційності визначається, які саме еталонні функцій складають зашифрований блок повідомлення. Оскільки кожна з еталонних функцій відповідає певному розряду двоїчного числа, то це дозволяє визначити бінарний код зашифрованого символу. 7 42957 Для знаходження еталонних функцій які увійшли в суму f0(t) використовуємо нижче описаний алгоритм. Послідовно перебираються всі можливі з m розрядних бінарних кодів повідомлень. Робиться припущення, що елемент з вибірки і є розшифровкою зашифрованого повідомлення. Для перевірки цього твердження виконуються наступні дії. В залежності від місцеположення одиниць у бінарному коді визначається з яких еталонних функцій складається поточний елемент вибірки. Наприклад, якщо бінарний код 10110000, то в цей елемент шифрується за допомогою еталонних функцій f1, f3, f4. В залежності від кількості одиниць і еталонних функцій визначається вид функції непропорційності. Якщо в бінарному коді одна одиниця, то функція непропорційності має вигляд: i (t ) , (t ) f j (t (t )) f j' (t (t )) ( де Fji (t ) = @ df1() (t ))f j (t (t )) = t fi (t (t )) fi' (t (t )) ji F0i (t ) Fji (t ) i Аналогічно формується вид функції непропорційності при більшій кількості одиниць в бінарному коді. Обчислюємо функцію непропорційності. Якщо функція непропорційності дорівнює нулю, то це означає, що зашифроване повідомлення складається з тих же еталонних функцій, що і бінарний код поточного повідомлення з вибірки. Таким чином, вважається, що припущення вірне. Якщо функція непропорційності не дорівнює нулю, то виконується перехід до іншого елементу вибірки. У якості прикладу розглядається алгоритм визначення виду функції непропорційності та розпізнавання еталонних функцій, що увійшли в f0(t) у випадку коли m å ai = 3 , тобто кількість одиниць у i= 1 бінарному коді дорівнює три. Кількість одиниць у бінарному коді дорівнює кількості еталонних функцій, що увійшли в суму f0(t). А i - це номер першої одиниці у бінарному коді, j - номер другої одиниці, q - третьої. Етап перший. Знаходиться непропорційність функції f0(t) по одній будь-якій функції fi(t). Яка позначається через F0i(t). Комп’ютерна верстка Н. Лиcенко (2) Замість f0(t) в (2) його вираз в (1). Отримаємо: æ f (t (t )) f ' (t (t )) ö j j ÷ = k F (t ) F0i (t ) = å k j ç (3), ç fi (t (t )) f ' (t (t )) ÷ å j ji j ¹i è i ø j¹ i де F ji (t ) = @ d f(1) (t ))f j (t (t )) (4) i (t Етап другий. Знаходиться непропорційність по похідній першого порядку функції f0i(t) пo одній з будь-яких функцій Fji(t). Яка позначається через F0iji(t). (1 F0iji (t ) = @ dF )(t )F0 i (t ) = ji f0 (t ) f ' (t ) - '0 i fi (t (t )) fi (t (t )) Якщо кількість одиниць дорівнює дві, то функція непропорційності має вигляд: (1 F0iji (t ) = @ dF )(t )F0i (t ) = f0 (t ) f ' (t ) - '0 fi (t (t )) fi (t (t )) підставляється F0i (t ) = @ d(1() (t ))f0 (t ) = f t F0i (t ) = @ d(1() (t ))f0 (t ) = f t ' F0i ' Fji 8 ' F0i (t ) F0i (t ) - ' Fji (t ) F ji (t ) З огляду на формулу (3) F0iji (t ) = å k qFqiji (t ) (5) (6), q¹ j де (1 Fqiji (t ) = @ dF )(t )Fqi (t ) (7). ji Етап третій. Знаходиться непропорційність по похідній першого порядку функції F0iji(t) по одній з будь-яких функцій Fqiji(t) з (7). Яка позначається через F0ijiqiji(t). (1 F0ijiqiji (t ) = @ dF ) (t )F0iji (t ) (8). qiji Якщо функція непропорційності (8) дорівнює нулю, то вважається, що зашифроване повідомлення при розшифруванні дорівнює поточному елементу з вибірки можливих повідомлень. За аналогічною схемою розшифровуються інші можливі повідомлення коли m å ai ¹ 3 . Кількість i =1 етапів обчислення відповідає m å ai . i =1 Як було сказано вище, індекси при обчисленні функцій непропорційності залежать від положення одиниці в бінарному коді. Наприклад, бінарний код можливого повідомлення з вибірки має вигляд 11100000. Відповідний набір індексів має вигляд ijqklmnp. Тоді і=1, j=2, q=3, k=4, l=5, m=6, n=7, р=8. При числовій реалізації алгоритму отримуються функції, що відповідають зашифрованому повідомленню, в дискретній формі. Тобто у вигляді масиву. Довжина масиву обчислюється за тим же правилом, що і при зашифруванні. Після розшифрування виключаємо з розшифрованого тексту службові символи. Підписне Тираж 28 прим. Міністерство освіти і науки України Державний департамент інтелектуальної власності, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601

Дивитися

Додаткова інформація

Назва патенту англійською

Method for data encryption

Автори англійською

Avramenko Viktor Vasyliovych, Zabolotnyi Mykhailo Ihorovych

Назва патенту російською

Способ шифрования данных

Автори російською

Авраменко Виктор Васильевич, Заболотний Михаил Игоревич

МПК / Мітки

МПК: H04L 9/00

Мітки: даних, шифрування, спосіб

Код посилання

<a href="https://ua.patents.su/4-42957-sposib-shifruvannya-danikh.html" target="_blank" rel="follow" title="База патентів України">Спосіб шифрування даних</a>

Подібні патенти