«Калина» (англ. Kalyna) — блочний симетричний шифр описаний у національному стандарті України ДСТУ 7624:2014 «Інформаційні технології. Криптографічний захист інформації. Алгоритм симетричного блокового перетворення». Стандарт набрав чинності з 1 липня 2015 року наказом Мінекономрозвитку від 2 грудня 2014 року №1484. .
Державний стандарт України | |
---|---|
Позначення | ДСТУ 7624:2014 |
Назва | Інформаційні технології. Криптографічний захист інформації. Алгоритм симетричного блокового перетворення |
Інформаційні дані | |
Тип стандарту | Державний стандарт України |
Розробники | Приватне акціонерне товариство «Інститут інформаційних технологій» |
Внесено | Мінекономрозвитку України |
Введено в дію | наказ від 29 грудня 2014 р. № 1484 |
Чинний від | 1 липня 2015 року |
Статус | Чинний |
Останні зміни | ІПС №1-03-2016 |
Пов'язані стандарти | ДСТУ 7564:2014, ДСТУ 4145-2002, ДСТУ ГОСТ 28147:2009 |
Кількість сторінок | 228 |
База нормативних документів |
Стандарт ДСТУ 7624:2014 розроблено у співпраці Держспецзв'язку та провідних українських науковців і враховує досвід та результати проведення міжнародних і відкритого національного конкурсу криптографічних алгоритмів. Він призначений для поступової заміни міждержавного стандарту ДСТУ ГОСТ 28147:2009.
Згідно чинного наказу Мінцифри від 30 вересня 2020 року №140/614 після 1 січня 2022 року разом з функцією гешування Купина є обов'язковим для використання при накладанні та перевірці електронного цифрового підпису за ДСТУ 4145-2002 замість криптографічного перетворення за ДСТУ ГОСТ 28147:2009.
Режими роботи та їх позначення
У стандарті описані наступні режими роботи криптографічного алгоритму, їх позначення та послуги безпеки, які забезпечує відповідний режим:
# | Назва режиму | Позначення | Послуга безпеки |
---|---|---|---|
1 | Проста заміна (базове перетворення) | (ЕСВ) | Конфіденційність |
2 | Гамування | (CTR) | Конфіденційність |
3 | Гамування зі зворотним зв'язком за шифротекстом | (CFB) | Конфіденційність |
4 | Вироблення імітовставки | СМАС | Цілісність |
5 | Зчеплення шифроблоків | (CBC) | Конфіденційність |
6 | Гамування зі зворотним зв'язком за шифрогамою | (OFB) | Конфіденційність |
7 | Вибіркове гамування із прискореним виробленням імітовставки | (GCM, GMAC) | Конфіденційність і цілісність (GCM), тільки цілісність (GMAC) |
8 | Вироблення імітовставки і гамування | CCM | Цілісність і конфіденційність |
9 | Індексована заміна | XTS | Конфіденційність |
10 | Захист ключових даних | KW | Конфіденційність і цілісність |
Режим роботи криптографічного алгоритму, позначають так: «Калина-I/k-позначення режиму-параметри режиму» (для деяких режимів параметрів немає), де I - розмір блока базового перетворення, k - довжина ключа. Наприклад, «Калина-256/512-ССМ-32,128» визначає використання базового перетворення з розміром блока 256 бітів, довжиною ключа 512 бітів, застосування у режимі вироблення імітовставки і гамування, довжина конфіденційної (та відкритої) частини повідомлення завжди менше ніж 232 байтів, довжина імітовставки дорівнює 128 бітів. Режим простої заміни збігається з базовим перетворенням, тому крім позначення «Калина-I/k-ЕСВ» можна використовувати позначення «Калина-I/k».
Алгоритм
Стан шифру
Стан шифру описується матрицею 8 x елементів скінченного розширеного двійкового поля , сформованого незвідним поліномом . Кількість раундів та кількість рядків у матриці стану наведені у таблиці:
# | Розмір блоку (I) | Розмір ключа (k) | Кількість раундів (v) | Рядків у матриці стану (с) |
---|---|---|---|---|
1 | 128 | 128 | 10 | 2 |
2 | 256 | 14 | ||
3 | 256 | 256 | 14 | 4 |
4 | 512 | 18 | ||
5 | 512 | 512 | 18 | 8 |
Зашифрування
Перетворення зашифрування описується як
Перетворення η(Kv)
Перетворення — це додавання до матриці стану раундового ключа за модулем . При додаванні використовується порядок little endian.
Перетворення πl'
Перетворення — це заміна байтів у матриці стану
Підстановка π0
A8 | 43 | 5F | 06 | 6B | 75 | 6C | 59 | 71 | DF | 87 | 95 | 17 | F0 | D8 | 09 |
6D | F3 | 1D | CB | C9 | 4D | 2C | AF | 79 | E0 | 97 | FD | 6F | 4B | 45 | 39 |
3E | DD | A3 | 4F | B4 | B6 | 9A | 0E | 1F | BF | 15 | E1 | 49 | D2 | 93 | C6 |
92 | 72 | 9E | 61 | D1 | 63 | FA | EE | F4 | 19 | D5 | AD | 58 | A4 | BB | A1 |
DC | F2 | 83 | 37 | 42 | E4 | 7A | 32 | 9C | CC | AB | 4A | 8F | 6E | 04 | 27 |
2E | E7 | E2 | 5A | 96 | 16 | 23 | 2B | C2 | 65 | 66 | 0F | BC | A9 | 47 | 41 |
34 | 48 | FC | B7 | 6A | 88 | A5 | 53 | 86 | F9 | 5B | DB | 38 | 7B | C3 | 1E |
22 | 33 | 24 | 28 | 36 | C7 | B2 | 3B | 8E | 77 | BA | F5 | 14 | 9F | 08 | 55 |
9B | 4C | FE | 60 | 5C | DA | 18 | 46 | CD | 7D | 21 | B0 | 3F | 1B | 89 | FF |
EB | 84 | 69 | 3A | 9D | D7 | D3 | 70 | 67 | 40 | B5 | DE | 5D | 30 | 91 | B1 |
78 | 11 | 01 | E5 | 00 | 68 | 98 | A0 | C5 | 02 | A6 | 74 | 2D | 0B | A2 | 76 |
B3 | BE | CE | BD | AE | E9 | 8A | 31 | 1C | EC | F1 | 99 | 94 | AA | F6 | 26 |
2F | EF | E8 | 8C | 35 | 03 | D4 | 7F | FB | 05 | C1 | 5E | 90 | 20 | 3D | 82 |
F7 | EA | 0A | 0D | 7E | F8 | 50 | 1A | C4 | 07 | 57 | B8 | 3C | 62 | E3 | C8 |
AC | 52 | 64 | 10 | D0 | D9 | 13 | 0C | 12 | 29 | 51 | B9 | CF | D6 | 73 | 8D |
81 | 54 | C0 | ED | 4E | 44 | A7 | 2A | 85 | 25 | E6 | CA | 7C | 8B | 56 | 80 |
Підстановка π1
CE | BB | EB | 92 | EA | CB | 13 | C1 | E9 | 3A | D6 | B2 | D2 | 90 | 17 | F8 |
42 | 15 | 56 | B4 | 65 | 1C | 88 | 43 | C5 | 5C | 36 | BA | F5 | 57 | 67 | 8D |
31 | F6 | 64 | 58 | 9E | F4 | 22 | AA | 75 | 0F | 02 | B1 | DF | 6D | 73 | 4D |
7C | 26 | 2E | F7 | 08 | 5D | 44 | 3E | 9F | 14 | C8 | AE | 54 | 10 | D8 | BC |
1A | 6B | 69 | F3 | BD | 33 | AB | FA | D1 | 9B | 68 | 4E | 16 | 95 | 91 | EE |
4C | 63 | 8E | 5B | CC | 3C | 19 | A1 | 81 | 49 | 7B | D9 | 6F | 37 | 60 | CA |
E7 | 2B | 48 | FD | 96 | 45 | FC | 41 | 12 | 0D | 79 | E5 | 89 | 8C | E3 | 20 |
30 | DC | B7 | 6C | 4A | B5 | 3F | 97 | D4 | 62 | 2D | 06 | A4 | A5 | 83 | 5F |
2A | DA | C9 | 00 | 7E | A2 | 55 | BF | 11 | D5 | 9C | CF | 0E | 0A | 3D | 51 |
7D | 93 | 1B | FE | C4 | 47 | 09 | 86 | 0B | 8F | 9D | 6A | 07 | B9 | B0 | 98 |
18 | 32 | 71 | 4B | EF | 3B | 70 | A0 | E4 | 40 | FF | C3 | A9 | E6 | 78 | F9 |
8B | 46 | 80 | 1E | 38 | E1 | B8 | A8 | E0 | 0C | 23 | 76 | 1D | 25 | 24 | 05 |
F1 | 6E | 94 | 28 | 9A | 84 | E8 | A3 | 4F | 77 | D3 | 85 | E2 | 52 | F2 | 82 |
50 | 7A | 2F | 74 | 53 | B3 | 61 | AF | 39 | 35 | DE | CD | 1F | 99 | AC | AD |
72 | 2C | DD | D0 | 87 | BE | 5E | A6 | EC | 04 | C6 | 03 | 34 | FB | DB | 59 |
B6 | C2 | 01 | F0 | 5A | ED | A7 | 66 | 21 | 7F | 8A | 27 | C7 | C0 | 29 | D7 |
Підстановка π2
93 | D9 | 9A | B5 | 98 | 22 | 45 | FC | BA | 6A | DF | 02 | 9F | DC | 51 | 59 |
4A | 17 | 2B | C2 | 94 | F4 | BB | A3 | 62 | E4 | 71 | D4 | CD | 70 | 16 | E1 |
49 | 3C | C0 | D8 | 5C | 9B | AD | 85 | 53 | A1 | 7A | C8 | 2D | E0 | D1 | 72 |
A6 | 2C | C4 | E3 | 76 | 78 | B7 | B4 | 09 | 3B | 0E | 41 | 4C | DE | B2 | 90 |
25 | A5 | D7 | 03 | 11 | 00 | C3 | 2E | 92 | EF | 4E | 12 | 9D | 7D | CB | 35 |
10 | D5 | 4F | 9E | 4D | A9 | 55 | C6 | D0 | 7B | 18 | 97 | D3 | 36 | E6 | 48 |
56 | 81 | 8F | 77 | CC | 9C | B9 | E2 | AC | B8 | 2F | 15 | A4 | 7C | DA | 38 |
1E | 0B | 05 | D6 | 14 | 6E | 6C | 7E | 66 | FD | B1 | E5 | 60 | AF | 5E | 33 |
87 | C9 | F0 | 5D | 6D | 3F | 88 | 8D | C7 | F7 | 1D | E9 | EC | ED | 80 | 29 |
27 | CF | 99 | A8 | 50 | 0F | 37 | 24 | 28 | 30 | 95 | D2 | 3E | 5B | 40 | 83 |
B3 | 69 | 57 | 1F | 07 | 1C | 8A | BC | 20 | EB | CE | 8E | AB | EE | 31 | A2 |
73 | F9 | CA | 3A | 1A | FB | 0D | C1 | FE | FA | F2 | 6F | BD | 96 | DD | 43 |
52 | B6 | 08 | F3 | AE | BE | 19 | 89 | 32 | 26 | B0 | EA | 4B | 64 | 84 | 82 |
6B | F5 | 79 | BF | 01 | 5F | 75 | 63 | 1B | 23 | 3D | 68 | 2A | 65 | E8 | 91 |
F6 | FF | 13 | 58 | F1 | 47 | 0A | 7F | C5 | A7 | E7 | 61 | 5A | 06 | 46 | 44 |
42 | 04 | A0 | DB | 39 | 86 | 54 | AA | 8C | 34 | 21 | 8B | F8 | 0C | 74 | 67 |
Підстановка π3
68 | 8D | CA | 4D | 73 | 4B | 4E | 2A | D4 | 52 | 26 | B3 | 54 | 1E | 19 | 1F |
22 | 03 | 46 | 3D | 2D | 4A | 53 | 83 | 13 | 8A | B7 | D5 | 25 | 79 | F5 | BD |
58 | 2F | 0D | 02 | ED | 51 | 9E | 11 | F2 | 3E | 55 | 5E | D1 | 16 | 3C | 66 |
70 | 5D | F3 | 45 | 40 | CC | E8 | 94 | 56 | 08 | CE | 1A | 3A | D2 | E1 | DF |
B5 | 38 | 6E | 0E | E5 | F4 | F9 | 86 | E9 | 4F | D6 | 85 | 23 | CF | 32 | 99 |
31 | 14 | AE | EE | C8 | 48 | D3 | 30 | A1 | 92 | 41 | B1 | 18 | C4 | 2C | 71 |
72 | 44 | 15 | FD | 37 | BE | 5F | AA | 9B | 88 | D8 | AB | 89 | 9C | FA | 60 |
EA | BC | 62 | 0C | 24 | A6 | A8 | EC | 67 | 20 | DB | 7C | 28 | DD | AC | 5B |
34 | 7E | 10 | F1 | 7B | 8F | 63 | A0 | 05 | 9A | 43 | 77 | 21 | BF | 27 | 09 |
C3 | 9F | B6 | D7 | 29 | C2 | EB | C0 | A4 | 8B | 8C | 1D | FB | FF | C1 | B2 |
97 | 2E | F8 | 65 | F6 | 75 | 07 | 04 | 49 | 33 | E4 | D9 | B9 | D0 | 42 | C7 |
6C | 90 | 00 | 8E | 6F | 50 | 01 | C5 | DA | 47 | 3F | CD | 69 | A2 | E2 | 7A |
A7 | C6 | 93 | 0F | 0A | 06 | E6 | 2B | 96 | A3 | 1C | AF | 6A | 12 | 84 | 39 |
E7 | B0 | 82 | F7 | FE | 9D | 87 | 5C | 81 | 35 | DE | B4 | A5 | FC | 80 | EF |
CB | BB | 6B | 76 | BA | 5A | 7D | 78 | 0B | 95 | E3 | AD | 74 | 98 | 3B | 36 |
64 | 6D | DC | F0 | 59 | A9 | 4C | 17 | 7F | 91 | B8 | C9 | 57 | 1B | E0 | 61 |
Стандартом передбачено можливість використання інших S-блоків у окремих застосуваннях, що є спільною рисою з алгоритмом шифрування, визначеним ДСТУ ГОСТ 28147:2009.
Перетворення τ
Перетворення — це перестановка елементів у матриці (циклічний зсув вправо). matrix . Кількість зсунутих елементів залежить від номера рядка та розміру блоку . Кількість зсунутих елементів обчислюється за формулою .
Перетворення ψ
Перетворення — це лінійне перетворення елементів матриці стану над скінченним полем
Перетворення κ(Kυ)
Перетворення — це додавання до матриці стану раундового ключа за модулем 2, також відоме як побітове виключне «або» (XOR).
Розшифрування
Перетворення розшифрування описується як
Перетворення , , , є оберненими перетвореннями до перетворень , , , відповідно.
Розгортання ключів
Розгортання ключів відбувається у 2 етапи:
- обчислення з ключа шифрування проміжного ключа ;
- обчислення з проміжного ключа раундових ключів.
Проміжний ключ має той же розмір, що і блок даних 8 x .
Обчислення проміжного ключа виконується перетворенням .
Якщо розмір блока і розмір ключа шифрування однакові, то . Якщо ж розмір ключа шифрування вдвічі більший, ніж розмір блока, то .
Як аргумент для перетворення використовується l-бітне представлення значення виразу з порядком бітів little-endian.
Обчислення раундових ключів з парними індексами () виконується перетворенням .
Перетворення описані вище. Перетворення .
Вхідними даними для перетворення є значення , де — ключ шифрування, якщо розмір ключа дорівнює розміру блока.
Якщо ж розмір ключа шифрування більший розміру блоку, то вхідними даними для перетворення є , для та , для
Обчислення раундових ключів з непарними індексами () виконується за формулою .
Принципи проектування
Шифр спроектовано на основі SP-мережі. Як лінійне перетворення використана MDS-матриця. Як нелінійні елементи використані чотири випадкові блоки підстановок. Використане пре- та пост- забілювання шляхом складання з раундовими ключами за модулем .
Використання
Kalyna-reference [ 11 червня 2018 у Wayback Machine.] — код референсної реалізаціі на C
cppcrypto [ 12 червня 2017 у Wayback Machine.] — Бібліотека з відкритим вихідним кодом на C++
cryptonite [ 13 червня 2018 у Wayback Machine.] — бібліотека криптографічних перетворень від ПриватБанку з відкритим програмним кодом на C, має експертний висновок UA.14360570.00001-01 90 01-1 за результатами державної експертизи у галузі КЗІ [ 3 серпня 2020 у Wayback Machine.]
Криптостійкість
Було виявлено деякі атаки на скорочені варіанти шифру, але вони не є практичними.
Примітки
- ДСТУ 7624:2014 в Каталозі НД України
- . Архів оригіналу за 5 травня 2019. Процитовано 5 травня 2019.
- Горбенко, I.Д.; Тоцький, О.С.; Казьміна, С.В. (2007). . Прикладна радіоелектроніка (укр.). АН ПРЭ. 6 (2): С.195-208. Архів оригіналу за 6 травня 2021. Процитовано 22 серпня 2020.
{{}}
:|pages=
має зайвий текст () - . Архів оригіналу за 5 травня 2019. Процитовано 5 травня 2019.
- Oliynykov, Roman; Gorbenko, Ivan; Dolgov, Viktor; Ruzhentsev, Victor (2010). . Tatra Mountains Mathematical Publications (англ.). Sciendo. 47 (1): 99—113. doi:10.2478/v10127-010-0033-6. Архів оригіналу за 2 червня 2018. Процитовано 22 серпня 2020.
- . Архів оригіналу за 5 травня 2019. Процитовано 5 травня 2019.
- . zakon.rada.gov.ua (укр.). Міністерство цифрової трансформації України. 30 вересня 2020. Архів оригіналу за 2 червня 2021. Процитовано 4 січня 2021.
- Oliynykov, Roman; Gorbenko, Ivan; Kazymyrov, Oleksandr; Ruzhentsev, Victor; Kuznetsov, Oleksandr; Gorbenko, Yurii; Dyrda, Oleksandr; Dolgov, Viktor; Pushkaryov, Andrii; Mordvinov, Ruslan; Kaidalov, Dmytro (2015). (PDF). IACR Cryptol (англ.). ePrint Archive. Архів оригіналу (PDF) за 16 липня 2017. Процитовано 28 березня 2017.
- Chang, Akshima; Chang, Donghoon; Ghosh, Mohona; Goel, Aarushi; Sanadhya, Somitra Kumar (2015). (PDF). IACR Cryptol (англ.). ePrint Archive. Архів оригіналу (PDF) за 13 січня 2022. Процитовано 22 серпня 2020.
- AlTawy, Riham; Abdelkhalek, Riham; Youssef, Amr M. (2016). . IEICE Transactions on Information and Systems (англ.). E99.D (4): 1246—1250. doi:10.1587/transinf.2015EDL8174. Архів оригіналу (PDF) за 7 червня 2018. Процитовано 22 серпня 2020.
- Lin, Li; Wu, Wenling (2016). (PDF). IACR Cryptol (англ.). ePrint Archive. Архів оригіналу (PDF) за 20 січня 2022. Процитовано 22 серпня 2020.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Kalina znachennya Kalina angl Kalyna blochnij simetrichnij shifr opisanij u nacionalnomu standarti Ukrayini DSTU 7624 2014 Informacijni tehnologiyi Kriptografichnij zahist informaciyi Algoritm simetrichnogo blokovogo peretvorennya Standart nabrav chinnosti z 1 lipnya 2015 roku nakazom Minekonomrozvitku vid 2 grudnya 2014 roku 1484 Derzhavnij standart UkrayiniKalina shifr PoznachennyaDSTU 7624 2014NazvaInformacijni tehnologiyi Kriptografichnij zahist informaciyi Algoritm simetrichnogo blokovogo peretvorennyaInformacijni daniTip standartuDerzhavnij standart UkrayiniRozrobnikiPrivatne akcionerne tovaristvo Institut informacijnih tehnologij VnesenoMinekonomrozvitku UkrayiniVvedeno v diyunakaz vid 29 grudnya 2014 r 1484Chinnij vid1 lipnya 2015 rokuStatusChinnijOstanni zminiIPS 1 03 2016Pov yazani standartiDSTU 7564 2014 DSTU 4145 2002 DSTU GOST 28147 2009Kilkist storinok228Baza normativnih dokumentiv Standart DSTU 7624 2014 rozrobleno u spivpraci Derzhspeczv yazku ta providnih ukrayinskih naukovciv i vrahovuye dosvid ta rezultati provedennya mizhnarodnih i vidkritogo nacionalnogo konkursu kriptografichnih algoritmiv Vin priznachenij dlya postupovoyi zamini mizhderzhavnogo standartu DSTU GOST 28147 2009 Zgidno chinnogo nakazu Mincifri vid 30 veresnya 2020 roku 140 614 pislya 1 sichnya 2022 roku razom z funkciyeyu geshuvannya Kupina ye obov yazkovim dlya vikoristannya pri nakladanni ta perevirci elektronnogo cifrovogo pidpisu za DSTU 4145 2002 zamist kriptografichnogo peretvorennya za DSTU GOST 28147 2009 Rezhimi roboti ta yih poznachennyaU standarti opisani nastupni rezhimi roboti kriptografichnogo algoritmu yih poznachennya ta poslugi bezpeki yaki zabezpechuye vidpovidnij rezhim Nazva rezhimu Poznachennya Posluga bezpeki 1 Prosta zamina bazove peretvorennya ESV Konfidencijnist 2 Gamuvannya CTR Konfidencijnist 3 Gamuvannya zi zvorotnim zv yazkom za shifrotekstom CFB Konfidencijnist 4 Viroblennya imitovstavki SMAS Cilisnist 5 Zcheplennya shifroblokiv CBC Konfidencijnist 6 Gamuvannya zi zvorotnim zv yazkom za shifrogamoyu OFB Konfidencijnist 7 Vibirkove gamuvannya iz priskorenim viroblennyam imitovstavki GCM GMAC Konfidencijnist i cilisnist GCM tilki cilisnist GMAC 8 Viroblennya imitovstavki i gamuvannya CCM Cilisnist i konfidencijnist 9 Indeksovana zamina XTS Konfidencijnist 10 Zahist klyuchovih danih KW Konfidencijnist i cilisnist Rezhim roboti kriptografichnogo algoritmu poznachayut tak Kalina I k poznachennya rezhimu parametri rezhimu dlya deyakih rezhimiv parametriv nemaye de I rozmir bloka bazovogo peretvorennya k dovzhina klyucha Napriklad Kalina 256 512 SSM 32 128 viznachaye vikoristannya bazovogo peretvorennya z roz mirom bloka 256 bitiv dovzhinoyu klyucha 512 bitiv zastosuvannya u rezhimi viroblennya imitovstavki i gamuvannya dovzhina konfidencijnoyi ta vidkritoyi chastini povidomlennya zavzhdi menshe nizh 232 bajtiv dovzhina imitovstavki dorivnyuye 128 bitiv Rezhim prostoyi zamini zbigayetsya z bazovim peretvorennyam tomu krim poznachennya Kalina I k ESV mozhna vikoristovuvati poznachennya Kalina I k AlgoritmStan shifru Stan shifru opisuyetsya matriceyu 8 x c displaystyle c elementiv skinchennogo rozshirenogo dvijkovogo polya G F 2 8 displaystyle GF 2 8 sformovanogo nezvidnim polinomom x 8 x 4 x 3 x 2 1 displaystyle x 8 x 4 x 3 x 2 1 Kilkist raundiv ta kilkist ryadkiv u matrici stanu navedeni u tablici Rozmir bloku I Rozmir klyucha k Kilkist raundiv v Ryadkiv u matrici stanu s 1 128 128 10 2 2 256 14 3 256 256 14 4 4 512 18 5 512 512 18 8 Zashifruvannya Peretvorennya zashifruvannya T l k K displaystyle T l k K opisuyetsya yak T l k K h l K t ps l t l p l n 1 t 1 k K n ps l t l p l h l K 0 displaystyle T l k K eta l K t bullet psi l bullet tau l bullet pi l bullet prod nu 1 t 1 kappa K nu bullet psi l bullet tau l bullet pi l bullet eta l K 0 Peretvorennya h Kv Peretvorennya h K v displaystyle eta K v ce dodavannya do matrici stanu raundovogo klyucha za modulem 2 64 displaystyle 2 64 Pri dodavanni vikoristovuyetsya poryadok little endian Peretvorennya pl Peretvorennya p l displaystyle pi l ce zamina bajtiv u matrici stanu Pidstanovka p0 A8 43 5F 06 6B 75 6C 59 71 DF 87 95 17 F0 D8 09 6D F3 1D CB C9 4D 2C AF 79 E0 97 FD 6F 4B 45 39 3E DD A3 4F B4 B6 9A 0E 1F BF 15 E1 49 D2 93 C6 92 72 9E 61 D1 63 FA EE F4 19 D5 AD 58 A4 BB A1 DC F2 83 37 42 E4 7A 32 9C CC AB 4A 8F 6E 04 27 2E E7 E2 5A 96 16 23 2B C2 65 66 0F BC A9 47 41 34 48 FC B7 6A 88 A5 53 86 F9 5B DB 38 7B C3 1E 22 33 24 28 36 C7 B2 3B 8E 77 BA F5 14 9F 08 55 9B 4C FE 60 5C DA 18 46 CD 7D 21 B0 3F 1B 89 FF EB 84 69 3A 9D D7 D3 70 67 40 B5 DE 5D 30 91 B1 78 11 01 E5 00 68 98 A0 C5 02 A6 74 2D 0B A2 76 B3 BE CE BD AE E9 8A 31 1C EC F1 99 94 AA F6 26 2F EF E8 8C 35 03 D4 7F FB 05 C1 5E 90 20 3D 82 F7 EA 0A 0D 7E F8 50 1A C4 07 57 B8 3C 62 E3 C8 AC 52 64 10 D0 D9 13 0C 12 29 51 B9 CF D6 73 8D 81 54 C0 ED 4E 44 A7 2A 85 25 E6 CA 7C 8B 56 80 Pidstanovka p1 CE BB EB 92 EA CB 13 C1 E9 3A D6 B2 D2 90 17 F8 42 15 56 B4 65 1C 88 43 C5 5C 36 BA F5 57 67 8D 31 F6 64 58 9E F4 22 AA 75 0F 02 B1 DF 6D 73 4D 7C 26 2E F7 08 5D 44 3E 9F 14 C8 AE 54 10 D8 BC 1A 6B 69 F3 BD 33 AB FA D1 9B 68 4E 16 95 91 EE 4C 63 8E 5B CC 3C 19 A1 81 49 7B D9 6F 37 60 CA E7 2B 48 FD 96 45 FC 41 12 0D 79 E5 89 8C E3 20 30 DC B7 6C 4A B5 3F 97 D4 62 2D 06 A4 A5 83 5F 2A DA C9 00 7E A2 55 BF 11 D5 9C CF 0E 0A 3D 51 7D 93 1B FE C4 47 09 86 0B 8F 9D 6A 07 B9 B0 98 18 32 71 4B EF 3B 70 A0 E4 40 FF C3 A9 E6 78 F9 8B 46 80 1E 38 E1 B8 A8 E0 0C 23 76 1D 25 24 05 F1 6E 94 28 9A 84 E8 A3 4F 77 D3 85 E2 52 F2 82 50 7A 2F 74 53 B3 61 AF 39 35 DE CD 1F 99 AC AD 72 2C DD D0 87 BE 5E A6 EC 04 C6 03 34 FB DB 59 B6 C2 01 F0 5A ED A7 66 21 7F 8A 27 C7 C0 29 D7 Pidstanovka p2 93 D9 9A B5 98 22 45 FC BA 6A DF 02 9F DC 51 59 4A 17 2B C2 94 F4 BB A3 62 E4 71 D4 CD 70 16 E1 49 3C C0 D8 5C 9B AD 85 53 A1 7A C8 2D E0 D1 72 A6 2C C4 E3 76 78 B7 B4 09 3B 0E 41 4C DE B2 90 25 A5 D7 03 11 00 C3 2E 92 EF 4E 12 9D 7D CB 35 10 D5 4F 9E 4D A9 55 C6 D0 7B 18 97 D3 36 E6 48 56 81 8F 77 CC 9C B9 E2 AC B8 2F 15 A4 7C DA 38 1E 0B 05 D6 14 6E 6C 7E 66 FD B1 E5 60 AF 5E 33 87 C9 F0 5D 6D 3F 88 8D C7 F7 1D E9 EC ED 80 29 27 CF 99 A8 50 0F 37 24 28 30 95 D2 3E 5B 40 83 B3 69 57 1F 07 1C 8A BC 20 EB CE 8E AB EE 31 A2 73 F9 CA 3A 1A FB 0D C1 FE FA F2 6F BD 96 DD 43 52 B6 08 F3 AE BE 19 89 32 26 B0 EA 4B 64 84 82 6B F5 79 BF 01 5F 75 63 1B 23 3D 68 2A 65 E8 91 F6 FF 13 58 F1 47 0A 7F C5 A7 E7 61 5A 06 46 44 42 04 A0 DB 39 86 54 AA 8C 34 21 8B F8 0C 74 67 Pidstanovka p3 68 8D CA 4D 73 4B 4E 2A D4 52 26 B3 54 1E 19 1F 22 03 46 3D 2D 4A 53 83 13 8A B7 D5 25 79 F5 BD 58 2F 0D 02 ED 51 9E 11 F2 3E 55 5E D1 16 3C 66 70 5D F3 45 40 CC E8 94 56 08 CE 1A 3A D2 E1 DF B5 38 6E 0E E5 F4 F9 86 E9 4F D6 85 23 CF 32 99 31 14 AE EE C8 48 D3 30 A1 92 41 B1 18 C4 2C 71 72 44 15 FD 37 BE 5F AA 9B 88 D8 AB 89 9C FA 60 EA BC 62 0C 24 A6 A8 EC 67 20 DB 7C 28 DD AC 5B 34 7E 10 F1 7B 8F 63 A0 05 9A 43 77 21 BF 27 09 C3 9F B6 D7 29 C2 EB C0 A4 8B 8C 1D FB FF C1 B2 97 2E F8 65 F6 75 07 04 49 33 E4 D9 B9 D0 42 C7 6C 90 00 8E 6F 50 01 C5 DA 47 3F CD 69 A2 E2 7A A7 C6 93 0F 0A 06 E6 2B 96 A3 1C AF 6A 12 84 39 E7 B0 82 F7 FE 9D 87 5C 81 35 DE B4 A5 FC 80 EF CB BB 6B 76 BA 5A 7D 78 0B 95 E3 AD 74 98 3B 36 64 6D DC F0 59 A9 4C 17 7F 91 B8 C9 57 1B E0 61 Standartom peredbacheno mozhlivist vikoristannya inshih S blokiv u okremih zastosuvannyah sho ye spilnoyu risoyu z algoritmom shifruvannya viznachenim DSTU GOST 28147 2009 Peretvorennya t Peretvorennya t displaystyle tau ce perestanovka elementiv u matrici ciklichnij zsuv vpravo matrix G g i j displaystyle G g i j Kilkist zsunutih elementiv zalezhit vid nomera ryadka i 0 1 7 displaystyle i in 0 1 7 ta rozmiru bloku l 128 256 512 displaystyle l in 128 256 512 Kilkist zsunutih elementiv obchislyuyetsya za formuloyu i l 512 displaystyle left lfloor frac i cdot l 512 right rfloor Peretvorennya ps Peretvorennya ps displaystyle psi ce linijne peretvorennya elementiv matrici stanu nad skinchennim polem x 8 x 4 x 3 x 2 1 displaystyle x 8 x 4 x 3 x 2 1 Peretvorennya k Ky Peretvorennya k K y displaystyle kappa K upsilon ce dodavannya do matrici stanu raundovogo klyucha za modulem 2 takozh vidome yak pobitove viklyuchne abo XOR Rozshifruvannya Peretvorennya rozshifruvannya U l k K displaystyle U l k K opisuyetsya yak U l k K 1 h l K 0 n t 1 1 1 p l 1 t l 1 ps l 1 k K n 1 p l 1 t l 1 ps l 1 h l K t displaystyle U l k K 1 eta l K 0 bullet prod nu t 1 1 1 pi l bullet 1 tau l bullet 1 psi l bullet 1 kappa K nu bullet 1 pi l bullet 1 tau l bullet 1 psi l bullet 1 eta l K t Peretvorennya 1 p l displaystyle 1 pi l 1 t l displaystyle 1 tau l 1 ps l displaystyle 1 psi l 1 h l K n displaystyle 1 eta l K nu ye obernenimi peretvorennyami do peretvoren p l displaystyle pi l t l displaystyle tau l ps l displaystyle psi l h l K n displaystyle eta l K nu vidpovidno Rozgortannya klyuchiv Rozgortannya klyuchiv vidbuvayetsya u 2 etapi obchislennya z klyucha shifruvannya promizhnogo klyucha K s displaystyle K sigma obchislennya z promizhnogo klyucha raundovih klyuchiv Promizhnij klyuch maye toj zhe rozmir sho i blok danih 8 x c displaystyle c Obchislennya promizhnogo klyucha vikonuyetsya peretvorennyam 8 K ps l t l p l h l K a ps l t l p l h l K w ps l t l p l h l K a displaystyle Theta K psi l bullet tau l bullet pi l bullet eta l K alpha bullet psi l bullet tau l bullet pi l bullet eta l K omega bullet psi l bullet tau l bullet pi l bullet eta l K alpha Yaksho rozmir bloka i rozmir klyucha shifruvannya odnakovi to K K a K w displaystyle K K alpha K omega Yaksho zh rozmir klyucha shifruvannya vdvichi bilshij nizh rozmir bloka to K K a K w displaystyle K K alpha K omega Yak argument dlya peretvorennya 8 K displaystyle Theta K vikoristovuyetsya l bitne predstavlennya znachennya virazu l k 64 64 displaystyle l k 64 64 z poryadkom bitiv little endian Obchislennya raundovih klyuchiv z parnimi indeksami i 0 2 t displaystyle i in 0 2 t vikonuyetsya peretvorennyam 3 K K a i h ϕ i K s ps l p l k l K s ps l t l p l h ϕ i K s displaystyle Xi K K alpha i eta phi i K sigma bullet psi l bullet pi l bullet kappa l K sigma bullet psi l bullet tau l bullet pi l bullet eta phi i K sigma Peretvorennya h l ps l p l k l displaystyle eta l psi l pi l kappa l opisani vishe Peretvorennya ϕ i K s h l K s 0 x 00010001 0001 i 2 displaystyle phi i K sigma eta l K sigma 0x00010001 0001 ll i 2 Vhidnimi danimi dlya peretvorennya 8 K displaystyle Theta K ye znachennya K 32 i displaystyle K ggg 32 cdot i de K displaystyle K klyuch shifruvannya yaksho rozmir klyucha dorivnyuye rozmiru bloka Yaksho zh rozmir klyucha shifruvannya bilshij rozmiru bloku to vhidnimi danimi dlya peretvorennya 8 K displaystyle Theta K ye K a 16 i displaystyle K alpha ggg 16 cdot i dlya i 0 4 8 displaystyle i in 0 4 8 ta K w 64 i 4 displaystyle K omega ggg 64 cdot left lfloor frac i 4 right rfloor dlya i 2 6 10 displaystyle i in 2 6 10 Obchislennya raundovih klyuchiv z neparnimi indeksami i 1 3 displaystyle i in 1 3 vikonuyetsya za formuloyu K i K i 1 3 I 4 24 displaystyle K i K i 1 lll frac 3 cdot I 4 24 Principi proektuvannyaShifr sproektovano na osnovi SP merezhi Yak linijne peretvorennya vikoristana MDS matricya Yak nelinijni elementi vikoristani chotiri vipadkovi bloki pidstanovok Vikoristane pre ta post zabilyuvannya shlyahom skladannya z raundovimi klyuchami za modulem 2 64 displaystyle 2 64 VikoristannyaKalyna reference 11 chervnya 2018 u Wayback Machine kod referensnoyi realizacii na C cppcrypto 12 chervnya 2017 u Wayback Machine Biblioteka z vidkritim vihidnim kodom na C cryptonite 13 chervnya 2018 u Wayback Machine biblioteka kriptografichnih peretvoren vid PrivatBanku z vidkritim programnim kodom na C maye ekspertnij visnovok UA 14360570 00001 01 90 01 1 za rezultatami derzhavnoyi ekspertizi u galuzi KZI 3 serpnya 2020 u Wayback Machine KriptostijkistBulo viyavleno deyaki ataki na skorocheni varianti shifru ale voni ne ye praktichnimi PrimitkiDSTU 7624 2014 v Katalozi ND Ukrayini Arhiv originalu za 5 travnya 2019 Procitovano 5 travnya 2019 Gorbenko I D Tockij O S Kazmina S V 2007 Prikladna radioelektronika ukr AN PRE 6 2 S 195 208 Arhiv originalu za 6 travnya 2021 Procitovano 22 serpnya 2020 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite journal title Shablon Cite journal cite journal a pages maye zajvij tekst dovidka Arhiv originalu za 5 travnya 2019 Procitovano 5 travnya 2019 Oliynykov Roman Gorbenko Ivan Dolgov Viktor Ruzhentsev Victor 2010 Tatra Mountains Mathematical Publications angl Sciendo 47 1 99 113 doi 10 2478 v10127 010 0033 6 Arhiv originalu za 2 chervnya 2018 Procitovano 22 serpnya 2020 Arhiv originalu za 5 travnya 2019 Procitovano 5 travnya 2019 zakon rada gov ua ukr Ministerstvo cifrovoyi transformaciyi Ukrayini 30 veresnya 2020 Arhiv originalu za 2 chervnya 2021 Procitovano 4 sichnya 2021 Oliynykov Roman Gorbenko Ivan Kazymyrov Oleksandr Ruzhentsev Victor Kuznetsov Oleksandr Gorbenko Yurii Dyrda Oleksandr Dolgov Viktor Pushkaryov Andrii Mordvinov Ruslan Kaidalov Dmytro 2015 PDF IACR Cryptol angl ePrint Archive Arhiv originalu PDF za 16 lipnya 2017 Procitovano 28 bereznya 2017 Chang Akshima Chang Donghoon Ghosh Mohona Goel Aarushi Sanadhya Somitra Kumar 2015 PDF IACR Cryptol angl ePrint Archive Arhiv originalu PDF za 13 sichnya 2022 Procitovano 22 serpnya 2020 AlTawy Riham Abdelkhalek Riham Youssef Amr M 2016 IEICE Transactions on Information and Systems angl E99 D 4 1246 1250 doi 10 1587 transinf 2015EDL8174 Arhiv originalu PDF za 7 chervnya 2018 Procitovano 22 serpnya 2020 Lin Li Wu Wenling 2016 PDF IACR Cryptol angl ePrint Archive Arhiv originalu PDF za 20 sichnya 2022 Procitovano 22 serpnya 2020 Div takozhKupina gesh funkciya STRUMOK shifr Standarti kriptografiyi