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

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

Історія ред.

Вперше алгоритм був представлений на сесії 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.  
  5.  
  6. Пілпис:  

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

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

  • Вхідні дані: Підписані дані   і публічний ключ  .
  • Уявити 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.
  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.