Подпись Лэмпорта

Подпись Лэмпорта (англ. Lamport signature) — это криптосистема цифровой подписи с открытым ключом. Может быть построена на любой односторонней функции. Была предложена в 1979 году и названа в честь её автора, американского учёного, Лесли Лэмпорта[1].

Описание

Пусть у Алисы есть 256-битная криптографическая хеш-функция и криптографически стойкий генератор псевдослучайных чисел. Она хочет создать и использовать пару ключей Лэмпорта — секретный ключ и соответствующий ему открытый ключ.

Создание пары ключей

Чтобы создать секретный ключ, Алиса использует генератор случайных чисел для получения 256 пар случайных чисел (всего 2×256 чисел). Каждое число состоит из 256 бит, то есть общий размер равен 2×256×256 бит = 16 КиБ. Эти числа будут секретным ключом Алисы, и она будет хранить их в секретном месте, чтобы использовать в дальнейшем.

Чтобы создать открытый ключ, Алиса хеширует каждое из 512 чисел секретного ключа, таким образом получая 512 хешей по 256 бит каждый. Эти 512 хешей составляют открытый ключ Алисы, который она публикует.

Подпись сообщения

Теперь Алиса хочет подписать сообщение. Для начала она хеширует сообщение и получает 256-битный хеш. Затем, для каждого бита в этом хеше, она берёт соответствующее число из секретного ключа. Если, например, первый бит в хеше сообщения равен нулю, она берёт первое число из первой пары секретного ключа. Если же первый бит равен единице, она использует второе число из первой пары. И так далее. В итоге получается 256 случайных чисел, размер которых составляет 256×256 бит = 8 КиБ. Эти числа и составляют подпись, которую Алиса отправляет вместе с сообщением.

Стоит обратить внимание, что после того как Алиса использовала свой секретный ключ, он никогда не должен быть использован снова. Остальные 256 чисел, которые она не использовала в подписи, Алиса никогда не должна публиковать или использовать. Предпочтительно, чтобы она их удалила, так как иначе кто-то может получить к ним доступ и сгенерировать с их помощью поддельную подпись.

Проверка подписи

Боб хочет проверить подпись Алисы для сообщения. Он также хеширует сообщение и получает 256-битный хеш. Затем для каждого бита в этом хеше он выбирает число из открытого ключа Алисы. Эти числа выбираются по такому же принципу, по какому Алиса выбирала числа для составления подписи. То есть, если первый бит хеша сообщения равен нулю, Боб выбирает первое число из первой пары в открытом ключе. И так далее.

Затем Боб хеширует каждое из 256 чисел из подписи Алисы и получает 256 хешей. Если эти 256 хешей в точности соответствуют 256 хешам, которые он только что получил из открытого ключа Алисы, Боб считает подпись подлинной. Если не соответствуют — то фальшивой.

Стоит обратить внимание, что до того, как Алиса опубликует подпись к сообщению, никто не знает 2×256 случайных чисел в секретном ключе. Таким образом, никто не может создать правильный набор из 256 чисел для подписи. После того, как Алиса опубликует подпись, никто всё ещё не знает остальные 256 чисел, и, таким, образом, не может создать подпись для сообщений, имеющих иной хеш[2].

Пример

Пусть Алиса передаёт сообщение M = «Lamport» Бобу, подписывая его подписью Лэмпорта и используя при этом 8-битную хеш-функцию. То есть, изначальное сообщение будет преобразовано в 8-битный хеш.

Генерация ключей

Используя генератор случайных чисел, Алиса получает восемь пар случайных чисел. Эти 16 чисел являются закрытым ключом Алисы.

Закрытый ключ:

Чтобы получить открытый ключ, Алиса вычисляет хеш-значение для каждого числа из закрытого ключа.

Открытый ключ:

Получившийся открытый ключ Алиса публикует в общий доступ.

Подпись сообщения

Алиса хочет подписать сообщение M = «Lamport». Для этого она вычисляет значение хеш-функции от этого сообщения и ставит в соответствие каждому биту хеша одно из значений в парах закрытого ключа, тем самым формируя подпись.

Подпись сообщения «Lamport»:

Проверка подписи

