Хеш-функция (англ.hash function от hash — «превращать в фарш», «мешанина»[1]), или функция свёртки — функция, преобразующая массив входных данных произвольного размера в выходную битовую строку определённого (установленного) размера в соответствии с определённым алгоритмом. Преобразование, выполняемое хеш-функцией, называется хешированием. Исходные (входные) данные называются входным массивом, «ключом», «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения», «свёрткой».
при поиске дубликатов в последовательностях наборов данных;
при построении уникальных идентификаторов для наборов данных;
при вычислении контрольных сумм от данных (сигнала) для последующего обнаружения в данных ошибок (возникших случайно или внесённых намеренно), возникающих при хранении и/или передаче данных;
при сохранении паролей в системах защиты в виде хеш-кода (для восстановления пароля по хеш-коду требуется функция, являющаяся обратной по отношению к использованной хеш-функции);
при создании (выработке) электронной подписи (на практике подпись часто создаётся не для сообщения, а для «хеш-образа» сообщения);
и в других случаях.
В общем случае (согласно принципу Дирихле) не существует однозначного соответствия между выходными данными (хеш-кодом, значениями, возвращёнными хеш-функцией) и входными данными (исходными данными). Выходные данные (возвращаемые хеш-функцией значения) менее разнообразны, чем входные данные (значения входного массива). Случай, при котором хеш-функция преобразует более чем одни входные данные (один массив входных данных) в одинаковые выходные данные (сводки), называется «коллизией». Вероятность возникновения коллизий используется для оценки качества хеш-функций.
Существует множество алгоритмов хеширования, различающихся свойствами. Примеры свойств:
Выбор той или иной хеш-функции определяется спецификой решаемой задачи. Простейшим примером хеш-функции может служить «обрамление» данных циклическим избыточным кодом (англ.CRC, cyclic redundancy code).
Шифровка сообщений без возможности однозначной расшифровки, а только с целью подтверждения авторского приоритета, применялась издавна.
Галилео Галилей наблюдал кольца Сатурна, которые принял за «ушки». Не будучи уверен, но желая утвердить свой приоритет, Галилей опубликовал сообщение с перестановленными буквами: smaismrmilmepoetaleumibunenugttauiras. В 1610 году Галилей раскрыл исходную фразу: Altissimum planetam tergeminum obseruaui, что в переводе с латинского языка означает «высочайшую планету тройною наблюдал». Таким образом, на момент публикации первого сообщения исходная фраза не была раскрыта, но была создана возможность подтвердить её позже.
В середине 1650-х Христиан Гюйгенс разглядел кольца и опубликовал сообщение с буквами, расставленными по алфавиту: aaaaaaacccccdeeeeeghiiiiiiillllmmnnnnnnnnnooooppqrrstttttuuuuu. Через некоторое время была опубликована и исходная фраза: Annulo cingitur, tenui plano, nusquam cohaerente, ad eclipticam inclinato — «Окружён кольцом тонким, плоским, нигде не подвешенным, наклонённым к эклиптике». От применения хеш-функции, включая и цель позднее подтвердить некоторое нераскрытое сообщение, данный случай отличается только тем, что выходное сообщение не имеет фиксированного размера, а определяется размером входного сообщения. Фактически, расстановка букв исходного сообщения по алфавиту является некоторой хеш-функцией, но только с результатом нефиксированного размера.
В 1956 годуАрнольд Думи (англ.Arnold Dumey) в своей работе «Computers and automation» первым описал идею «хеширования» такой, какой её знает большинство программистов в настоящее время. Думи рассматривал «хеширование» как решение «проблемы словаря», предложил использовать в качестве «хеш-адреса» остаток от деления на простое число[2].
В 1957 году в журнале «IBM Journal of Research and Development» была опубликована статья Уэсли Питерсона (англ.W. Wesley Peterson) о поиске текста в больших файлах. Эта работа считается первой «серьёзной» работой по «хешированию». В статье Уэсли определил «открытую адресацию», указал на уменьшение производительности при удалении. Спустя шесть лет была опубликована работа Вернера Бухгольца (нем.Werner Buchholz), в которой было проведено обширное исследование «хеш-функций». В течение нескольких последующих лет «хеширование» широко использовалось, но никаких значимых работ не публиковалось.
В 1967 году «хеширование» в современном значении упомянуто в книге Херберта Хеллермана «Принципы цифровых вычислительных систем»[3]. В 1968 годуРоберт Моррис (англ.Robert Morris) опубликовал в журнале «Communications of the ACM» большой обзор по «хешированию». Эта работа считается вводящей понятие о «хешировании» в научный оборот и закрепившей термин «хеш», ранее применявшийся только специалистами (жаргон).
До начала 1990-х годов в русскоязычной литературе в качестве эквивалента термину «хеширование» благодаря работам Андрея Петровича Ершова использовалось слово «расстановка», а «коллизия» называлась словом «конфликт» (А. П. Ершов использовал «расстановку» с 1956 года). В русскоязычном издании книги Никлауса Вирта «Алгоритмы и структуры данных» 1989 года также используется термин «расстановка». Предлагалось также назвать метод другим русским словом: «окрошка». Однако ни один из этих вариантов не прижился, и в русской литературе используется преимущественно термин «хеширование»[4].
Виды «хеш-функций»
«Хорошая» хеш-функция должна удовлетворять двум свойствам:
— хеш-функция, имеющая не более различных значений (выходных данных).
То есть:
.
В качестве примера «плохой» хеш-функции можно привести функцию с , которая десятизначному натуральному числу сопоставляет три цифры, выбранные из середины двадцатизначного квадрата числа . Казалось бы, значения «хеш-кодов» должны равномерно распределяться между «000» и «999», но для «реальных» данных это справедливо лишь в том случае, если «ключи» не имеют «большого» количества нулей слева или справа[4].
Рассмотрим несколько простых и надёжных реализаций «хеш-функций».
«Хеш-функции», основанные на делении
1. «Хеш-код» как остаток от деления на число всех возможных «хешей»
Хеш-функция может вычислять «хеш» как остаток от деления входных данных на :
,
где — количество возможных «хешей» (выходных данных).
При чётном и при чётном значение функции будет чётным. При чётном и при нечётном значение функции будет нечётным. Не следует использовать в качестве степень основания системы счислениякомпьютера, так как «хеш-код» (выходные данные) будет зависеть только от нескольких цифр числа (входных данных), расположенных справа, что приведёт к большому количеству коллизий. На практике в качестве обычно выбирают простое число; в большинстве случаев этот выбор вполне удовлетворителен.
2. «Хеш-код» как набор коэффициентов получаемого полинома
Хеш-функция может выполнять деление входных данных на полином по модулю два. Тогда должна являться степенью двойки. Бинарные ключи () представляются в виде полиномов. В качестве «хеш-кода» «берутся» значения коэффициентов полинома, полученного как остаток от деления входных данных на заранее выбранный полином степени :
При правильном выборе гарантируется отсутствие коллизий между почти одинаковыми ключами[4].
Выберем некую константу так, чтобы была взаимно простой с . Тогда хеш-функция, использующая умножение, может иметь следующий вид:
.
В этом случае на компьютере с двоичной системой счисления является степенью двойки, и будет состоять из старших битов правой половины произведения .
Одним из преимуществ хеш-функций, основанных на делении и умножении, является выгодное использование неслучайности реальных ключей. Например, если ключи представляют собой арифметическую прогрессию (например, последовательность имён «Имя 1», «Имя 2», «Имя 3»), хеш-функция, использующая умножение, отобразит арифметическую прогрессию в приближённо арифметическую прогрессию различных хеш-значений, что уменьшит количество коллизий по сравнению со случайной ситуацией[4].
Одной из хеш-функций, использующих умножение, является хеш-функция, использующая хеширование Фибоначчи. Хеширование Фибоначчи основано на свойствах числа — золотого сечения. В качестве константы здесь выбирается целое число, ближайшее к и взаимно простое с [4].
Хеширование строк переменного размера
Вышеизложенные методы применимы и при необходимости рассматривать ключи, состоящие из нескольких слов, или ключи переменного размера.
Например, можно скомбинировать слова в одно при помощи сложения по модулю или операции «исключающее или». Одним из алгоритмов, работающих по такому принципу, является алгоритм Пирсона (хеширование Пирсона).
Алгоритм Пирсона — алгоритм, предложенный Питером Пирсоном (англ.Peter Pearson) для процессоров с 8-битовыми регистрами и предназначенный для быстрого преобразования строки произвольного размера в хеш-код. Реализован хеш-функцией Пирсона, получает слово , состоящее из 1-байтовых символов, и возвращает значение в диапазоне от 0 до 255. При этом значение хеш-кода зависит от каждого символа входного слова.
Алгоритм можно описать следующим псевдокодом, где строка — входные данные, — таблица перестановок:
h := 0
for each c in W loop
index := h xor c
h := T[index]
end loopreturn h
Преимущества алгоритма:
простота вычисления;
отсутствие таких входных данных, для которых вероятность коллизии наибольшая;
возможность преобразования в идеальную хеш-функцию[5].
В качестве альтернативного способа хеширования ключей , состоящих из символов (), можно предложить вычисление
Идеальная хеш-функция (англ.perfect hash function) — такая хеш-функция, которая отображает каждый ключ из набора во множество целых чисел без коллизий. В математике такое преобразование называется инъективным отображением.
Описание
Функция называется идеальной хеш-функцией для , если инъективна на .
Функция называется минимальной идеальной хеш-функцией для , если является идеальной хеш-функцией и .
Для целого функция называется -идеальной хеш-функцией (k-PHF) для , если для каждого имеем .
Идеальное хеширование применяется, если требуется присвоить уникальный идентификатор ключу без сохранения информации о ключе. Пример использования идеального (или скорее -идеального) хеширования: размещение хешей, связанных с данными, хранящимися в большой и медленной памяти, в небольшой и быстрой памяти. Размер блока можно выбрать таким, чтобы необходимые данные считывались из медленной памяти за один запрос. Подобный подход используется, например, в аппаратных маршрутизаторах. Также идеальное хеширование используется для ускорения работы алгоритмов на графах, если представление графа не умещается в основной памяти[6].
Универсальное хеширование
Универсальное хеширование — хеширование, при котором используется не одна конкретная хеш-функция, а некоторая хеш-функция, выбираемая из заданного семейства хеш-функций по случайному алгоритму. Обычно отличается малым числом коллизий. Применяется, например, при реализации хеш-таблиц и в криптографии.
Описание
Предположим, что требуется отобразить ключи из пространства в числа . На входе алгоритм получает данные из некоторого набора размерностью . Набор заранее неизвестен. Как правило, алгоритм должен обеспечить наименьшее число коллизий, чего трудно добиться, используя какую-то определённую хеш-функцию. Число коллизий можно уменьшить, если каждый раз при хешировании выбирать хеш-функцию случайным образом. Хеш-функция выбирается из определённого набора хеш-функций, называемого универсальным семейством [7].
Коллизией (иногда конфликтом[2] или столкновением) называется случай, при котором одна хеш-функция для разных входных данных (блоков) возвращает одинаковые выходные данные (хеш-коды).
Большинство первых работ, описывающих хеширование, посвящено методам борьбы с коллизиями в хеш-таблицах. Тогда хеш-функции применялись при поиске текста в файлах большого размера. Существует два основных метода борьбы с коллизиями в хеш-таблицах:
метод цепочек (метод прямого связывания);
метод открытой адресации.
При использовании метода цепочек в хеш-таблице хранятся пары «связный список ключей» — «хеш-код». Для каждого ключа хеш-функцией вычисляется хеш-код. Если хеш-код был получен ранее (для другого ключа), ключ добавляется в существующий список ключей, парный хеш-коду. Иначе создаётся новая пара «список ключей» — «хеш-код», и ключ добавляется в созданный список. В общем случае, если имеется ключей и списков, средний размер хеш-таблицы составит . В этом случае при поиске по таблице по сравнению со случаем, в котором поиск выполняется последовательно, средний объём работ уменьшится примерно в раз.
При использовании метода открытой адресации в хеш-таблице хранятся пары «ключ» — «хеш-код». Для каждого ключа хеш-функцией вычисляется хеш-код. Пара «ключ» — «хеш-код» сохраняется в таблице. В этом случае при поиске по таблице по сравнению со случаем, в котором используются связные списки, ссылки не используются. Выполняется последовательный перебор пар «ключ» — «хеш-код». Перебор прекращается после обнаружения нужного ключа. Последовательность, в которой просматриваются ячейки таблицы, называется последовательностью проб[4].
Для защиты паролей и цифровых подписей от подделки создано несколько методов, работающих даже в том случае, если криптоаналитику известны способы построения коллизий для используемой хеш-функции. Одним из таких методов является добавление к входным данным так называемой криптографической «соли» — строки случайных данных; иногда «соль» добавляется и к хеш-коду. Добавление случайных данных затрудняет анализ хеш-таблиц. Данный метод используется, например, при сохранении паролей в UNIX-подобных ОС.
Среди множества существующих хеш-функций принято выделять криптографически стойкие хеш-функции — хеш-функции, удовлетворяющие дополнительным требованиям, от чего пригодные для применения в криптографии. Хеш-функция считается криптографически стойкой, если удовлетворяет трём основным требованиям, на которых основано большинство применений хеш-функций в криптографии:
необратимость: для заданных выходных данных (значения) out должно быть вычислительно неосуществимо найти входные данные (блок данных) in, для которых ;
стойкость к коллизиям первого рода: для заданных входных данных (сообщения) in1 должно быть вычислительно неосуществимо подобрать другие входные данные (сообщение) in2, для которых ;
стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару таких входных данных (сообщений) , которые имеют одинаковые выходные данные (хеш): .
Данные требования не являются независимыми:
обратимая функция нестойка и к коллизиям первого рода, и к коллизиям второго рода;
функция, не стойкая к коллизиям первого рода, нестойка и к коллизиям второго рода; обратное неверно.
Не доказано существование необратимых хеш-функций, для которых вычисление какого-либо прообраза заданного значения хеш-функции теоретически невозможно. Обычно нахождение обратного значения является лишь вычислительно сложной задачей.
Атака «дней рождения» позволяет находить коллизии для хеш-функции с длиной значений n бит в среднем за примерно вычислений хеш-функции. Поэтому n-битовая хеш-функция, вычислительная сложность нахождения коллизий для которой близка к , считается криптостойкой.
Криптографические хеш-функции должны иметь лавинный эффект — при малейшем изменении входных данных (значения аргумента) выходные данные (значение функции) должны сильно изменяться. В частности, выходные данные (значение хеша) не должны давать утечки информации даже об отдельных битах входных данных (значения аргумента). Это требование является залогом криптостойкости алгоритмов хеширования, хеширующих пользовательский пароль для получения ключа[8].
Хеширование часто используется в алгоритмах электронно-цифровой подписи, где шифруется не сообщение, а хеш-код сообщения, что уменьшает время вычисления и увеличивает криптостойкость. Также в большинстве случаев вместо паролей хранятся значения (солёные) хеши паролей.
Алгоритмы вычисления контрольных сумм — несложные, быстрые и легко реализуемые аппаратно алгоритмы, используемые для защиты данных от непреднамеренных искажений, в том числе — от ошибок аппаратуры. С точки зрения математики являются хеш-функциями, вычисляющими контрольный код. Контрольный код применяется для обнаружения ошибок, которые могут возникнуть при передаче и при хранении данных.
Алгоритмы вычисления контрольных сумм по скорости вычисления в десятки и сотни раз быстрее криптографических хеш-функций и проще в аппаратном исполнении.
Платой за столь высокую скорость является отсутствие криптостойкости — возможность легко «подогнать» сообщение под заранее известную контрольную сумму. Также обычно разрядность контрольных сумм (типичное число: 32 бита) меньше разрядности криптографических хешей (типичные числа: 128, 160 и 256 бит), что означает возможность возникновения непреднамеренных коллизий.
Простейшим алгоритмом вычисления контрольной суммы является деление сообщения (входных данных) на 32- или 16-битовые слова с последующим суммированием слов. Такой алгоритм применяется, например, в протоколах TCP/IP.
Как правило, алгоритмы вычисления контрольных сумм должны обнаруживать типичные аппаратные ошибки, например, должны обнаруживать несколько подряд идущих ошибочных бит до заданной длины. Семейство алгоритмов так называемых «циклических избыточных кодов» удовлетворяет этим требованиям. К ним относится, например, алгоритм CRC32, применяемый в устройствах Ethernet и в формате сжатия данных ZIP.
Контрольная сумма (выходные данные), например, может быть передана по каналу связи вместе с основным текстом (входными данными). На приёмном конце контрольная сумма (выходные данные) может быть рассчитана заново и может сравниваться с переданным значением. Если переданная контрольная сумма не равна рассчитанной контрольной сумме, то при передаче данных данные были искажены и можно запросить повторную передачу данных.
Пример применения хеширования в быту — подсчёт количества чемоданов, перевозимых в багаже. Для проверки сохранности чемоданов не требуется проверять сохранность каждого чемодана. Достаточно посчитать количество чемоданов при погрузке и выгрузке. Совпадение чисел будет означать, что ни один чемодан не потерян. То есть, число чемоданов является хеш-кодом.
Данный метод можно дополнить для защиты передаваемой информации от фальсификации (метод MAC). В этом случае хеширование производится криптостойкой функцией над сообщением, объединённым с секретным ключом, известным только отправителю и получателю сообщения. Криптоаналитик, перехватив сообщение (входные данные) и значение хеш-функции (выходные данные), не сможет восстановить код, то есть не сможет подделать сообщение (см. имитозащита).
Геометрическое хеширование
Геометрическое хеширование (англ.geometric hashing) — метод, широко применяемый в компьютерной графике и вычислительной геометрии для решения задач на плоскости или в трёхмерном пространстве, например, для нахождения пар ближайших точек среди множества точек или для поиска одинаковых изображений. Хеш-функция в данном методе обычно получает на вход какое-либо метрическое пространство и разделяет его, создавая сетку из клеток. Хеш-таблица в данном случае является массивом с двумя или более индексами и называется «файлом сетки» (англ.grid file). Геометрическое хеширование применяется в телекоммуникациях при работе с многомерными сигналами[9].
Хеш-таблицей называется структура данных, позволяющая хранить пары вида «ключ» — «хеш-код» и поддерживающая операции поиска, вставки и удаления элемента. Хеш-таблицы применяются с целью ускорения поиска, например, при записи текстовых полей в базе данных может рассчитываться хеш-код данных и данные могут помещаться в раздел, соответствующий хеш-коду данных. Тогда перед поиском данных требуется вычислить хеш-код данных, чтобы стало известно, в каком разделе требуется искать данные. То есть, искать требуется не по всей базе, а только по одному её разделу, что уменьшает время поиска.
Бытовым аналогом хеширования в данном случае может служить размещение слов в словаре в алфавитном порядке. Первая буква слова является хеш-кодом слова. При поиске просматривается не весь словарь, а только слова, начинающиеся на нужную букву.
↑Djamal Belazzougui, Fabiano C. Botelho, Martin Dietzfelbinger.Hash, displace, and compress (неопр.). — Springer Berlin / Heidelberg, 2009. Архивировано 24 июля 2011 года.
Брюс Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. — М.: Триумф, 2002. — ISBN 5-89392-055-4.
Дональд Кнут. Искусство программирования. Том 3. Сортировка и поиск = The Art of Computer Programming, vol.3. Sorting and Searching. — 2-е издание. — М.: «Вильямс», 2007. — С. 824. — ISBN 0-201-89685-0.
Penultimate prophet and eschatological figure in Islam In Islam, Isa refers to Jesus. For other uses, see Isa (disambiguation) and Isa (name). ProphetʿĪsāعِيسَىٰJesusMinaret of Jesus in Damascus, SyriaBornc. 4 BCHerodian Kingdom of Judea, Roman EmpireDisappearedc. 33 ADGethsemane, Jerusalem, JudeaKnown forBeing the MessiahPredecessorYahya (John the Baptist)SuccessorMuhammadOpponentDajjal (Antichrist)ParentMaryam (mother)RelativesZakariya (uncle)Yahya (possible cousin) Part of a...
Ahmed YasaviBiographieNaissance Vers 1100SayramDécès 1166TurkestanSépulture Mausolée de Khoja Ahmed YasaviActivité PoèteAutres informationsMouvement soufismeMaîtres Arslan Bab (d), Hadrat Abu Yaqub Yusuf HamdaniVue de la sépulture.modifier - modifier le code - modifier Wikidata Khoja Ahmed Yasavi (ouzbek : Xoja Ahmad Yasaviy / Хожа Аҳмад Ясавий / خاجە ئەحمەد يەسەۋىي ; kazakh : Қожа Ахмет Ясауи / Qoja Axmet Yasawï / قوجا...
هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (فبراير 2016) التفكير التاريخي هو مصطلح يتم تعريفه من قبل الكثير من المصادر التعليمية على أنه مجموعة من مهارات التفكير التي يتعين على طلاب التاريخ تعلمها كنتيجة لدراستهم
Villardebelle Blason Administration Pays France Région Occitanie Département Aude Arrondissement Limoux Intercommunalité Communauté de communes du Limouxin Maire Mandat Marguerite Falcou 2020-2026 Code postal 11580 Code commune 11412 Démographie Gentilé Villardebellois Populationmunicipale 56 hab. (2020 ) Densité 4,3 hab./km2 Géographie Coordonnées 43° 01′ 19″ nord, 2° 23′ 36″ est Altitude Min. 414 mMax. 857 m Superficie 13,...
Logo of the series This is a list of episodes for the You're Under Arrest anime. OVA FILE# Title Release Date 1And So They MetTranscription: Soshite Futari wa Deatta (Japanese: そしてふたりは出会った)September 24, 1994 (1994-09-24)[1] 19-year-old Natsumi Tsujimoto is late for her first day working at Bokuto Police Precinct located at Sumida. She ends up being pursued by Miyuki Kobayakawa, an 18-year-old female police officer who ultimately welcomes her to the...
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Akatsuki train – news · newspapers · books · scholar · JSTOR (April 2023) (Learn how and when to remove this template message)Japanese overnight sleeper train service For other uses, see Akatsuki. AkatsukiNaha/Akatsuki headed by EF66 electric locomotiveOverviewService typeL...
Eko Gajah SenoKepala Dinas Sejarah TNI Angkatan Laut ke-2Masa jabatan27 Juni 2022 – 16 Januari 2023PendahuluSupardiPenggantiHariyo Poernomo Informasi pribadiLahir18 Januari 1965 (umur 58)IndonesiaAlma materAkademi Angkatan Laut (1988)Karier militerPihak IndonesiaDinas/cabang TNI Angkatan LautMasa dinas1988—2023Pangkat Laksamana Pertama TNISatuanKorps TeknikSunting kotak info • L • B Laksamana Pertama TNI (Purn.) Ir. Eko Gajah Seno, S.T. (lahir 18 ...
فلوريان لوكاس (بالألمانية: Florian Lukas) معلومات شخصية الميلاد 16 مارس 1973 (العمر 50 سنة)[1]برلين، وبرلين الشرقية مواطنة ألمانيا الحياة العملية المهنة ممثل مسرحي[2]، وممثل أفلام[2]، وممثل تلفزيوني اللغات الألمانية الجوائز جائزة الفيلم الأل...
This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (March 2016) Fur trading on the Assiniboine River and the general area west of Lake Winnipeg, in what is now Manitoba, Canada, began as early as 1731. Geography Assiniboine River Lake Winnipeg was a major junction for the fur trade routes. See Canadian canoe routes (early). To the southeast the route ...
Someries CastleNear Hyde, Bedfordshire in EnglandSomeries CastleShown within BedfordshireCoordinates51°52′08″N 000°22′33″W / 51.86889°N 0.37583°W / 51.86889; -0.37583grid reference TL539387TypeFortified manor houseSite informationConditionRuinedSite historyBuilt1400 (1400)In use1400–PresentMaterialsBrick Someries Castle (sometimes spelt Summeries castle)[1] is a Scheduled Ancient Monument, in the Parish of Hyde, near the town of Lut...
American poker player, writer, and lawyer This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Andy Glazer – news · newspapers · books · scholar · JSTOR (May 2010) Andy GlazerBornAndrew Norman Glazer(1955-12-28)December 28, 1955Amityville, New York, United StatesDiedJuly 4, 2004(2004-07-04) (aged 4...
У этого термина существуют и другие значения, см. Сиан. Сиан-Каан Категория МСОП — Ia (Строгий природный резерват)Основная информация Площадь528 000 га Расположение 19°23′01″ с. ш. 87°47′30″ з. д.HGЯO Страна Мексика Сиан-Каан Объект всемирного наследия Sian Ka'an(Биос...
Operration Paul Revere, PleikuOperation Paul ReverePart of Vietnam WarOperations Paul Revere I and II, May-August 1966Date10 May-1 August 1966Locationwest of Pleiku, South Vietnam13°48′18″N 107°52′19″E / 13.805°N 107.872°E / 13.805; 107.872Result US claims operational successBelligerents United States South Korea North VietnamCommanders and leaders BG Glenn D. Walker unknownUnits involved 3rd Brigade, 25th Infantry Division2nd Battalion, 7th Cav...
Aerial view of the formal garden at Peterhof Palace in Saint Petersburg, Russia A formal garden is a garden with a clear structure, geometric shapes and in most cases a symmetrical layout. Its origin goes back to the gardens which are located in the desert areas of Western Asia[1] and are protected by walls. The style of a formal garden is reflected in the Persian gardens of Iran, and the monastic gardens from the Late Middle Ages. It has found its continuation in the Italian Renaissa...
1997 studio album by Evan ParkerChicago SoloStudio album by Evan ParkerReleased1997RecordedNovember 18, 1995StudioAirwave Studios, ChicagoGenreJazzLength59:20LabelOkka DiskProducerEvan Parker, John CorbettEvan Parker chronology Tempranillo(1996) Chicago Solo(1997) London Air Lift(1997) Chicago Solo is an album by the British jazz saxophonist Evan Parker, recorded in 1995 and released on Okka Disk. After eight records of solo soprano saxophone, it was his first unaccompanied tenor sax ...
Mook en Middelaar, adalah sebuah gemeente Belanda yang terletak di provinsi Limburg. Pada tahun 2021 daerah ini memiliki penduduk sebesar 7.900 jiwa. Lihat pula Daftar Kota Belanda lbsMunisipalitas di provinsi Limburg Beek Beekdaelen Beesel Bergen Brunssum Echt-Susteren Eijsden-Margraten Gennep Gulpen-Wittem Heerlen Horst aan de Maas Kerkrade Landgraaf Leudal Maasgouw Maastricht Meerssen Mook en Middelaar Nederweert Peel en Maas Roerdalen Roermond Simpelveld Sittard-Geleen Stein Vaals Valkenb...
United Nations resolution adopted in 2010 UN Security CouncilResolution 1935UNAMID medal barDate30 July 2010Meeting no.6,366CodeS/RES/1935 (Document)SubjectThe situation in SudanVoting summary15 voted forNone voted againstNone abstainedResultAdoptedSecurity Council compositionPermanent members China France Russia United Kingdom United StatesNon-permanent members Austria Bosnia–Herzegovina Brazil Gabon Japan Lebanon Mexico ...
Membrane progesterone receptors (mPRs) are a group of cell surface receptors and membrane steroid receptors belonging to the progestin and adipoQ receptor (PAQR) family which bind the endogenous progestogen and neurosteroid progesterone, as well as the neurosteroid allopregnanolone.[1][2] Unlike the progesterone receptor (PR), a nuclear receptor which mediates its effects via genomic mechanisms, mPRs are cell surface receptors which rapidly alter cell signaling via modulation ...
2008 book by Andrew Morton Tom Cruise: An Unauthorized Biography Book cover, hardcover ed.AuthorAndrew MortonCover artistRene JohnstonKen LennoxCountryUnited StatesSubjectTom CruisePublisherSt. Martin's PressPublication dateJanuary 15, 2008Media typePrint (Hardcover and Paperback)Pages352ISBN0-312-35986-1OCLC177004834 Tom Cruise: An Unauthorized Biography is an unauthorized biography of actor Tom Cruise, written by Andrew Morton. The book was published in the United States in hardco...