Перейти до вмісту

NTRUSign

Матеріал з Вікіпедії — вільної енциклопедії.
NTRUSign
Ґрунтується на Goldreich-Goldwasser-Halevi signature schemed
Дата публікації 1999
Описано за адресою www3.ntu.edu.sg/home/wuhj/research/publications/2000_ACISP_PASS.pdf
math.brown.edu/~jpipher/NTRUSign_RSA.pdf

NTRUSign, також відомий як NTRU Signature Algorithm — алгоритм цифрового підпису з відкритим ключем на основі схеми підпису GGH[en].

Історія

[ред. | ред. код]

Вперше алгоритм був представлений на сесії Asiacrypt 2001 року і опублікований в рецензованій формі на конференції RSA 2003 року[1]. Видання 2003 року включало рекомендації параметрів для рівня безпеки 80 біт. У наступній публікації 2005 року були переглянуті рекомендації для рівня безпеки 80 біт, а також представлені параметри затребуваних рівнів безпеки 112, 128, 160, 192 і 256 біт і описані алгоритми для отримання наборів параметрів для будь-якого бажаного рівня безпеки. Компанія NTRU Cryptosystems, Inc. подала патентну заявку на даний алгоритм.

Особливості

[ред. | ред. код]

NTRUSign включає в себе відображення повідомлення що шифрується у випадкову точку в 2N-мірному просторі, де N є одним з параметрів NTRUSign, і вирішення задачі знаходження найближчого вектора в ґратці, тісно пов'язаної з ґраткою NTRUEncrypt. Дана ґратка має властивість: приватний 2N-мірний базис для ґратки можна описати з допомогою 2-х векторів, кожен з яких складається з N коефіцієнтів і базису, який може бути визначений окремим N-розмірним вектором. Це дозволяє представляти відкриті ключі в просторі, а не як і у випадку з іншими схемами підпису на основі ґраток. Операції займають часу, на відміну від для криптографії на еліптичних кривих та RSA. Тому NTRUSign швидше даних алгоритмів при низьких рівнях безпеки і значно швидше при високих рівнях безпеки.[2][3]

NTRUSign знаходиться в стадії розгляду по стандартизації робочою групою IEEE P1363.

Опис алгоритму

[ред. | ред. код]

Так само як і в NTRUEncrypt, в NTRUSign обчислення проводяться в кільці , де множення «» є циклічною згорткою по модулю . Добутком двох поліномів і є .

За основу NTRUSign можуть бути взяті стандартні або транспоновані решітки. Основна перевага транспонованої решітки полягає в тому, що коефіцієнти многочлена належать {-1,0,1}. Це збільшує швидкість множення.

Генерація ключа

[ред. | ред. код]
  • Вхідні дані: цілі , рядок або .
  • Генерація закритих ґраткових базисів і одиного відкритого ґраткового базису: Встановити . До тих пір, поки :
  1. Довільно обрати , взаємно прості з , відповідно.
  2. Знайти малі такі, що .
  3. Якщо , встановити і .
Якщо , встановити і .
Обчислити . Встановити .
  • Публічний ключ: вхідні параметри і .
  • Закритий ключ: для .

Підпис

[ред. | ред. код]

Підпис вимагає геш-функцію на цифровому просторі документу .

  • Вхідні данні: цифровий документ  закритий ключ для .
  • Встановити .
  • Встановити . Представити як рядок біт. Встановити , де означає конкатенацию. Встановити .
  1.  — -та підстава
  2. Обчислити
  3. Обчислити
  4. Пілпис:

Перевірка підпису

[ред. | ред. код]

Верифікація вимагає таку ж геш-функцію , «нормуючий зв'язок» і норму полінома . Норма полінома визначається як , де (де останнє — Евклідова норма).

  • Вхідні дані: Підписані дані і публічний ключ .
  • Уявити r як рядок бітів. Встановити .
  • Обчислити .
  • підпис вважається вірним, якщо .

Зауваження

[ред. | ред. код]
  • Рекомендовані параметри

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Jeffrey Hoffstein, Nick Howgrave-Graham, Jill Pipher, Joseph H. Silverman, William Whyte. NTRUSign: Digital Signatures Using the NTRU Lattice. Архівовано з джерела 30 січня 2013. Процитовано 2018-04-16. [Архівовано 2013-01-30 у Wayback Machine.]
  2. http://www.szydlo.com/ntru-revised-full02.pdf
  3. P. Nguyen and O. Regev, "Learning a Parallelepiped: Cryptanalysis of GGH and NTRU Signatures", available from http://www.cims.nyu.edu/~regev/papers/gghattack.pdf

Посилання

[ред. | ред. код]
  • Most recent NTRUSign paper, including parameter sets for multiple security levels
  • A Java implementation of NTRUSign. sourceforge.net. Архів оригіналу за 23 грудня 2015.