Спосіб шифрування даних для систем обробки в еом

Номер патенту: 50199

Опубліковано: 15.10.2002

Автори: Руженцев Віктор Ігорович, Лисицька Ірина Вікторівна

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

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

Спосіб шифрування даних для систем обробки в ЕОМ, який полягає у тому, що послідовність двійкових символів відкритого тексту розбивають на n бітні блоки, кожний з котрих розбивають у свою чергу на правий R0 та лівий L0 півблоки по n/2 біти, які розміщують у відповідних накопичувачах, зашифрування котрих включає в себе  циклів, при цьому дані Ri-1 з виходу накопичувача Ni-1 правого півблока і дані відповідного підключа Ki кожного циклу надходять на вхід циклової функції перетворення f(Ri-1, Ki), який відрізняється тим, що вихідне значення даних правого півблока Ri-1 також використовують для обчислення різниці за модулем m зі значенням даних лівого півблока Li-1, і цю різницю заносять у накопичувач правого півблока наступного циклу, так що Ri=Ri-1-Li-1 (mod m), вихідні дані циклової функції заносять у накопичувач лівого півблока, тобто Li=f(Ri-1, Ki), при цьому як циклову функцію перетворення використовують модульне множення значення Ri-1 накопичувача Ni-l правого півблока на ключ зашифрування (mod m), так що у накопичувач Νi лівого півблока наступного циклу заносять число (mod m), тобто (mod m), а при розшифруванні, яке проводять в оберненому порядку по відношенню до зашифрування, у кожному циклі в основному режимі значення Lj-l накопичувача Nj-1 лівого півблока подають на вхід циклової функції перетворення g(Lj-1, Kl-j+1), при цьому як циклову функцію перетворення використовують модульне множення значення Lj-1 накопичувача Ni-1 лівого півблока на ключ розшифрування (mod m), так що у накопичувач Νi правого півблока наступного циклу заноситься число  тобто (mod m), a значення накопичувача правого півблока Rj-1 сумують за модулем m зі значенням виходу циклової функції перетворення g(Lj-1, Kl-j+1) і результат заносять в накопичувач Νi лівого півблока наступного циклу, тобто Lj=Rj-1+g(Lj-1, Кl-j+1) (mod m), а в режимі використання лазівки обчислюють піднесення значення Lj-1 накопичувача Nj-1 лівого півблока до степеня D за модулем m, тобто обчислюють  і потім з отриманого числа обчислюють корінь степеня D за модулем m, і в накопичувач Νi правого півблока заносять число  тобто циклова функція перетворення має вигляд  а значення накопичувача правого півблока Rj-1 сумують за модулем m зі значенням виходу тепер вже циклової функції перетворення h(Lj-1,L(m)), і результат заносять в накопичувач Νi лівого півблока наступного циклу, тобто (mod m), де m = pq - модуль перетворення, котрий є добутком двох простих чисел p і q, L(m) - узагальнена функція Ейлера числа m, показники степенів Е і D пов’язані умовою

Текст