Боб получает подписанное сообщение «Lamport» и хочет проверить, действительно ли его послала Алиса. Для этого он использует открытый ключ, который опубликовала Алиса. Он преобразует полученное сообщение в хеш и каждому биту в получившемся хеше ставит в соответствие число из пары в открытом ключе. Затем он хеширует подпись сообщения и сравнивает два получившихся набора чисел. Если они равны, то подпись настоящая, и сообщения действительно посылала Алиса.

Набор чисел, полученный из открытого ключа:

Хеш подписи:

Так как данные наборы равны — подпись настоящая.

Математическое описание

Ключи

Пусть  — положительное число, пусть  — набор сообщений и пусть  — односторонняя функция.

Для каждого и , сторона, подписывающая сообщение, случайно выбирает и вычисляет .

Секретный ключ состоит из значений . Открытый ключ состоит из значений .[3]

Подпись сообщения

Пусть  — сообщение.

Подпись сообщения — это .

Проверка подписи

Сторона, валидирующая подпись, проверяет для всех .

Чтобы подделать подпись сообщения криптоаналитику придется инвертировать одностороннюю функцию , а это предполагается вычислительно невозможным.

Криптостойкость

Криптостойкость подписей Лэмпорта основана на криптостойкости хеш-функции.

Для каждой хеш-функции, которая генерирует n-битный дайджест, идеальная стойкость к восстановлению прообраза и к восстановлению второго прообраза подразумевает для каждого выполнения хеш-функции 2n операций и 2n бит памяти в классической вычислительной модели. Используя алгоритм Гровера, восстановление прообраза значения идеальной хеш-функции ограничено сверху O(2n/2) операциями в квантовой вычислительной модели[4].

Подпись нескольких сообщений

Одним секретным ключом Лэмпорта может быть подписано только одно единственное сообщение. Это значит, что если подписано какое-то количество сообщений, должно быть опубликовано такое же количество открытых ключей. Но, если использовать дерево Меркла, составленное из открытых ключей, то вместо публикации всех открытых ключей, можно публиковать только вершину дерева. Это увеличивает размер подписи, так как часть хеш-дерева приходится включать в подпись, но это даёт возможность использовать один единственный хеш для проверки множества подписей. По такой схеме можно подписать сообщений, где  — глубина дерева Меркла. То есть теоретически мы можем использовать один открытый ключ для любого количества сообщений[5].

Генерация ключей

Дерево Меркла с восемью листовыми элементами

Для начала необходимо сгенерировать закрытых одноразовых ключей Лэмпорта и открытых одноразовых ключей Лэмпорта . Далее для каждого открытого ключа , где , вычисляется его хеш . И на основе этих значений строится дерево Меркла.

Пронумеруем узлы дерева таким образом, что индекс обозначает расстояние от этого узла до листового элемента, а индекс обозначает порядковый номер узла слева направо на одном уровне .

В нашем дереве хеш значения являются листовыми элементами, то есть . Каждый нелистовой узел дерева представляет из себя хеш-значение от соединения вместе двух детей, то есть , и так далее.

Таким образом, мы имеем дерево, корневой элемент которого и является нашим открытым ключом .

Подпись сообщения и его проверка

Вычисление пути до вершины в дереве Меркла

Чтобы подписать сообщение по нашей схеме, сначала нужно подписать его одноразовой подписью Лэмпорта . Это делается, используя одну из пар открытых/закрытых ключей .

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

Эти узлы в совокупности с одноразовой подписью сообщения составляют итоговую подпись .

Получатель сообщения имеет в распоряжении открытый ключ , сообщение и подпись . Сначала он проверяет одноразовую подпись сообщения . Если она подлинна, получатель вычисляет . И далее для вычисляет . Если оказывается равна , то подпись считается подлинной.

Различные оптимизации и реализации

Короткий секретный ключ

Вместо создания и хранения всех случайных чисел секретного ключа, можно хранить одно единственно число соответствующего размера. Обычно размер выбирается таким же, как и размер одного случайного числа в закрытом ключе. Этот ключ можно использовать как зерно для генератора случайных чисел (CSPRNG), чтобы можно было воссоздать всю последовательность случайных чисел секретного ключа, когда это понадобиться.

Тем же способом ключ может быть использован вместе с CSPRNG, чтобы создать множество ключей Лэмпорта. Предпочтительны CSPRNG, имеющие высокую криптостойкость, такие как BBS.

