Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsIYa_3_1.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
8 Мб
Скачать
☆

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

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

Симетричне шифрування: алгоритм 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), причому x3=λ2 – 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. Ємець В., Мельник А., Попович Р. Сучасна крип­тографія. Основні поняття. – Львів: Бак, 2003. -144 с.

  2. О.В. Вербіцький. Вступ до криптографії. Видавництво НТЛ., Львів, 1998. -248с.

  3. Молодовян А.А., Молодовян В.А., Советов, В.Я. Крипто­графия. – Серия ″Учебники для вузов.Специальная литература″. –СПБ.: Издательство ″Лань″, 2000. -224с.

  4. Введение в криптографию. /Под общей ред. В.В. Ященко. –СПБ.:Питер, 2001. -288с.

  5. Інформаційна безпека комп’ютерних систем і ме­реж. Методичні вказівки//Укл. А.Ф. Карачка, М.П. Карпін­ський, А.В. Кулик, Т.В. Лендюк. – Тернопіль: ТАНГ, 1997. -68с.

  6. Петров А.А. Компьютерная безопасность. Крип­то­графии­ческие методы защиты. –М.: ДМК, 2000. -448с.

  7. Антонюк А.О. Основи захисту інформації в авто­ма­тизо­ваних системах: Навч. посіб./ Нац. ун-т "Києво-Могилянська академія". - К.: КМ Академія, 2003. - 244 с.

  8. Завгородний В.И. Комплексная защита информации в компьютерных системах: Учеб. пособие.- М.: Логос, 2001.- 264с.

  9. Косарев В.М. Информационная безопасность: организация защиты программ и данных: Учеб. пособие/ - Д.: Изд-во ДУЭП, 2003. - 152 с.

  10. Cryptography – the myths // www.checksum.org

  11. Evaluation of Cryptographic Techniques // www.ipa.go.jp

  12. RSAES-OAEP Encryption Scheme // www.rsasecu­rity.org

  13. RSA-PSS Signature Scheme with Appendix // www.rsasecurity.org

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]