15 10-22 altoros-fact_sheet_st_v4
TRANSCRIPT
![Page 1: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/1.jpg)
Altoros Expertise:Шифрование:
шаблоны выбораили как защитить конфиденциальные данные
http://belarusjug.org/
@javaBY
Шалев Евгений
для Belarus Java User Group
![Page 3: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/3.jpg)
@altoros
И ещё чуть-чуть терминов
3@javaBY@javaBY
Теоретическая (абсолютная) криптостойкость:невозможность дешифрования (ну совсем никак)
Практическая (достаточная) криптостойкость:невозможность дешифрования (с текущим
развитием техники и технологий)
![Page 4: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/4.jpg)
@altoros
Немного цифр
4@javaBY@javaBY
64 бита: 18446744073709551616 возможных
ключей
128 бит:
34028236692093846346337460743176821145
6 возможных ключей
256 бит:
11579208923731619542357098500868790785
32699846656405640394575840079131296399
36 возможных ключей
![Page 5: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/5.jpg)
@altoros
И ещё немного цифр
5@javaBY@javaBY
Процессор Intel Xeon E5-2697 v3
Количество ядер: 14
Тактовая частота: 2.6 ГГц
Максимальная Turbo-частота: 3.6 ГГц
Операций в секунду: 14 x 3.6 x 109 = 2 36
Сколько времени понадобится для перебора (брутфорс) 56 битного ключа с
помощью процессора Intel Xeon?
2 56 / 2 36 = 2 20 (секунд) = 12 (суток)
Сколько времени понадобится для перебора (брутфорс) 128 битного ключа с
помощью процессора Intel Xeon?
2 128-36 = 2 92 (секунд) = 1,57 x 1020 (лет) = 156 911 810 693 510 314 460 (лет)
![Page 6: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/6.jpg)
@altoros
Задача 1. Постановка задачи
7@javaBY@javaBY
Зашифровать документ, сохранить на диск и расшифровать его, используя
секретный ключ.
![Page 7: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/7.jpg)
@altoros
Задача 1. Пути решения
8@javaBY@javaBY
Зашифровать документ, сохранить на диск и расшифровать его, используя
секретный ключ.
Решение 1. Разработка нового алгоритма
1) выполним смещение символа (байта, бита и т.д.) вправо, влево на N позиций,
2) используем таблицу перестановок,
3) запишем всё в матрицу горизонтальными строками, а прочитаем вертикальными,
4) возьмём новый текст в качестве ключа и сложим посимвольно 2 текста.
![Page 8: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/8.jpg)
@altoros
Задача 1. Пути решения
9@javaBY@javaBY
Решение 1. Достоинства
Безопасность за счёт неизвестности.
![Page 9: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/9.jpg)
@altoros
Задача 1. Пути решения
10@javaBY@javaBY
Решение 1. Возможные недостатки
Алгоритм может оказаться неуникальным (и уже давно изученным),
шифртекст проходит неуспешно статистические тесты,
не защищён от полного перебора,
существуют слабые ключи,
неисследованный линейный, дифференциальный и другие виды криптоанализа,
неисследованный лавинный критерий,
и т.д.
![Page 10: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/10.jpg)
@altoros
Задача 1. Пути решения
11@javaBY@javaBY
Решение 1. Возможные недостатки
Если внимательнее присмотреться к
1) выполним смещение символа (байта, бита и т.д.) вправо, влево на N позиций,
2) используем таблицу перестановок,
3) запишем всё в матрицу горизонтальными строками, а прочитаем
вертикальными,
4) возьмём новый текст в качестве ключа и сложим посимвольно 2 текста.
![Page 11: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/11.jpg)
@altoros
Задача 1. Пути решения
12@javaBY@javaBY
Решение 1. Возможные недостатки
Если внимательнее присмотреться к
1) выполним смещение символа (байта, бита и т.д.) вправо, влево на N позиций,
2) используем таблицу перестановок,
3) запишем всё в матрицу горизонтальными строками, а прочитаем вертикальными,
4) возьмём новый текст в качестве ключа и сложим посимвольно 2 текста.
то можно заметить
1) шифр Цезаря,
2) шифр с использованием полибианского квадрата,
3) шифр перестановок с шифрующими таблицами.
![Page 12: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/12.jpg)
@altoros
Задача 1. Пути решения
13@javaBY@javaBY
Решение 1. Возможные недостатки
1) шифр Цезаря (VENI VIDI VICI -> YHQL YLGL YLFL),
2) шифр с использованием полибианского квадрата,
3) шифр перестановок с шифрующими таблицами.
![Page 13: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/13.jpg)
@altoros
Задача 1. Пути решения
14@javaBY@javaBY
Решение 1. И снова немного цифр
Вероятность появления некоторых букв в русскоязычном тексте:
о — 9.2%
а — 8.7%
е — 8.1%
и — 7.5%
н — 6.4%
т — 6.3%
р — 5.5%
![Page 14: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/14.jpg)
@altoros
Задача 1. Пути решения
15@javaBY@javaBY
Решение 1. Можно ли применять рассмотренные алгоритмы на практике?
![Page 15: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/15.jpg)
@altoros
Задача 1. Пути решения
16@javaBY@javaBY
Решение 1. Можно ли применять рассмотренные алгоритмы на практике?
1) Мощность вычислительных ресурсов злоумышленника
не позволяет дешифровать шифртекст за адекватное
время,
![Page 16: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/16.jpg)
@altoros
Задача 1. Пути решения
17@javaBY@javaBY
Решение 1. Можно ли применять рассмотренные алгоритмы на практике?
1) Мощность вычислительных ресурсов злоумышленника
не позволяет дешифровать шифртекст за адекватное
время,
2) низкий уровень граммотности злоумышленника,
3) сщствт йзквй брьр.
![Page 17: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/17.jpg)
@altoros
Задача 1. Пути решения
18@javaBY@javaBY
Решение 1.
А вот посимвольное сложение 2 текстов может оказаться
самым надёжным вариантом (самым-самым).
![Page 18: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/18.jpg)
@altoros
Задача 1. Пути решения
19@javaBY@javaBY
Решение 1.
А вот посимвольное сложение 2 текстов может оказаться
самым надёжным вариантом (самым-самым).
Требования к ключу:
1) случайное равномерное распределение,
2) совпадает по размеру с заданным текстом (или больше),
3) применяется только 1 раз.
![Page 19: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/19.jpg)
@altoros
Задача 1. Пути решения
20@javaBY@javaBY
Решение 1.
А вот посимвольное сложение 2 текстов может оказаться
самым надёжным вариантом (самым-самым).
Требования к ключу:
1) случайное равномерное распределение,
2) совпадает по размеру с заданным текстом (или больше),
3) применяется только 1 раз.
Был придуман в 1917 году Г. Вернамом и называется шифр
Вернама!
Является единственным алгоритмом симметричного
шифрования, для которого доказана абсолютная
криптографическая стойкость.
![Page 20: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/20.jpg)
@altoros
Задача 1. Пути решения
21@javaBY@javaBY
Решение 2. Структурируем знания
![Page 21: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/21.jpg)
@altoros
Задача 1. Пути решения
22@javaBY@javaBY
Решение 2. Структурируем знания
Симметричные алгоритмы шифрования (один ключ для
зашифрования и расшифрования)
- блочные,
- поточные,
асимметричные алгоритмы шифрования (один ключ используется
для зашифрования, второй - для расшифрования).
![Page 22: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/22.jpg)
@altoros
Задача 1. Пути решения
23@javaBY@javaBY
Решение 2. Структурируем знания
Петля Фейстеля
![Page 23: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/23.jpg)
@altoros
Задача 1. Пути решения
24@javaBY@javaBY
Решение 2. Структурируем знания
Примеры алгоритмов:
DES (2DES, 3DES),
Blowfish,
IDEA,
Lucifer,
ГОСТ 28147-89,
RC5,
RC6,
MARS,
Twofish,
CAST-128/256,
и много-много других.
![Page 24: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/24.jpg)
@altoros
Задача 1. Пути решения
25@javaBY@javaBY
Решение 2. Структурируем знания
AES - Advanced Encryption Standard
![Page 25: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/25.jpg)
@altoros
Задача 1. Пути решения
26@javaBY@javaBY
Решение 2. Структурируем знания
AES - Advanced Encryption Standard
1. Алгоритм шифрования!
2. Ещё так назывался конкурс по выбору надёжного алгоритма
шифрования, который станет стандартом симметричного
блочного шифрования. Конкурс был организован научно-
исследовательским институтом NIST. В Европе аналогичный
конкурс назывался NESSIE.
![Page 26: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/26.jpg)
@altoros
Задача 1. Пути решения
27@javaBY@javaBY
Решение 2. Структурируем знания. Конкурс AES
Требования к конкурсантам:
● размер блока шифруемых данных: 128 бит,
● поддерживаемые размеры ключа: 128, 192, 256 бит,
● стойкость против современных криптографических атак,
● простая, обоснованная структура алгоритма,
● отсутствие слабых и эквивалентных ключей,
● скорость шифрования на аппаратных платформах должна быть
высокой (8-64 битные),
● поддержка распараллеливания операций в многопроцессорных
системах и аппаратных реализациях,
● минимальные требования к оперативной и энергонезависимой
памяти.
![Page 27: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/27.jpg)
@altoros
Задача 1. Пути решения
28@javaBY@javaBY
Решение 2. Структурируем знания. Конкурс AES
На конкурс было представлено 15 алгоритмов.
Финалисты конкурса:
- Rijndael (AES),
- MARS,
- Twofish,
- Serpent,
- RC6.
![Page 28: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/28.jpg)
@altoros
Задача 1. Пути решения
29@javaBY@javaBY
Решение 2. Зашифрование с использованием Java
![Page 29: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/29.jpg)
@altoros
Задача 1. Пути решения
30@javaBY@javaBY
Решение 2. AES: режимы работы - ЕСВ
![Page 30: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/30.jpg)
@altoros
Задача 1. Пути решения
31@javaBY@javaBY
Решение 2. AES: режимы работы - СВС
![Page 31: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/31.jpg)
@altoros
Задача 1. Пути решения
32@javaBY@javaBY
Решение 2. AES: режимы работы. Выбор
Что нужно знать при выборе режима работы?
1. Возможно ли появление ошибки в шифртексте.
2. Какие данные шифруем.
3. Нужно ли распараллеливать процесс зашифрования\расшифрования.
4. Нужно ли добавлять шифртекст динамически.
5. Будет ли применим алгоритм к тексту с произвольным доступом.
и т.д.
![Page 32: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/32.jpg)
@altoros
Задача 2. Постановка задачи
33@javaBY@javaBY
Реализовать в разрабатываемой системе хранение
идентификационных данных (например, паролей).
![Page 33: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/33.jpg)
@altoros
Задача 2. Пути решения
34@javaBY@javaBY
Вариант 1: Сохраняем логин и пароль в открытом виде (а
ещё и высылаем на почту, SMS, и в разведку:))
Вариант 2: Шифруем всё с помощью ключа, который также
сохраняется в БД.
Вариант 3: Хешируем пароль и сохраняем в БД.
Вариант 4: Хешируем пароль с солью и сохраняем в БД.
![Page 34: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/34.jpg)
@altoros
Задача 2. Пути решения
35@javaBY@javaBY
Что же такое хеширование?
![Page 35: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/35.jpg)
@altoros
Задача 2. Пути решения
36@javaBY@javaBY
Что же такое хеширование?
![Page 36: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/36.jpg)
@altoros
Задача 2. Пути решения
37@javaBY@javaBY
Почему 3й вариант не так хорош?
![Page 37: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/37.jpg)
@altoros
Задача 2. Пути решения
38@javaBY@javaBY
Почему 3й вариант не так хорош?
Вариант 3: Хешируем пароль и
сохраняем в БД.
http://cmd5.ru/
http://www.hashkiller.co.uk/
http://www.md5crack.com/
https://crackstation.net/
![Page 38: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/38.jpg)
@altoros
Задача 2. Пути решения
39@javaBY@javaBY
Что такое соль и как она связана с хешем?
Соль - случайно сгенерированная последовательность.
Внедряется в хешируемую последовательность на любом
этапе получения хеша.
Сохраняется в БД.
![Page 39: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/39.jpg)
@altoros
Задача 3. Постановка задачи
40@javaBY@javaBY
Передать зашифрованное сообщение между 2
пользователями, сохранив конфиденциальные данные в
секрете
![Page 40: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/40.jpg)
@altoros
Задача 3. Пути решения
41@javaBY@javaBY
Решение 1. Алгоритм Диффи-Хеллмана.
Алиса Боб
A, g, p
А = g a mod p ----->
B
<----- B = g b mod p
K = B a mod p = g ab mod p K = A b mod p = g ab
mod p
![Page 41: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/41.jpg)
@altoros
Задача 3. Пути решения
42@javaBY@javaBY
Решение 1. Алгоритм Диффи-Хеллмана. Пример
Алиса Боб
2, 3, 7
А = 3 2 mod 7 = 2 ----->
5
<----- 5 = 3 5 mod 7 = 5
K = 5 2 mod 7 = 3 2*5 mod 7 = 4 K = 2 5 mod 7 = 3 2*5 mod 7 = 4
![Page 42: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/42.jpg)
@altoros
Задача 3. Пути решения
43@javaBY@javaBY
Решение 2. Асимметричный алгоритм шифрования.
Взять открытый ключ (e, n)
Взять открытый текст m
Зашифровать сообщение с использованием открытого ключа: c = E(m) =
me mod n
Принять зашифрованное сообщение c,
Взять свой закрытый ключ (d, n)
Применить закрытый ключ для расшифрования сообщения:
m = D(c) = c d mod n
![Page 43: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/43.jpg)
@altoros
Задача 3. Пути решения
44@javaBY@javaBY
Примеры алгоритмов асимметричного шифрования.
RSA
DSA
Elgamal
ECDSA
![Page 44: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/44.jpg)
@altoros
Задача 3. Пути решения
45@javaBY@javaBY
И снова немного цифр
минимально допустимая длина ключа - 1024 бита,
рекомендуемая длина ключа - 2048 бит.
Почему?
Потому что вычисление ключей асимметричного шифрования строится на основе простых
чисел.
![Page 45: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/45.jpg)
@altoros
Задача 3. Пути решения
46@javaBY@javaBY
javax.crypto.IllegalBlockSizeException: Data must not be longer than 117
bytes
![Page 46: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/46.jpg)
@altoros
Задача 3. Пути решения
47@javaBY@javaBY
Тогда логично использовать симметричное шифрование
для шифрования текстов, а асимметричное - для
шифрования передаваемых ключей?
![Page 47: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/47.jpg)
@altoros
Задача 3. Пути решения
48@javaBY@javaBY
Так и работают протоколы защищённого обмена данными:
TLS, SSH.
В спецификации указано много алгоритмов.
1. Алгоритмы асимметричного шифрования.
2. Алгоритмы симметричного шифрования.
3. Алгоритмы хеширования.
![Page 48: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/48.jpg)
@altoros
Задача 4. Постановка задачи
49@javaBY@javaBY
Ну и напоследок :) Новая задача! Есть шифртекст, который
возможно расшифровать с помощью любых 2 участников
из пяти.
![Page 49: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/49.jpg)
@altoros
Задача 4. Пути решения
50@javaBY@javaBY
Схемы разделения секрета!
Например, Схема Шамира.
y = 5x2 + 23x -9
![Page 50: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/50.jpg)
@altoros
Задача 4. Пути решения
51@javaBY@javaBY
Достоинства схем разделения секрета:
1. абсолютная криптостойкость,
2. масштабируемость,
3. гибкость и др.
Недостатки схем разделения секрета:
1. увеличение объёма данных, кратное количеству
участников,
2. не так много готовых библиотек,
3. необходима чёткая политика безопасности для
участников,
4. нет способа проверить корректность своего ключа и др.
![Page 51: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/51.jpg)
@altoros
Ну и напоследок
52@javaBY@javaBY
На собственном горбу и на чужом
я вынянчил понятие простое:
бессмысленно идти на танк с ножом,
но если очень хочется, то стоит.
И. М. Губерман
![Page 52: 15 10-22 altoros-fact_sheet_st_v4](https://reader033.vdocuments.mx/reader033/viewer/2022050613/58edcd161a28abfc228b456b/html5/thumbnails/52.jpg)
@altoros
Если всё-таки необходимо создавать новый алгоритм
шифрования, то необходимо
53@javaBY@javaBY
- ещё раз поискать разрабатываемый алгоритм - может он
давно существует,
- выполнить линейный, диффиренциальный, лавинный
анализ алгоритма, найти уязвимые места,
- выполнить анализ расширения ключа,
- выполнить анализ шифртекстов с помощью
статистических тестов,
- выполнить анализ шифртекстов с использованием слабых
ключей,
- выполнить анализ шифрования на различных аппаратных
платформах,
...