Шифровальная машина «Энигма» в Excel



    Изучавшие историю криптографии наверняка знают о немецкой шифровальной машине «Энигма», которую нацисты использовали во время Второй мировой войны для шифрования и дешифрования секретных сообщений. Портативный вариант «Энигмы» получил широкое распространение: было выпущено около 100 000 таких устройств.

    «Энигма» работала путём постоянного изменения электрической цепи за счёт вращения внутренних роторов, через которые шёл ток. При каждом нажатии буквы на клавиатуре машина выдавала букву шифра, а роторы становились в новую позицию. Таким образом работал полиалфавитный шифр подстановки. Простой версией полиалфавитного шифра является шифр Виженера. Это довольно продвинутый для своего времени — не зная ключевого слова, его было очень трудно сломать (см. криптоанализ «Энигмы»).

    Конечно, разобраться в работе «Энигмы» можно, изучив упрощённую электрическую схему. Но сейчас появился ещё одно наглядное пособие, к тому же интерактивное — таблица Excel, которая эмулирует работу роторов «Энигмы» и изменение электрической цепи при каждом нажатии клавиши.

    Enigma3.xlsm

    Автор этого документа не программист, начинающий пользователь Excel, так что к нему нужно отнестись со снисхождением.

    Метки:
    Поделиться публикацией
    Комментарии 24
    • +1
      Бесподобно!
      Честно говоря, не знал, что в табличном редакторе можно вытворять такие штуки
      • +9
        Значит вы ещё не видели диспетчер задач в Excel'е. Последняя версия здесь. Он нужен, если по каким-то причинам не запускается стандартный.
        • 0
          tasklist
          • НЛО прилетело и опубликовало эту надпись здесь
            • +1
              Это естественно, для винды написано же и использует Win API.
          • 0
            В Экселе есть язык программирования — Visual Basic for Application (VBA), так же как в «Ворде», кстати.
            • 0
              И если он не запрещён в настройках, из него можно сделать практически всё, что душе угодно. Кто когда-либо программировал на классическом VisualBasic (VB5, VB6), кто вызывал из него WinAPI-функции и использовал в нём самописные (на VisualC++ 6) ActiveX-компоненты — тот поймёт, что границ там почти нет, можно хоть чёрта лысого написать, а тут ещё и функционал Excel к вашим услугам… А вообще по-моему как минимум в Ворде лучше бы его не было (или было, но отделено от конкретного документа), ато мало того, что информация и представление замешаны в одну дико закрученную кашу, так ещё и исполняемый код туда пихать…
            • –2
              Честно говоря, не знал, что ализар пишет очень интересные статьи. У меня в свое время даже стоял плагин, выделяющий его статьи желтым.
            • +1
              Интересно. Но, на мой взгляд, для лучшего понимания работы Энигмы лучше посмотреть интерактив в cryptool.
              • +1
                Прекрасно! Теперь ждем, когда кто-нибудь реализует на экселе Colossus для взлома шифров Энигмы.
                • +2
                  Меня смущает вот это абзац в оригинальном посте:
                  Now the Internet is awash with Engima machines in Flash applets and such; none seem to agree with any other, and this spreadsheet is no exception to that. So it would be most unlikely this is a truly accurate representation of the real machine.

                  То есть непонятно, действительно ли эта табличка имеет что-то общее с Энигмой, кроме чисто внешнего сходства. Интересно, есть на Хабре специалисты по криптографии времён Второй Мировой, которые могли бы это выяснить?
                  • 0
                    Энигма — это (если я правильно помню) скользящая «гамма». У гаммы очень простой алгоритм, это всем известный XOR, где сравнивается буква текста с буквой ключа и получается третья буква, которая идет в код. Расшифровывается наоборот — XOR буквы кода с буквой ключа. Криптостойкость гаммы определяется длиной и степенью хаотичности ключа. При коротком ключе и длинном сообщении начинаются повторное использование ключа — гамма ломается чуть ли не вручную.
                    Идея Энигмы (опять же, насколько я помню) в генерации следующей буквы ключа по некоему длиннющему алгоритму задаваемому положением дисков и стартовыми коммутациями машины. При этом ключ выходит заведомо более длинный чем сообщение, повторений не случается и гамма в некоторой степени хаотична.
                    На приемной стороне — достаточно выставить такие же стартовые настройки и вбить текст кода, чтобы получить расшифровку.
                    Не вижу причин, почему бы не реализовать XOR на Exel-e, программа мне понравилась.
                    В настоящее время код Энигмы ломается брутфорсом без всякой математики. Компы рулят.
                    • 0
                      На тему трёхдисковой и четырёхдисковой Энигмы и для развлечения в который раз рекомендую «Криптономикон» Нила Стивенсона.
                      • 0
                        Подтверждаю, отличная книга
                  • +3
                    Ни хрена себе, начинающий пользователь Excel
                    • +3
                      Для меня Excel — одна из самых страшных программ на ряду с 1С)))
                      • +3
                        Excel — гениальное средство автоматизации. К сожалению, большинство пользователей даже не подозревают о богатстве его возможностей. Например математики, занимающиеся финансовым анализом кредитных историй часто делают статистические расчеты прямо в экселе. Зная это, Microsoft выпустила специальный excel services — сервер параллельных вычислений для Excel на базе MS HPC.
                        Сервер автоматизации OLE (COM), среда программирования, огромное количество возможностей интеграции и построения отчетов и Pivot table. В общем эту штуку нужно не бояться, а изучать по мере необходимости и использовать. Excel достойный наследник идеи Lotus 1-2-3.
                        • 0
                          Может кто знает, где в Москве могут научить «продвинутому» екселю?
                          • +1
                            Посоветовать не могу, учился по книжкам. Ну и программерские навыки не помешают.
                            • 0
                              Смотрите видео вот на этом канале и будет вам счастье ;).
                            • НЛО прилетело и опубликовало эту надпись здесь
                              • 0
                                Supercalc 4 я даже видел :)
                        • –2
                          man exel )))) Интересно какую производительность выдает google docs. Вычислительную.
                          • 0
                            Нихреново для начинающего пользователя Excel!

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.