Короткий открытый ключ

Подпись Лэмпорта может быть использована вместе со списком хешей, что делает возможным включать в открытый ключ только один хеш. То есть, вместо значений — . Чтобы иметь возможность сравнивать случайные числа в подписи с хешем в открытом ключе, все неиспользуемые в открытом ключе хеши, то есть, значения для любого , должны быть включены в подпись. В результате открытый ключ становится существенно короче, а размер подписи увеличивается примерно в два раза.

Хеширование сообщения

Схема цифровой подписи Лэмпорта не требует, чтобы сообщение m было захешировано перед тем, как оно будет подписано. Хеширование может быть использовано, например, для подписания длинных сообщений, где подписываться будет хеш сообщения, а не оно само[6].

Сравнение с другими криптосистемами

Основные преимущества схемы одноразовой подписи Лэмпорта заключаются в том, что она может быть построена на любой односторонней функции, и в том, что её алгоритм подписи и проверки сообщения существенно быстрее алгоритмов систем многоразовой подписи. В то же время схема имеет ряд недостатков. Во-первых, недостатком является одноразовость ключей. То есть, при подписи каждого нового сообщения приходиться генерировать новую пару, что приводит к усложнению системы. Во-вторых, схема имеет недостаток в виде большого размера подписи и пары из открытого и закрытого ключей[7].

Данная система имеет потенциал в свете того, что потенциальная разработка квантового компьютера угрожает криптостойкости многих широко используемых алгоритмов, таких как RSA, в то время, как подпись Лэмпорта останется криптостойкой и в этом случае[8]. В совокупности с деревьями Меркла, криптосистема Лэмпорта может быть использована для проверки подлинности множества сообщений, выступая как довольно эффективная схема цифровой подписи[9].

Примечания

  1. Lamport, 1979, с. 2.
  2. Lamport, 1979, с. 3—5.
  3. Katz, с. 2.
  4. М. И. Анохин, Н. П. Варновский, В. М. Сидельников, В. В. Ященко, «Схемы Лампорта и Наора -- Юнга». Дата обращения: 17 декабря 2013. Архивировано 17 декабря 2013 года.
  5. Michael Szydlo, EFFICIENT USE OF MERKLE TREES. Дата обращения: 24 ноября 2013. Архивировано 17 апреля 2017 года.
  6. Lamport, 1979, с. 6.
  7. Zaverucha, 2010, с. 1.
  8. Garcia, с. 10.
  9. Вадим Малых, «Долговременное хранение электронных документов». Дата обращения: 13 декабря 2013. Архивировано 13 декабря 2013 года.

Литература

  • Lamport L. Constructing digital signatures from a one-way function. — SRI International Computer Science Laboratory, 1979.
  • Peikert K. Theoretical Foundations of Cryptography. — Georgia Tech, 2010. Архивная копия от 19 декабря 2013 на Wayback Machine
  • Katz J. Introduction to Cryptography. — University of Maryland.
  • Zaverucha G. Stinson R. Cheriton R. Short One-Time Signatures. — University of Waterloo, 2010.
  • Garcia L. On security and efficiency of the Merkle signature scheme. — Darmstadt.

Read other articles:

Bandar Udara Internasional FaleoloIATA: APWICAO: NSFA APWLokasi bandar udara di SamoaInformasiJenisPublikMelayaniApia, Pulau Upolu, SamoaKetinggian dpl18 mdplKoordinat13°49′47″S 172°00′30″W / 13.82972°S 172.00833°W / -13.82972; -172.00833Landasan pacu Arah Panjang Permukaan m kaki 08/26 3.000 9,843 Aspal Sumber: DAFIF[1][2] Bandar Udara Internasional Faleolo (IATA: APW, ICAO: NSFA) adalah bandar udara yang berlokasi sekitar 40...

 

 

Ikan Genghis Khan Status konservasi Kritis (IUCN 3.1)[1] Klasifikasi ilmiah Kerajaan: Animalia Filum: Chordata Kelas: Actinopterygii Subkelas: Neopterygii Infrakelas: Teleostei Superordo: Ostariophysi Ordo: Siluriformes Famili: Pangasiidae Genus: Pangasius Spesies: P. sanitwongsei Nama binomial Pangasius sanitwongseiSmith, 1931 Sinonim Pangasius beani Smith, 1931 Pangasius sanitwangsei Smith, 1931 Ikan Genghis khan (Pangasius sanitwongsei ) merupakan salah satu spesies ikan...

 

 

