Сигнатура — понятие в математике и информатике¶
Сигнатура (от лат. signatura — «подпись, знак») — многозначный термин, используемый в математике, информатике, криптографии, лингвистике и ряде других областей. В общем смысле сигнатурой называют набор характеристик, идентифицирующих объект, структуру или процесс, либо формальную запись, служащую «подписью» данных. В зависимости от контекста под сигнатурой понимают типизированную сигнатуру функции, цифровую подпись, сигнатуру файла, сигнатуру класса в объектно-ориентированном программировании или сигнатуру языка в теории формальных систем.
¶Сигнатура в математике
¶Сигнатура функции
В математическом анализе и теории функций сигнатурой называют множество значений, которые принимает функция на заданном множестве. Формально, если $f: X \to Y$, то сигнатура $f(X) = \{f(x) \mid x \in X\}$ — это образ множества $X$ при отображении $f$. Термин особенно распространён в теории функций действительного переменного, где сигнатура отображения $f: \mathbb{R} \to \mathbb{R}$ — это множество всех значений, которые принимает функция.
Понятие сигнатуры используется при классификации функций: например, сигнатура квадратичной функции $f(x) = ax^2 + bx + c$ при $a > 0$ — это отрезок $[y_{\min}, +\infty)$, где $y_{\min}$ — минимум функции.
¶Сигнатура алгебраической структуры
В универсальной алгебре и теории моделей сигнатура — это набор символов, описывающих функции, отношения и константы, определённые в данной алгебраической структуре. Сигнатура включает имя каждого символа и его арность (число аргументов). Например, сигнатура кольца включает два бинарных сложения и умножения, единичный элемент и, возможно, аддитивный нуль. Алгебраические структуры, имеющие одну и ту же сигнатуру, образуют класс, для которого определяются понятия гомоморфизма, подструктуры и свободной алгебры.
¶Сигнатура в теории категорий
В теории категорий сигнатурой называют набор объектов и морфизмов, задающий «язык», на котором описывается категория. Сигнатура лежит в основе понятия алгебраической теории: теория определяется как сигнатура вместе с набором аксиом.
¶Сигнатура в информатике
¶Сигнатура функции в программировании
В теории типов и в языках программирования сигнатурой функции называют её типизированную запись: имя функции, типы аргументов и тип возвращаемого значения. Например, сигнатура функции сложения двух целых чисел в нотации ML-подобных языков — int -> int -> int. Понятие сигнатуры функции лежит в основе перегрузки (overloading), когда несколько функций с одним именем различаются сигнатурами, и подстановки полиморфных функций.
¶Сигнатура класса в объектно-ориентированном программировании
В объектно-ориентированном программировании сигнатурой метода или класса называют набор имён и типов его публичных элементов — методов, свойств, полей. Сигнатура класса формально описывает его интерфейс. В Java, например, сигнатура метода включает имя метода и типы всех его параметров (но не тип возвращаемого значения), и именно сигнатура определяет, переопределён ли метод в подклассе.
¶Сигнатура файла
В информационной безопасности и антивирусных технологиях сигнатурой файла называют характерный набор байтов (обычно последовательность из 16–64 байт), уникально или почти уникально идентифицирующий конкретную программу, вирус или фрагмент данных. Антивирусные программы сравнивают проверяемые файлы с базой сигнатур и помечают совпадения как угрозы. Этот метод называется сигнатурным анализом; его достоинство — высокая точность при обнаружении уже известных угроз, а недостаток — неспособность обнаруживать новые, ранее не описанные вредоносные программы.
¶Сигнатура сетевого трафика
В сетевой безопасности сигнатурой трафика называют шаблон (паттерн), по которому распознаётся конкретный тип сетевой атаки или вредоносного протокола. Системы обнаружения вторжений (IDS/IPS) используют библиотеки сигнатур трафика, например открытую базу правил Snort.
¶Сигнатура в криптографии
В криптографии сигнатурой называют цифровую подпись — механизм аутентификации, обеспечивающий проверку подлинности и целостности сообщения. Цифровая подпись формируется с помощью закрытого ключа отправителя и проверяется с помощью открытого ключа. Основанные на ней алгоритмы включают RSA, DSA и ECDSA. Сигнатура гарантирует свойства аутентификации, неизменяемости и неотрицаемости: отправитель не может отрицать авторство подписанного сообщения. В России цифровая подпись регулируется федеральным законом «Об электронной подписи» (№ 63-ФЗ, 2011), который различует простую, усиленную неквалифицированную и усиленную квалифицированную электронные подписи.
¶Сигнатура в лингвистике и семиотике
В лингвистике и семиотике сигнатурой называют набор отличительных признаков, по которым единица языка (фонема, морфема, знак) различается от других единиц. Понятие восходит к работам Фердинанда де Сосюра и развивалось в структурной лингвистике: знак описывается через сигнатуру — совокупность дифференциальных характеристик, задающих его место в системе языка.
¶Сигнатура в криминалистике
В криминалистике сигнатурой называют совокупность устойчивых признаков объекта (почерка, следа, голоса), позволяющих идентифицировать его принадлежность конкретному носителю. Сигнатурный анализ применяется при почерковедении, дактилоскопии и акустической экспертизе.
¶История термина
Латинское signatura изначально означало «подпись» и использовалось в медицине XVII века для обозначения внешних признаков, по которым диагностировались заболевания. В математике термин закрепился в работах по теории функций XIX века, а в информатике — с развитием теории типов (1970-е) и антивирусных технологий (1980-е).
¶Источники
- Куратовский К., Мостовский А. Алгебра. — М.: Мир.
- Марков В. А., Рудаков И. В. Теория категорий и универсальная алгебра. — СПб.: СПбГУ.
- Райс Р. Введение в теорию вычислений. — М.: Мир.
- ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
- Федеральный закон «Об электронной подписи» № 63-ФЗ от 06.04.2011.
