Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Алгоритми шифрування в електронних картах

Алгоритми шифрування, які використовуються в елект­рон­них картах, можна поділити на дві основні групи за типом використаного крипто­графічного ал­го­ритму. Най­популярніші серед них подані нижче.

Симетричне шифрування: алгоритм DES; алгоритм 3DES; алгоритм IDEA; алгоритм RC5; алгоритм AES.

Асиметричне шифрування: RSA; ECC; DSS.

Алгоритм шифрування в безконтактних картах.Найрозпов­сюд­женішими безконтактними картами є карти, які виготовляються фірмою Philips, яка розробила два стандарти для своїх карт: MIFARE та HITAG. Най­частіше використовуються карти MIFARE з огляду на їх більшу швидкодію при трансмісії даних та підвищену безпеку.

Для шифрування даних використовується ряд алго­ритмів.

АлгоритмDES– один з перших алгоритмів, який використовується в електронних картах. Уперше його ви­користала фірма Philips в електронних картах у 1985 р. На сьогодні його застосовують у модифікованій версії новіт­ні­ших алгоритмів, тому слід детальніше висвітлити принцип його функціонування.

Шифрування полягає у початковій перестановці бітів 64-х бітового блоку в 16-ти циклах шифрування і кінцевій перестановці. Для опису алгоритму DES використані такі позначення:

L і R – послідовність бітів (ліва і права);

LR – конкатенація послідовностей L і R, тобто така послідовність бітів, довжина якої дорівнює сумі довжин L і R;

– функція за модулем 2 на 48-ми бітовому векторі даних;

А – вхідний блок.

Принцип функціонування алгоритмуDES.З яв­но­го вхідного тек­с­тового файлу зчитується 64-ох бітовий блок А. Пер­шим кроком є перестановка цих бітів згідно з таблицею почат­кової перестановки IP. Ці перестановки можна записати як A0=IP(A). Отриману послідовність бітів A0 поділяють на дві однакові послідовності: L0 – ліві біти; R0 – праві біти.

Наступним етапом є здійснення ітераційного процесу шифрування. Допустимо, Аi – результат і-ої ітерації:

Ai = LiRi, (3.1)

Li =Ri–1, i = 1, 2, ..., 16, (3.2)

Ri=Li–1 Å f(Ri–1, ki), i = 1, 2, ..., 16, (3.3)

де: f(Ri–1, ki) – функція шифрування.

У останньому 16-му циклі отримуємо послідовності R16 та L16.

Алгоритм шифрування завжди закінчується відновлен­ням позиції бітів за допомогою оберненої матриці пе­ре­становок IP–1. Це необхідно для того, аби вико­ристо­ву­вати цей самий алгоритм як для шифрування, так і для дешиф­рування. Схема шифрування алгоритму подана на рис. 3.6.

Алгоритм обчислення функціїf.Для обчислення функції f використовуються:

·функція розширення Е, тобто розширення від 32 бітів до 48 бітів;

·функція підстановок Sj, j = 1, 2,…, 8, тобто пере­творення 6-ти бітового числа у 4-ох бітове;

·

 
 

функція перестановок Р, тобто перестановка бітів у 32-ти бітовій послідовності.

Рис. 3.6. Схема шифрування алгоритму DES

Алгоритм створення ключа.У кожній ітерації використовується інший новий ключ Кі довжиною 48 бітів. Ключ Кі обчислюється на підставі ключа шифрування К. Ключ К є 64-ох бітовим блоком з 8-ми бітами контролю парності, які розміщені на позиціях 8, 16, 24, 32, 40, 48, 56, 64.

Алгоритм3DES.Цей алгоритм є своєрідною моди­фі­кацією алгоритму DES. Відмінність між ними полягає в тому, що повідомлення шифруються три рази алгоритмом DES: зашифровується першим ключем; розшифровується дру­гим ключем; зашифровується третім ключем, зокрема,

c = E3(D2(E1(m))). (3.4)

Дешифрування в другій фазі не впливає на суму алго­ритму, але дозволяє застосувати алгоритм 3DES у режимі компатибільності з алгоритмом DES – ключем першим і другим або другим і третім приймаємо такий самий ключ, а останнім – звичайний ключ, як в алгоритмі DES:

c = E3(D1(E1(m))) = E3(m), (3.5)

c = E3(D3(E1(m))) = E1(m). (3.6)

Алгоритм 3DES використовує режими роботи та блоки такої самої довжини, як алгоритм DES.