Asuka Langley SoryuTokoh Neon Genesis EvangelionPenampilanperdanaEpisode 8PenciptaGainaxHideaki AnnoYoshiyuki SadamotoPengisi suaraBahasa Jepang:Yūko MiyamuraBahasa Inggris:Tiffany GrantBiodataAliasAsuka Shikinami Langley (Rebuild)[1]GelarChildren KeduaKapten (Rebuild)KerabatKyoko Zeppelin Soryu (ibu)Ryoji Kaji (wali)Misato Katsuragi (wali)KewarganegaraanAmerikaAsuka Langley Soryu (惣流・アスカ・ラングレーcode: ja is deprecated , Sōryū Asuka Rangurē) adalah tokoh fikti...

Sharad Govindrao Pawar Sharad Govindrao Pawar (lahir 12 Desember 1940)[1] adalah seorang politikus asal India yang menjabat sebagai presiden Partai Kongres Nasionalis yang ia dirikan pada 1999, setelah terpisah dari Kongres Nasional India. Ia sebelumnya menjabat sebagai Ketua Menteri Maharashtra pada tiga masa jabatan terpisah dan memegang jabatan Menteri Pertahanan dan Menteri Pertanian dalam Pemerintahan India. Pawar berasal dari kota Baramati di distrik Pune, Maharashtra. Referensi...

 

 

Alan Greenspan, Ketua Dewan Gubernur Federal Reserve Amerika Serikat (1987—2006) Dalam kebijakan moneter Amerika Serikat, istilah Fedspeak (juga dikenal dengan nama Greenspeak) adalah sesuatu yang disebut Alan Blinder sebagai dialek bahasa Inggris kelewatan yang dipakai oleh ketua Dewan Federal Reserve dengan mengeluarkan pernyataan bertele-tele, meragukan, dan ambigu.[1][2][3] Strategi yang sering dipakai oleh Alan Greenspan ini bertujuan mencegah pasar keuangan ber...

 

 

Public school in the United StatesSouth Shore Vocational Technical High SchoolLocation476 Webster St.,Hanover, Massachusetts 02339United StatesCoordinates42°08′52″N 70°51′48″W / 42.14778°N 70.86333°W / 42.14778; -70.86333InformationTypePublicSuperintendentThomas HickeyPrincipalSandra BaldnerGrades9–12Enrollment600CampusSuburbanColor(s)Green, Gold & White      MascotVikingNewspaperValhalla Times(discontinued)Budget$13,581,366 total$21,94...

Tandon di Colors Golden Petal Awards, 2012 Raveena Tandon adalah seorang pemeran asal India yang dikenal atas karyanya dalam perfilman Bollywood. Ia membuat debutnya dengan beradu peran bersama Salman Khan dalam film tahun 1991 Patthar Ke Phool, yang membuatnya meraih Penghargaan Filmfare untuk Wajah Baru Tahun Ini.[1] Ini disusul oleh serangkaian film gagal yang meliputi Ek Hi Raasta (1993) dan Parampara (1993).[1][2] Pada 1994, ia tampil dalam delapan film Hindi, keb...

 

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (ديسمبر 2018) وايشان 武夷山市  خريطة الموقع تقسيم إداري البلد  الصين[1] التقسيم الأعل...

 

 

When a country's central bank lacks the foreign reserves to maintain a fixed exchange rate A currency crisis is a type of financial crisis, and is often associated with a real economic crisis. A currency crisis raises the probability of a banking crisis or a default crisis. During a currency crisis the value of foreign denominated debt will rise drastically relative to the declining value of the home currency. Generally doubt exists as to whether a country's central bank has sufficient foreig...

Questa voce sull'argomento contee della Carolina del Nord è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Contea di JacksonconteaLocalizzazioneStato Stati Uniti Stato federato Carolina del Nord AmministrazioneCapoluogoSylva Data di istituzione1852 TerritorioCoordinatedel capoluogo35°17′24″N 83°08′24″W / 35.29°N 83.14°W35.29; -83.14 (Contea di Jackson)Coordinate: 35°17′24″N 83°08′24″W / ...

 

 

