Загрузка данных
Sub CreateCryptoPresentation()
Dim pptPres As Presentation
Dim pptSlide As Slide
Dim pptLayout As CustomLayout
Dim slideIndex As Integer
Dim sld As Slide
' Создаем новую презентацию
Set pptPres = Presentations.Add
' Настройка макета (2 = Заголовок и текст, 1 = Только заголовок, 12 = Пустой слайд)
' Мы будем использовать стандартные макеты. Если их нет, создадим вручную.
' --- СЛАЙД 1: Титульный ---
Set pptSlide = pptPres.Slides.Add(1, ppLayoutTitle)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Криптография"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "Наука о методах защиты информации с помощью шифрования"
' --- СЛАЙД 2: Основные понятия (Часть 1) ---
Set pptSlide = pptPres.Slides.Add(2, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Основные понятия"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Шифрование: Преобразование данных в нечитаемый вид" & vbCrLf & _
"• Дешифрование: Обратное преобразование" & vbCrLf & _
"• Ключ: Параметр, управляющий шифрованием" & vbCrLf & _
"• Шифр: Алгоритм шифрования" & vbCrLf & _
"• Открытый текст: Исходные данные" & vbCrLf & _
"• Шифртекст: Зашифрованные данные"
' --- СЛАЙД 3: Виды шифрования (Ключи) ---
Set pptSlide = pptPres.Slides.Add(3, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Виды шифрования по типу ключа"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Симметричное: Один ключ для шифрования и дешифрования" & vbCrLf & _
"• Асимметричное: Пара ключей (открытый + закрытый)" & vbCrLf & _
"• Хеширование: Без ключа (необратимое преобразование)"
' --- СЛАЙД 4: Исторические шифры (Часть 1) ---
Set pptSlide = pptPres.Slides.Add(4, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Исторические шифры"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Шифр Цезаря — сдвиг букв" & vbCrLf & _
"• Шифр Виженера — сдвиг по ключевому слову" & vbCrLf & _
"• Шифр Атбаш — зеркальная замена алфавита" & vbCrLf & _
"• Решётка Кардано — перестановка"
' --- СЛАЙД 5: Современные принципы ---
Set pptSlide = pptPres.Slides.Add(5, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Современные принципы"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Примеры алгоритмов: AES, DES, ГОСТ 28147-89, RSA, ECC, ГОСТ Р 34.10, SHA-256, MD5, ГОСТ Р 34.11" & vbCrLf & _
"• Принцип Керкгоффса: Стойкость шифра зависит только от ключа, а не от секретности алгоритма" & vbCrLf & _
"• Лавинный эффект: Малое изменение входа -> большое изменение выхода" & vbCrLf & _
"• Криптостойкость: Сложность взлома"
' --- СЛАЙД 6: Задание 1.1 (Определения) ---
Set pptSlide = pptPres.Slides.Add(6, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Задание 1.1. Дайте определения"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Криптография" & vbCrLf & _
"• Шифрование" & vbCrLf & _
"• Дешифрование" & vbCrLf & _
"• Ключ" & vbCrLf & _
"• Шифр" & vbCrLf & _
"• Открытый текст" & vbCrLf & _
"• Шифртекст" & vbCrLf & _
"• Криптостойкость" & vbCrLf & _
"• Хеш-функция" & vbCrLf & _
"• Электронная подпись"
' --- СЛАЙД 7: Задание 1.2 (Таблица видов) ---
Set pptSlide = pptPres.Slides.Add(7, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Задание 1.2. Виды шифрования (Таблица)"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "Заполните таблицу:" & vbCrLf & vbCrLf & _
"Вид | Ключи | Скорость | Безопасность" & vbCrLf & _
"Симметричное | ... | ... | ..." & vbCrLf & _
"Асимметричное | ... | ... | ..." & vbCrLf & _
"Хеширование | ... | ... | ..."
' --- СЛАЙД 8: Задание 1.3 (Исторические шифры - Таблица) ---
Set pptSlide = pptPres.Slides.Add(8, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Задание 1.3. Исторические шифры"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "Заполните таблицу:" & vbCrLf & vbCrLf & _
"Шифр | Принцип | Ключ | Стойкость | Примеры" & vbCrLf & _
"Цезаря | ... | ... | ... | ..." & vbCrLf & _
"Виженера | ... | ... | ... | ..." & vbCrLf & _
"Атбаш | ... | ... | ... | ..." & vbCrLf & _
"Решётка Кардано | ... | ... | ... | ..."
' --- СЛАЙД 9: Задание 1.4 (Вопросы) ---
Set pptSlide = pptPres.Slides.Add(9, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Задание 1.4. Ответьте на вопросы"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Чем шифрование отличается от кодирования?" & vbCrLf & _
"• Почему принцип Керкгоффса важен?" & vbCrLf & _
"• Что такое лавинный эффект?" & vbCrLf & _
"• Зачем нужна электронная подпись?"
' --- СЛАЙД 10: Задание 1.5 (Современные алгоритмы) ---
Set pptSlide = pptPres.Slides.Add(10, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Задание 1.5. Современные алгоритмы"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "Заполните таблицу:" & vbCrLf & vbCrLf & _
"Алгоритм | Тип | Длина ключа | Применение" & vbCrLf & _
"AES | ... | ... | ..." & vbCrLf & _
"RSA | ... | ... | ..." & vbCrLf & _
"SHA-256 | ... | ... | ..." & vbCrLf & _
"ГОСТ 28147-89 | ... | ... | ..." & vbCrLf & _
"ГОСТ Р 34.10 | ... | ... | ..."
' --- СЛАЙД 11: Дополнительный слайд (Резерв) ---
Set pptSlide = pptPres.Slides.Add(11, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Симметричное шифрование"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Использует один и тот же ключ для шифрования и расшифровки." & vbCrLf & _
"• Высокая скорость работы." & vbCrLf & _
"• Проблема распределения ключей." & vbCrLf & _
"• Примеры: AES, DES, ГОСТ 28147-89."
' --- СЛАЙД 12: Дополнительный слайд (Резерв) ---
Set pptSlide = pptPres.Slides.Add(12, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Асимметричное шифрование"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Использует пару ключей: открытый и закрытый." & vbCrLf & _
"• Открытый ключ для шифрования, закрытый для расшифровки." & vbCrLf & _
"• Решает проблему распределения ключей." & vbCrLf & _
"• Примеры: RSA, ECC, ГОСТ Р 34.10."
' --- СЛАЙД 13: Дополнительный слайд (Резерв) ---
Set pptSlide = pptPres.Slides.Add(13, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Хеширование"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Преобразование данных в строку фиксированной длины." & vbCrLf & _
"• Необратимость (нельзя восстановить исходные данные)." & vbCrLf & _
"• Используется для проверки целостности." & vbCrLf & _
"• Примеры: SHA-256, MD5, ГОСТ Р 34.11."
' --- СЛАЙД 14: Дополнительный слайд (Резерв) ---
Set pptSlide = pptPres.Slides.Add(14, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Электронная подпись"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Аналог собственноручной подписи." & vbCrLf & _
"• Обеспечивает аутентификацию и целостность." & vbCrLf & _
"• Использует асимметричные алгоритмы." & vbCrLf & _
"• Юридическая значимость."
' --- СЛАЙД 15: Дополнительный слайд (Резерв) ---
Set pptSlide = pptPres.Slides.Add(15, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Принцип Керкгоффса"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "• Стойкость шифра зависит только от ключа." & vbCrLf & _
"• Алгоритм может быть известен всем." & vbCrLf & _
"• Это стандарт современной криптографии." & vbCrLf & _
"• Позволяет проводить открытый аудит алгоритмов."
' --- СЛАЙД 16: Итоговый слайд ---
Set pptSlide = pptPres.Slides.Add(16, ppLayoutText)
pptSlide.Shapes(1).TextFrame.TextRange.Text = "Спасибо за внимание!"
pptSlide.Shapes(2).TextFrame.TextRange.Text = "Вопросы?" & vbCrLf & vbCrLf & _
"Криптография — основа безопасности в цифровом мире."
' Настройка шрифтов (опционально)
For Each sld In pptPres.Slides
sld.Shapes(1).TextFrame.TextRange.Font.Size = 36
sld.Shapes(1).TextFrame.TextRange.Font.Bold = True
If sld.Shapes.Count > 1 Then
sld.Shapes(2).TextFrame.TextRange.Font.Size = 20
End If
Next sld
MsgBox "Презентация успешно создана! (16 слайдов)", vbInformation
End Sub