Спосіб шифрування даних для систем обробки в ЕОМ, який полягає у тому, що ПОСЛІДОВНІСТЬ ДВІЙКОВИХ символів відкритого тексту розбивають на п бітні блоки, кожний з котрих розбивають у свою чергу на правий Ro та лівий І_о півблоки по п/2 біти, які розміщують у ВІДПОВІДНИХ накопичувачах, зашифрування котрих включає в себе І циклів, при цьому дані R, і з виходу накопичувача N, і правого півблока і дані ВІДПОВІДНОГО підключа К, кожного циклу надходять на вхід циклової функції перетворення f(R, і, К,), який відрізняється тим, що вихідне значення даних правого півблока R, •] також використовують для обчислення різниці за модулем m зі значенням даних лівого півблока L, і, і цю різницю заносять у накопичувач правого півблока наступного циклу, так що R|=R, і-І_і і (mod m), ВИХІДНІ дані циклової функції заносять у накопичувач лівого півблока, тобто l_i=f(R| і, К,), при цьому як циклову функцію перетворення використовують модульне множення значення R, і накопичувача N, і правого півблока на ключ зашифрування K t = ( K J ^ m o d m), так що у накопичувач N, лівого півблока наступного циклу заносять число L, = R,_-] •(K,) E (mod m), тобто f R K E ( i - i i ) = R|-i-(K,) (mod m), а при розшифруванні, яке проводять в оберненому порядку по відношенню до зашифрування, у кожному циклі в основному режимі значення L, і накопичувача N, і Винахід відноситься до галузі обчислювальної техніки, де використовуються блочні шифри, такі як, наприклад, стандарт шифрування даних DES та Інші симетричні алгоритми-шифрування Відомий спосіб шифрування даних, такий як лівого півблока подають на вхід циклової функції перетворення g(L, і, К|,+і), при цьому як циклову функцію перетворення використовують модульне множення значення L, •] накопичувача N, і лівого півблока на ключ розшифрування К. = (K|_J+1)"E(mod m), так що у накопичувач N, правого півблока наступного циклу заноситься число Rj = L j ^ •Kj'(modm), тобто Rj -f'(L H ,K|_ J + 1 ) = LJ_1-(K|_J+1)-E(mod m), а значення накопичувача правого півблока R, •] сумують за модулем m зі значенням виходу циклової функції перетворення g(L, 1, К|,+і) і результат заносять в накопичувач N, лівого півблока наступного циклу, тобто L,=R, i+g(L, 1, К|,+і) (mod m), а в режимі використання лазівки обчислюють піднесення значення L, і накопичувача N, і лівого півблока до степеня D за модулем т , тобто обчислюють Х , 1 = (L, 1 ) D (modm), і потім з отриманого числа обчислюють корінь степеня D за модулем т , і в накопичувач N, правого півблока заносять число тобто циклова функція перетворення має вигляд h(L h1 , L(m)) = ^Xj.., (modm), а значення накопичувача правого півблока R, •] сумують за модулем m зі значенням виходу тепер вже циклової функції перетворення h(l_, i,L(m)), і результат заносять в накопичувач N, лівого півблока наступного циклу, тобто Ц = RJ_1 + hfLj^.LfmMmod m), де m = pq - модуль перетворення, котрий є добутком двох простих чисел р і q, L(m) - узагальнена функція Ейлера числа т , показники степенів Е і D пов'язані умовою ED = 0(modl_(m)) ГОСТ 28147-89, що використовується у режимах простої заміни, гамування з зворотним зв'язком по виходу та інших При цьому способі інформацію розбивають на 64-розрядні блоки То, зашифрування котрих включає в себе 32 цикли Q = 1, 2, , 32) о> о ю 50199 У ключовий запам'ятовуючий пристрій (КЗП) вводять 256 біт ключа К в вигляді восьми 32-ох розрядних підключів (Ко, К-і, , К7) Кожний блок бітів, наприклад, у режимі простої заміни, розбивають на ЛІВІ, або старші біти і праві, або молодші біти, які вводять ВІДПОВІДНО у накопичувачі N-i, і N2 Біти з виходу накопичувача N2 разом з 32 розрядним підключем Ко, зчитаним з КЗП проходять циклове перетворення, в ході якого виконується їх сумування за модулем 2 і результат сумування подається на блок підстановок Далі виконують детермінований циклічний зсув вихідної ПОСЛІДОВНОСТІ бітів за допомогою регістра зсуву, результат підсумовують за модулем 2 з змістом накопичувача Ni і записують у накопичувач N2, а старе значення N2 переписують у накопичувач Ni Перший цикл завершений В другому циклі використовують нове значення N21 з КЗП зчитують заповнення - підключ К-і, у третьому циклі - підключ Кг І т д Так продовжується 24 цикли В останніх восьми циклах розглянута процедура повторюється як І раніше, тільки порядок зчитування ПІДКЛЮЧІВ З КЗП зворотний К7, Кб, , Ко Найбільш близьким по сукупності ознак до заявленого є спосіб шифрування даних для систем обробки в ЕОМ, який полягає втому, що ПОСЛІДОВНІСТЬ ДВІЙКОВИХ символів відкритого тексту розбивається на п бітні блоки, кожний з котрих розбивають на правий та лівий піввблоки по п/2 біти, які розміщують у ВІДПОВІДНИХ накопичувачах півблоків, зашифрування котрих включає І, наприклад, 1 циклів При цьому дані з виходу накопичувача правого півблока і дані ВІДПОВІДНОГО ЦИКЛОВОГО підключа кожного циклу надходять на вхід циклової функції перетворення, ВИХІДНІ дані котрої підсумовують у відповідному побітному суматорі за модулем 2 з даними лівого півблока, дані накопичувача правого півблока теперішнього циклу переносять у накопичувач лівого півблока чергового циклу, а результатом підсумовування заповнюють накопичувач правого полублока чергового циклу (див заявку на патент України №2001032062 від 28 03 2001) Однак, ці шифри не мають можливості санкціонованого доступу до зашифрованої інформації при втраті ключової інформації В основу винаходу поставлена задача створення такого способу шифрування даних для систем обробки в ЕОМ, при котрому санкціонований користувач ЕОМ при втраті ключової інформації має можливість розшифрувати зашифровану інформацію, що призводить до поширення функціональних можливостей симетричних способів шифрування Такий технічний результат може бути досягнутий за способом шифрування даних для систем обробки в ЕОМ, який укладається у тому, що ПОСЛІДОВНІСТЬ ДВІЙКОВИХ символів відкритого тексту розбивають на п бітні блоки, кожний з котрих розбивають у свою чергу на правий Ro та лівий І_о півблоки по п/2 біти, які розміщують у ВІДПОВІДНИХ накопичувачах, зашифрування котрих включає в себе І циклів, при цьому дані R, і з виходу накопичувача N, 1 правого півблоку і значення ВІДПОВІДНОГО підключа К, кожного циклу надходять на вхід циклової функції перетворення f(R, 1, К), згідно з винаходом, вихідне значення даних правого півблоку R, і також використовується для обчислення різниці за модулем m зі значенням даних лівого півблоку І., і і цю різницю заносять у накопичувач правого півблоку наступного циклу, так що R, = R, і - І_і і (modm), ВИХІДНІ дані циклової функції заносять у накопичувач лівого півблоку, тобто L, = f (R, і, К,), при цьому в якості циклової функції перетворення використовують модульне множення значення R, і накопичувана N, •] правого півблоку на ключ зашифрування К, = ( к , ) Е (modm), так що у накопичувач N, лівого півблоку наступного циклу заносять число L, = R, і * (К,) Е (modm), тобто f (R, 1, К,) = R, і * (K,) E (modm) При розшифруванні, яке проводять в оберненому порядку по відношенню до зашифрування, у кожному циклі в основному режимі значення L, і накопичувача N, •] лівого півблоку подають на вхід циклової функції перетворення g (L, 1, К|,+і), при цьому в якості циклової функції перетворення використовують модульне множення значення L, і накопичувача N, •] лівого півблоку на ключ розшифрування К", = (К|,+і) Е (modm), так що у накопичувач N, правого півблоку наступного циклу заносять число R, = L, і * К", (modm), тобто R, = f (L, 1, К|,+і) = L, 1 * (К|,+і) Е (modm), а значення накопичувача правого півблоку R, і сумують за модулем m зі значенням виходу циклової функції перетворення g (L, і, К|,+і) результат заносять в накопичувач N,, лівого півблоку наступного циклу, тобто Lj = R, -і + g (L, і, K|,+i) (modm), а в режимі використання лазівки беруть іншу функцію циклового перетворення h (L, і, L(m)), а саме обчислюють піднесення значення L, і накопичувача N, •] лівого гавблоку до степеня D за модулем т , тобто обчислюють X, і = (L, i ) D (modm) і потім з отриманого числа обчислюють корінь степеня D за модулем т , і в накопичувач N,, правого півблоку заносять число Rj = WXjI7 , тобто циклова функція перетворення має вигляд п(ц_і,І_(т))= ^ X j _ i (modm), а значення накопичувача правого півблоку R, і сумують за модулем m зі значенням виходу тепер вже циклової функції перетворення h (L, і, L(m)), і результат заносять в накопичувач N, лівого півблоку наступного циклу, тобто L, = R, і + h (L, і, L (m)) (modm), де m = pq модуль перетворення, котрий є добутком двох простих чисел р І q, L (m) - узагальнена функція Ейлера числа m (найменше спільне кратне функцій Ейлера простих СПІВМНОЖНИКІВ числа т ) показники степенів Е і D пов'язані умовою ED = 0 (mod L (m)) На фіг 1 зображена схема процедури шифрування, на фіг 2 - схема процедури розшифрування в основному режимі, на фіг 3 - схема розшифрування в режимі використання лазівки Спосіб може бути здійсненим таким чином Модуль т , за котрим ведуться обчислення у кожному циклі, вибирається з умови 2 П / 2 < m < 2 п / 2 + 1 , так що накопичувачі всіх циклів окрім першого мають додатний бітовий розряд (вхідний п/2 бітний півблок відкритого тексту завжди не перевищує значення т , в той час коли в інших циклах при виконанні операцій за модулем m можуть бути 50199 отримані числа, що перевищують 2П Далі виконуються однотипні операції зашифрування (Фіг1), котрі повторюються І разів (І циклів), у результаті чого формується зашифроване повідомлення На кожний п бітний блок відкритого тексту процедура формує зашифрований блок, довжина котрого є п +2 Процедуру дешифрування в математичному сенсі є оберненою до процедури зашифрування Працездатність запропонованого способу підтверджується наступними математичними співвідношеннями Шифрування у кожному циклі виконується за формулами L, = R, і * (К,)Е (modm), R, = R, 1 - L, 1 (modm) Зашифроване повідомлення, таким чином, складається з двох півблоків з п/2 + 1 бітів кожний, причому, ВІДПОВІДНО до першого порівняння, якщо з лівого пів блоку (виходу) мати можливість вилучити значення R, •] попереднього циклу, то з останнього порівняння сумуванням значення правого півблоку R, (виходу) з вилученим значенням правого півблоку попереднього циклу можна отримати значення лівого півблоку попереднього циклу і т д , тобто виконуючи процедуру обернену до процедури шифрування можна прийти до вихідного повідомлення Залишається упевнитись, що зі значення І_", півблоку даного циклу можна вилучити значення правого півблоку R', і попереднього циклу, який був при шифруванні Дійсно це так бо при дешифруванні обчислюється R", = І_", і - К", (modm) З урахуванням того, що номера циклів при шифруванні і дешифруванні пов'язані умовою] = І - і + 1, причому для ключів шифрування та дешифрування виконується умова К", = К'и+і, маємо R" = L", , * (K,J+1) Е - R і, * (K,J+1)E * (K,J+1) E - R і і,(modm), ФіГ 1 6 тобто приходимо до тексту R'n, який був при шифруванні на вході функції циклового перетворення попереднього циклу Але ж тоді при сумуванні цього результату зі значенням накопичувача лівого півблоку отримаємо R'I 11 = І_'і і ( m o d m ) В режимі застосування лазівки (фіг 3) на кожному циклі виконується операція E X,! - ( U ' J J M R ' J Г K j ) ^ R м)° * (Кі i) ED З урахуванням того, що числа Е і D підкоряються умові ED = 0 (mod L (m)), маємо очевидний результат Xj-1 = (R'i I) D (modm)i тому що в цьому випадку (K,)ED = 1 (modm) Але ж тоді на виході циклової функції h (L', і, L (m)) отримуємо результат R, modm тобто і в цьому разі незалежно від ключів шифрування і дешифрування ми отримуємо текст R'i і, який був при шифруванні на вході функції циклового перетворення попереднього циклу Лазівка повинна не зменшувати СТІЙКОСТІ шифру Тому параметри лазівки р, q, E і D виступають секретними (установчими) параметрами шифРУ Помітимо, ЩО операція обчислення кореня неоднозначна Наприклад, при D = 2 будемо мати чотири кореня ВІДПОВІДНО КОЖНИЙ ЦИКЛ розшифру вання приводить до чотирьох варіантів розшифрованих блоків, а для І циклів число варіантів розшифрованих текстів становитиме 4 і (для І = 4 для знаходження дійсного відкритого блока необхідно буде переглянути 256 варіантів блоків) 50199 Фіг 2 Фіг З ДП «Український інститут промислової власності» (Укрпатент) вул Сім'ї Хохлових, 15, м Київ, 04119, Україна ( 0 4 4 ) 4 5 6 - 2 0 - 90 ТОВ "Міжнародний науковий комітет" вул Артема, 77, м Київ, 04050, Україна (044)216-32-71

Дивитися

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

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

Method for coding data to be processed in a computer

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

Lysytska Iryna Viktorivna, Ruzhentsev Viktor Ihorovych

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

Способ кодирования данных для обработки в компьютере

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

Лисицкая Ирина Викторовна, Руженцев Виктор Игоревич

МПК / Мітки

МПК: H04L 9/06

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

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

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

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