Talk by Ruslan Kiyanchuk at NoNameCon 2019.
https://nonamecon.org
https://cfp.nonamecon.org/nnc2019/talk/NKB9UF/
Огляд українських криптографічних алгоритмів та стандартів
З метою замінити застарілий радянський стандарт шифрування ГОСТ 28147-89 успадкований багатьма країнами СНД, у 2006-му році Служба Безпеки України оголосила відкритий конкурс криптографічних алгоритмів.
Знадобилося 8 років розробки, бюрократії, Майдан та революція, щоб стандарт нарешті прийняли: і ось у 2015-му році світ побачили ДСТУ 7624:2014 та ДСТУ 7564:2014 — українські національні стандарти криптографічного захисту інформації, розроблені українськими криптографами. Стандартизованими алгоритмами стали блоковий шифр «Калина» та функція хешування «Купина».
У доповіді розглянемо умови та хід проведення конкурсу, криптоалгоритми, котрі брали участь у конкурсі, їхні властивості, переваги та недоліки, а також перспективи застосування у сучасних інформаційних системах.
Bert Heitink - Technical Insights for the SOC as Technical Centre for IT Secu...
Ruslan Kiyanchuk - Калина, Купина, та інша флора вітчизняної криптографії
1. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 1/38
КАЛИНА, КУПИНАКАЛИНА, КУПИНА
ТА ІНША ФЛОРА ВІТЧИЗНЯНОЇТА ІНША ФЛОРА ВІТЧИЗНЯНОЇ
КРИПТОГРАФІЇКРИПТОГРАФІЇ
Руслан Кіянчук
Криптограф & інженер-програміст @ Symantec
2. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 2/38
НАЦІОНАЛЬНАНАЦІОНАЛЬНА
СТАНДАРТИЗАЦІЯСТАНДАРТИЗАЦІЯ
ШИФРУВАННЯШИФРУВАННЯ
3. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 3/38
НАЦІОНАЛЬНІ КРИПТОГРАФІЧНІ АЛГОРИТМИНАЦІОНАЛЬНІ КРИПТОГРАФІЧНІ АЛГОРИТМИ
Захищають інформацію, що становить
державну таємницю.
4. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 4/38
МОТИВАЦІЯ ДЕРЖАВМОТИВАЦІЯ ДЕРЖАВ
РОЗРОБЛЯТИ ВЛАСНІ АЛГОРИТМИРОЗРОБЛЯТИ ВЛАСНІ АЛГОРИТМИ
Недовіра закордонним розробникам.
Політичні упередження.
Розвиток науки та заохочення досліджень.
5. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 5/38
А як же?
""DON'T ROLL YOUR OWN CRYPTODON'T ROLL YOUR OWN CRYPTO""
6. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 6/38
США DES, Rijndael
Канада CAST5
Китай SM4
Японія Camellia
Корея SEED, ARIA
Казахстан NPSS Crypto
РФ Магма (ГОСТ 28147), Кузнєчік
Білорусь BelT
Україна Калина
7. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 7/38
РОЗВИТОК АЛГОРИТМІВРОЗВИТОК АЛГОРИТМІВ
ШИФРУВАННЯ В УКРАЇНІШИФРУВАННЯ В УКРАЇНІ
8. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 8/38
ГОСТ 28147 (МАГМА)ГОСТ 28147 (МАГМА)
Блок 64 біти ( )
Класи слабких ключів.
Розроблений у 70х роках
у 8-му управлінні КДБ.
Введений в дію у 1989.
(під грифом ДСК)
Розсекречений у 1994.
Sweet32
9. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 9/38
КОНКУРС КРИПТОГРАФІЧНИХ АЛГОРИТМІВКОНКУРС КРИПТОГРАФІЧНИХ АЛГОРИТМІВ
11. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 11/38
ВИМОГИ ДО КРИПТОАЛГОРИТМУВИМОГИ ДО КРИПТОАЛГОРИТМУ
Розміри ключа та блоку даних: 128, 256, 512 біт;
Стійкість проти відомих методів криптоаналізу;
Прозорість дизайну та відсутність закладок;
Швидкодія не менша за ГОСТ 28147.
Режими роботи: ECB, CBC, CFB, OFB, CTR.
12. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 12/38
ШИФР «КАЛИНА»ШИФР «КАЛИНА»
Пріоритет — криптографічна стійкість.
Консервативний підхід.
Спроектовано на основі SP-мережі Rijndael.
Оптимізований для x86_64 архітектури.
13. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 13/38
= ∘ ∘ ∘ ∘ ∘ ∘ ∘ ∘ ∘ ∘ ∘Θ
(K)
ψl τl π
′
l
η
( )Kα
l
ψl τl π
′
l
κ
( )Kω
l
ψl τl π
′
l
η
( )Kα
l
= ∘ ∘ ∘ ∘ ∘ ∘Ξ
K, ,iKα
η
ϕ
( )Kσ
i
ψl π
′
l
∘
( )Kσ
l
ϕl τl π
′
l
η
ϕ
( )Kσ
i
= ((0x00010001 … 0001) ≪ (i/2))ϕ
( )Kσ
i
η
( )Kσ
l
ψ ⟹ f = + + + + 1x
8
x
4
x
3
x
2
= (ν ⋙ i) ⊗Wi,j Gj
χ(x) ∈ , χ ∈ { , , }Vl π
′
l
τl ψl
= ∘ ∘ ∘ ∘ ( ( ∘ ∘ ∘ )) ∘T
(K)
l,k
η
( )Kt
l
ψl τl π
′
l
∏
v=1
t−1
κ
( )Kv
l
ψl τl π
′
l
η
( )K0
l
G = ( ) → ( ), : → , s ∈ 0, 1, 2, 3gi,j πi mod 4 gi,j πs V8 V8
20. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 20/38
НАЦІОНАЛЬНИЙ СТАНДАРТНАЦІОНАЛЬНИЙ СТАНДАРТ
ШИФРУВАННЯШИФРУВАННЯ
22. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 22/38
Державне підприємство
Вимагає реєстрації.
Без HTTPS, користуйтеся генераторами identity 😉
Зберігає пароль у відкритому виді.
Ціноформування посторінкове, тому стандарт коштує 3000₴.
PDF можна скачати лише 5 раз, користуйтеся бекапами.
«Український науково-дослідний і навчальний
центр проблем стандартизації, сертифікації та
якості»
23. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 23/38
РЕЖИМИ РОБОТИ ШИФРУРЕЖИМИ РОБОТИ ШИФРУ
ECB Проста заміна
CBC Зчеплення шифроблоків
CFB Зворотний зв'язкок за шифротекстом
OFB Зворотний зв'язкок за шифрогамою
CTR Гамування
XTS Індексована заміна
CMAC Вироблення імітовставки
CCM Вироблення імітовставки + гамування
GCM,
GMAC
Вибіркове гамування з прискореним виробленням
імітовставки
KW Захист ключових даних
24. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 24/38
ELECTRONIC CODE BOOK (ECB)ELECTRONIC CODE BOOK (ECB)
ПРОСТА ЗАМІНАПРОСТА ЗАМІНА
Шифрключ
повідомлення
шифротекст
Шифрключ
повідомлення
шифротекст
Шифрключ
повідомлення
шифротекст
НІКОЛИ НЕ ВИКОРИСТОВУЙТЕ!
25. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 25/38
ECB ПІНГВІНECB ПІНГВІН
26. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 26/38
ECB ГУСЬECB ГУСЬ
27. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 27/38
CIPHER BLOCK CHAINING (CBC)CIPHER BLOCK CHAINING (CBC)
Шифрключ
повідомлення
шифротекст
Шифрключ
повідомлення
шифротекст
Шифрключ
повідомлення
шифротекст
IV
конфіденційність
IV: (nonce) унікальний, випадковий.
Паралелізація: зашифрування ❌ розшифрування ✅
Вимагає доповнення.
28. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 28/38
CBC ГУСЬCBC ГУСЬ
29. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 29/38
COUNTER MODE (CTR)COUNTER MODE (CTR)
Шифрключ
IV || n
шифротекст
Шифрключ
шифротекст
Шифрключ
шифротекст
повідомлення повідомлення повідомлення
IV || n+1 IV || n+2
конфіденційність
IV: унікальний.
Паралелізація: ✅зашифрування ✅розшифрування
Не вимагає доповнення.
✅Random access.
30. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 30/38
XTSXTS
Xor-encrypt-Xor tweaked-codebook with ciphertext stealing
конфіденційність
Не вимагає IV
Паралелізація: ✅зашифрування ✅розшифрування
✅Random access.
31. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 31/38
GCMGCM
конфіденційність, автентичність.
IV: унікальний.
Паралелізація: ✅зашифрування ✅розшифрування
Найвища швидкодія.
Єдиний ключ для автентифікації та шифрування.
32. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 32/38
ГУСЬ ТА NONCE REUSEГУСЬ ТА NONCE REUSE
33. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 33/38
KEY WRAP (KW)KEY WRAP (KW)
Захист криптографічних ключів.
Низька швидкодія.
Призначений для надійного шифрування малих блоків даних.
34. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 34/38
РЕАЛІЗАЦІЇРЕАЛІЗАЦІЇ
Лише для досліджень!
Приватбанк. Проведено державну експертизу.
Open source 😬
Прототип
Cryptonite
Crypto++
35. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 35/38
РЕСУРСИ ПОРЕСУРСИ ПО
КРИПТОАЛГОРИТМАМКРИПТОАЛГОРИТМАМ
архів Міжнародної Асоціації Криптографічних Досліджень
журнал «Радіотехніка», випуск 181
Огляд алгоритму у слайдах
Огляд алгоритму у слайдах
ДСТУ :)
Kalyna Block Cipher
Функція гешування «Купина»
«Калина» — основні властивості
«Купина» — основні властивості
36. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 36/38
РЕСУРСИ ПО КРИПТОГРАФІЇРЕСУРСИ ПО КРИПТОГРАФІЇ
1.
Laurens Van Houtven
2.
Jean-Philippe Aumasson
3.
Ferguson, Schneier, Kohno
4.
Nigel Smart
5.
Boneh, Shoup
Crypto 101
Serious Cryptography
Cryptography Engineering
Cryptography Made Simple
A Graduate Course in Applied Cryptography
37. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 37/38
Шнайєр теж знає про «Калину» 😉
38. 5/17/2019 Калина, Купина, та інша флора вітчизняної криптографії
localhost:8000/?print-pdf#/ 38/38
Q & AQ & A
Twitter:
GitHub:
LinkedIn:
@zoresvit
@zoresvit
ruslan.kiyanchuk