Questa voce sull'argomento sport invernali è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. A questa voce o sezione va aggiunto il template sinottico {{Sport}} Puoi aggiungere e riempire il template secondo le istruzioni e poi rimuovere questo avviso. Se non sei in grado di riempirlo in buona parte, non fare nulla; non inserire template vuoti. Lo stock sport o ice stock, altrimenti d...

 

 

You can help expand this article with text translated from the corresponding article in French. (March 2015) Click [show] for important translation instructions. View a machine-translated version of the French article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedi...

الدوري الوطني 2002–03 تفاصيل الموسم دوري الدرجة الخامسة الإنجليزي  [لغات أخرى]‏  النسخة 24  البلد المملكة المتحدة  البطل يوفل تاون  الدوري الوطني 2001–02  الدوري الوطني 2003–04  تعديل مصدري - تعديل   الدوري الوطني 2002–03 هو موسم من الدوري الوطني  [لغات أ...

 

 

Melinda BamLahirMelinda de Kok14 Mei 1989 (umur 35)[1]Pretoria, Afrika SelatanAlmamaterUniversitas PretoriaPekerjaanModel, penulis, pelukis, perancang busana[2][3]Tinggi1,70 m (5 ft 7 in)GelarMiss South Africa 2011Pemenang kontes kecantikanWarna rambutPirangWarna mataCokelatKompetisiutamaMiss South Africa 2011(Pemenang)(Miss Tropika)(Me Waterkloof and Candy Girl pageants)Miss Universe 2012 (Top 10) Melinda Bam (lahir 14 Mei 1989) adalah seorang mod...

 

 

Spouse of a reigning British monarch For the royal consorts of the predecessor realms of England, Scotland, and Ireland, see List of English royal consorts, List of Scottish royal consorts, and List of Irish royal consorts. Prince Philip, Duke of Edinburgh, the husband of Queen Elizabeth II, was the longest-serving royal consort.Queen Camilla is the current consort as the wife of King Charles III. A royal consort is the spouse of a reigning monarch. Consorts of British monarchs have no const...

Caldera in British Columbia, Canada Silverthrone CalderaThe approximate outline of the Silverthrone CalderaHighest pointElevation3,160 m (10,370 ft)[1]ListingList of volcanoes in CanadaList of Cascade volcanoesCoordinates51°26′00″N 126°18′00″W / 51.43333°N 126.30000°W / 51.43333; -126.30000GeographyLocationBritish Columbia, CanadaParent rangePacific RangesGeologyAge of rockHoloceneMountain typeCaldera complexVolcanic arc/beltCanadian ...

 

 

Voce principale: David di Donatello (premio). Luca Bigazzi con sette premi detiene il record di vittorie. Il David di Donatello per il miglior autore della fotografia è un premio cinematografico assegnato annualmente nell'ambito dei David di Donatello, a partire dalla edizione del 1981[1]. Nato come David di Donatello per il miglior direttore della fotografia, dall'edizione del 2015 si chiama David di Donatello per il miglior autore della fotografia.[2] Il premio è stato vi...

 

 

Кубок Колумбии по футболу Основан 1950 Регион Колумбия Число участников 36 Действующий победитель Атлетико Насьональ (5) Наиболее титулован Атлетико Насьональ (5) Сайт Dimayor.com Кубок Колумбии 2024 Кубок Колумбии по футболу — клубный турнир по футболу в Колумбии, второй по зна...

У этого термина существуют и другие значения, см. Stratovarius (значения). Stratovarius Stratovarius на Wacken Open Air 2022, слева направо: Купиайнен, Котипелто, Пилве, Порра Основная информация Жанр пауэр-металнеоклассический метал[1]прогрессивный метал[1] Годы 1984 — настоящее время Страна &...

 

 

Questa voce sull'argomento artisti marziali statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Belal MuhammadNazionalità Stati Uniti Altezza178 cm Peso77 kg Arti marziali miste SpecialitàLotta libera CategoriaPesi welter Squadra Roufusport CarrieraSoprannomeRemember the Name Combatte da Illinois, Stati Uniti Incontri disputati28 Vittorie24 per knockout5 per sottomissione1 per decisione18 Sconfitte3 per knockout1 pe...