Алгоритм RSA. В цьому алгоритмі випадково Ге­нерується досить ве­ли­ке число – ключ явний, який вико­ристовується для обчислення іншого великого числа – при­ват­ного ключа за допомогою достатньо складних марема­тич­них функцій. Користувачі застосовують ці ключі для шиф­рування документів, які висилаються до них двома і біль­ше особами, та для розшифрування документів після їх отри­мання.

Схема шифрування/дешифрування алгоритму RSA подана на рис 3.7.

Сам алгоритм можна подати наступним чином:

· вибираються два великі прості числа р, q;

· перемножуємо їх n=p×q;

· обчислюємо φ(n)=(p–1)(q–1);

· вибирають випадкове число 1<e<φ(n), яке є прос­тим відносно φ(n);

· використовуємо ключі: явний (публічний) і приват­ний.

З метою безпечного шифрування та дешифрування слід виконати такі вимоги:

· числа p i q повинні мати по ~100 цифр;

· числа p i q не можуть бути дуже близькими одне від другого.

Алгоритм DSS. Алгоритм DSS – це поточна назва, але якщо йде мова про особливості, то це стандарт цифро­вих підписів. Ґрунтується він на методі верифікації особи, яка висилає інформацію, та інтегральності переданих да­них. Стандарт базується на двох алгоритмах:

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

·

 
 

алгоритм SHA – це алгоритм безпечного хешування, яке в криптографії має два значення: змішувати і стискувати. У першому значенні вжива­ється для безпечно­го шифрування текстів (наприклад, в алгоритмі RSA), а в другому – для отримання на підставі тексту певного уні­кального числа, яке використовується для створення циф­рового підпису. Найчастіше використовується така версія, яка характеризується тим, що здійснення операцій в одну сторону є простим, а в іншу – надзвичайно складним. Мова тоді йде про односпрямовану функцію хешування, а від­по­відний алгоритм має назву SHA-1.

 

Рис. 3.7. Схема шифрування/дешифрування алгоритму RSA

Алгоритм ECC. Алгоритм ECC (Elliptic Curve Cry­p­to­graphy) базується на еліптичних кривих. Останні доз­воляють використовувати менші ключі, що є дуже важ­ливим у банківській справі з огляду на процесори карт.

Беручи до уваги високу швидкодію алгоритму ECC при шифруванні і згадані невеликі ключі, його часто засто­совують у безпро­від­ній комунікації, а отже – у безкон­так­т­них картах. Для унаочнення переваг цього алгоритму можна сказати, що ключ двійковою довжиною від 150 до 350 знаків, забезпе­чує таку саму криптографічну стійкість, як ключ від 600 до 1400 і більше знаків в інших крип­то­графічних системах.

Розглянемо загальні поняття еліптичних кривих. Загальне рівняння еліптичної кривої можна подати у вигляді

. (3.7)

З точки зору криптографії маємо нову криптологічну систему на підставі еліптичних кривих.

Додавання точок P i Q (рис. 3.8):

1. P+0=0+P=P для всіх P ε E (E – еліптична крива);

2.

 
 

Якщо P=(x, y) ε E, тоді P+(–P)=0 , де – P=(x, –y);

3. Допустимо, P=(x1, y1), Q=(x2, y2) ε E де – P≠–Q. Тоді P+Q=(x3, y3), причому x32 – x1 – x2 (mod p), y3=λ (x1 – x3) – y1 (mod p),

якщо P≠ Q, (3.8)

якщо P = Q. (3.9)

Рис. 3.8. Додавання точок P i Q на еліптичній кривій

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

Декілька обмежень, які накладаються на алгоритми, розроблювані для використаня в електронних картах:

· засоби пам’яті (RAM – 0,5 … 1 Кб; ROM – 50 Кб);

· швидкість передавання даних;

· список розпоряджень процесора і копроцесора;

· можливість генерування ключа приватного і явного (так звана імплементація тестів сильних чисел).

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


Читайте також:

  1. Алгоритми
  2. Алгоритми арифметичних операцій над цілими невід’ємними числами у десятковій системі числення.
  3. Алгоритми групи KWE
  4. Алгоритми керування ресурсами
  5. Алгоритми переведення чисел з однієї позиційної системи числення в іншу
  6. Алгоритми побудови дерев екстремальної ваги
  7. Алгоритми симетричного і асиметричного шифрування
  8. Алгоритми та блок-схеми
  9. Визначальні риси освітніх електронних бібліотек
  10. Відповідність форм первинних документів з обліку фінансово-розрахункових операцій та їх електронних аналогів
  11. Загальний вигляд електронних контрольно-касових апаратів




Переглядів: 2481

<== попередня сторінка | наступна сторінка ==>
Система безпеки мікропроцесорних карт | 

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.037 сек.