Перейти к содержимому

Обзор Java 21 KEM API | Инкапсуляция ключей с демонстрацией AES

LearningFromExperience

0:00 / 0:00

Обзор Java 21 KEM API | Инкапсуляция ключей с демонстрацией AES

57 просмотров · 2 месяца назад
LearningFromExperience
4,24 тыс. подписчиков
57 просмотров · 2 месяца назад
Как современные приложения безопасно устанавливают ключ шифрования AES без прямой передачи этого ключа? В Java 21 представлен API механизма инкапсуляции ключей (KEM) в рамках JEP 452. В этом продвинутом уроке по криптографии на Java мы рассмотрим концепции с нуля, а затем реализуем полный рабочий процесс шифрования KEM + AES. Вы сначала поймете симметричное шифрование, асимметричное шифрование и гибридную модель шифрования, используемую в современных защищенных системах. Затем мы сравним традиционную передачу ключей RSA с KEM и рассмотрим, почему инкапсуляция ключей обеспечивает более чистую основу для современной и постквантовой криптографии. Что вы узнаете: • Что такое шифрование и какие проблемы оно решает • Симметричное шифрование и общие секретные ключи • Асимметричное шифрование с использованием открытого и закрытого ключей • Почему реальные системы сочетают асимметричное и симметричное шифрование • Как работает гибридная модель шифрования • Что такое механизм инкапсуляции ключей (KEM) • Передача ключа RSA против KEM • Почему KEM передает инкапсулированный материал, а не секретный ключ • API Java 21 javax.crypto.KEM • KEM, KEM.Encapsulator и KEM.Decapsulator • Как отправитель инкапсулирует ключ AES • Как получатель декапсулирует тот же ключ AES • Как AES шифрует и дешифрует данные приложения • Почему KEM важен для постквантовой миграции Практическая демонстрация реализует полный рабочий процесс: 1. Генерация пары открытого и закрытого ключей получателя 2. Создание инкапсулятора KEM с использованием открытого ключа 3. Генерация общего секрета и инкапсуляции сообщение 4. Получение ключа AES из общего секрета 5. Шифрование данных приложения с использованием AES 6. Отправка зашифрованного текста, вектора инициализации и сообщения инкапсуляции 7. Создание декапсулятора KEM с использованием закрытого ключа 8. Восстановление того же общего секрета 9. Воссоздание ключа AES 10. Расшифровка и проверка исходных данных ⏱️ Разделы: 00:00 Введение — Что такое KEM и почему он был добавлен в Java 21 01:15 Основы криптографии: шифрование, открытый текст, ключ, шифр 03:30 Симметричное шифрование (AES) — преимущества и проблема распределения ключей 06:00 Асимметричное шифрование (RSA) — решает проблему распределения, но слишком медленное 08:30 Гибридная модель шифрования — как на самом деле работают TLS/HTTPS 10:45 Передача ключа RSA — 5-шаговый процесс и три возникающие проблемы 14:20 KEM (механизм инкапсуляции ключа) — современный 4-шаговый процесс решение 18:00 Сравнительный анализ RSA и KEM 20:30 API KEM в Java 21 — три основных класса (KEM, инкапсулятор, декапсулятор) 22:15 Сквозной поток KEM + AES-GCM 27:00 Практическая демонстрация кода: инкапсуляция и декапсуляция KEM 33:00 Практическая демонстрация кода: шифрование AES-GCM с общим секретом 37:00 Сравнение кода RSA и KEM — одно и то же сообщение, разные подходы 43:00 Будете ли вы использовать KEM напрямую? (Когда и почему) 44:15 Постквантовое будущее: гибкость алгоритма ML-KEM 45:30 Резюме и рекомендации по курсам 47:00 Заключение 🎓 Углубленный анализ возможностей Java 21: виртуальные потоки и Spring Boot https://www.udemy.com/course/java-21-... 💻 Исходный код https://github.com/j2eeexpert2015/jav... 📚 Посмотреть все курсы https://j2eeexpert2015.github.io/lear... #Java21 #JavaSecurity #Cryptography #KEM #JavaProgramming #JavaTutorial