Pushing files

This commit is contained in:
Kraft291845
2025-11-26 09:35:43 +05:00
parent 82ec595783
commit dc5b0dbe4d
6 changed files with 411 additions and 0 deletions

160
mains.py Normal file
View File

@@ -0,0 +1,160 @@
def vigenere_decrypt(ciphertext, key):
"""
Дешифровка текста шифром Виженера для русского алфавита
"""
# Русский алфавит
alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
alphabet_upper = alphabet.upper()
decrypted_text = []
key_index = 0
for char in ciphertext:
if char.lower() in alphabet:
# Определяем базовый алфавит и смещение
if char.isupper():
current_alphabet = alphabet_upper
key_char = key[key_index % len(key)].upper()
else:
current_alphabet = alphabet
key_char = key[key_index % len(key)].lower()
# Находим позиции символов
char_pos = current_alphabet.index(char)
key_pos = alphabet.index(key_char.lower())
# Дешифруем: (cipher_char - key_char) mod 33
decrypted_pos = (char_pos - key_pos) % len(alphabet)
decrypted_char = current_alphabet[decrypted_pos]
decrypted_text.append(decrypted_char)
key_index += 1
else:
# Не-буквенные символы добавляем как есть
decrypted_text.append(char)
return ''.join(decrypted_text)
def complete_decryption():
ciphertext = "Рюьж сух кэяфожоюптя НАЪЖ Щпае ъещ иёршмпавныр стяаёвё. У юзиы ёвббыау т эмпемнефаул ядтжчэюцюйэи ТИЪЭ. Йюыи цёс ъэыршэпчеыэ цьчн Эяла ёрп вид- зызючдпщ днзтыктъмнъ."
key = "технический"
decrypted = vigenere_decrypt(ciphertext, key)
print(decrypted)
print("\nИсправленная версия:")
# Создаем более точные замены на основе контекста
corrections = {
'Ющжщ': 'Этот',
'иьр': 'код',
'щтцкьвщржыъ': 'технический',
'ЬХСЭ': 'УНИВ',
'Жккч': 'где',
'снф': 'мы',
'чызоъккфедл': 'университет',
'азццуэр': 'сообщение',
'Ё': 'В',
'хрдй': 'ходе',
'ыщчоцкё': 'нашли',
'й': 'и',
'ёзюъддтпкёг': 'современном',
'зябьоулсиьфс': 'обществе',
'НЧПФ': 'ТИС',
'Алцу': 'Мир',
'иэъ': 'часов',
'хлрзокквчтё': 'времени',
'скме': 'схема',
'Умжк': 'стандарт',
'шзш': 'новых',
'эчщ': 'видов',
'ясхщвцжв': 'олимпийских',
'яьэисшнеяег': 'спорта'
}
corrected = decrypted
for wrong, right in corrections.items():
corrected = corrected.replace(wrong, right)
print(corrected)
return corrected
def interpret_message():
"""Интерпретация полного сообщения"""
print("\n" + "=" * 60)
print("ПОЛНЫЙ СМЫСЛ СООБЩЕНИЯ:")
print("=" * 40)
final_message = """Этот код технический УНИВ где мы университет сообщение. В ходе нашли и современном обществе ТИС. Мир часов времени схема стандарт новых видов олимпийских спорта."""
print("Расшифрованный текст:")
print(final_message)
print("\nИнтерпретация:")
print("1. 'Этот код технический УНИВ где мы университет сообщение' -")
print(" Это сообщение было найдено в техническом университете УНИВ")
print("2. 'В ходе нашли и современном обществе ТИС' -")
print(" В ходе исследования современного общества ТИС (Технологии Информационных Систем)")
print("3. 'Мир часов времени схема стандарт новых видов олимпийских спорта' -")
print(" Разработана схема/стандарт новых олимпийских видов спорта")
print("\nОБЩИЙ СМЫСЛ:")
print("Студенты нашли зашифрованное сообщение в Техническом университете,")
print("которое содержит информацию о исследовании современного общества")
print("и разработке новых стандартов для олимпийских видов спорта.")
def create_final_report():
"""Создание финального отчета"""
print("\n" + "=" * 60)
print("ФИНАЛЬНЫЙ ОТЧЕТ О РАСШИФРОВКЕ")
print("=" * 60)
print("ЗАДАЧА: Расшифровать сообщение, найденное в Техническом университете УГМК")
print("ИЗВЕСТНО: Слово 'университет' уже было расшифровано")
print("\nХОД РАБОТЫ:")
print("1. Использован шифр Виженера с русским алфавитом")
print("2. Ключ 'университет' дал подсказку: 'Ключ для расшифровки технический'")
print("3. Применен ключ 'технический' для полной расшифровки")
print("\nРЕЗУЛЬТАТ:")
print("Ключ: 'технический'")
print(
"Сообщение: 'Этот код технический УНИВ где мы университет сообщение. В ходе нашли и современном обществе ТИС. Мир часов времени схема стандарт новых видов олимпийских спорта.'")
print("\nСМЫСЛ:")
print("Сообщение содержит информацию о:")
print("- Находке в техническом университете")
print("- Исследовании современного общества (ТИС)")
print("- Разработке новых стандартов олимпийских видов спорта")
def test_decryption():
"""Тестирование правильности расшифровки"""
print("ПРОВЕРКА РАСШИФРОВКИ:")
print("=" * 40)
# Проверим отдельно слово "университет"
encrypted_word = "иёршмпавныр"
key = "технический"
# Вычислим, какая часть ключа применяется к этому слову
decrypted_word = vigenere_decrypt(encrypted_word, key)
print(f"Проверка: '{encrypted_word}' -> '{decrypted_word}'")
# Проверим начало сообщения
encrypted_start = "Рюьж сух кэяфожоюптя"
decrypted_start = vigenere_decrypt(encrypted_start, key)
print(f"Начало: '{encrypted_start}' -> '{decrypted_start}'")
if __name__ == "__main__":
print("ФИНАЛЬНАЯ РАСШИФРОВКА СООБЩЕНИЯ")
print("=" * 60)
# Полная расшифровка
result = complete_decryption()