Рейтинг:2

Что такое FE2OSP (элемент поля для преобразования строки октетов)?

флаг eg

Ссылка ниже относится к «FE2OSP (примитив преобразования элемента поля в строку октетов)».

Буду признателен за любую помощь в поиске определения (алгоритма) для FE2OSP и формата его входных и выходных параметров.

Спасибо!

Ссылка: IETF RFC8446, Протокол безопасности транспортного уровня (TLS), версия 1.3, август 2018 г.), раздел 7.4.2. «Эллиптическая кривая Диффи-Хеллмана»

Рейтинг:2
флаг ng

FE2OSP и OS2FEP конвертируют между конечное поле элемент (например, координата X или Y точки на эллиптической кривой) и строка октетов (эквивалентно строка байтов). Первоначально они были определены Стандарт IEEE 1363-2000 и пересмотрено IEEE P1363a-2004.

Конечное поле наборы с $q$ отмеченные элементы $\operatorname{GF}(q)$ или же $\mathbb F_q$, куда $q$ является большим целым числом формы $q=p^m$, с $р$ премьер, и $м$ целое число не менее $1$.

FE2OSP (примитив преобразования элемента поля в строку октетов) принимает в качестве входных данных элемент поля $х$ и размер поля $q$. Он выводит строку октетов, размер которой зависит от $q$ Только.

OS2FEP (примитив преобразования строки октетов в элементы поля) принимает в качестве входных данных строку октетов (и ее размер) и размер поля. $q$. Он выводит элемент поля или индикацию ошибки.

Стандарт различает 3 случая:

  1. $м=1$, для так называемых простых кривых, таких как secp256k1 или же secp384r1 (самый распространенный в наше время). Элемент поля $х$ является целым числом в $[0,р)$. Соответствующая строка октетов имеет $\влево\lceil\log_2(p-1)/8\вправо\rceil$ октеты (байты), представляющие $х$ за обратный порядок байтов соглашение. Это соответствует преобразованиям, выполненным PKCS#1. I2OSP и OS2IP в РСА.
  2. $р=2$, для так называемых бинарных кривых, таких как sect239k1 или же sect283r1. Элемент поля $х$ это битовая строка $м$ отмеченные биты $b_i$. Соответствующая строка октетов имеет $\влево\lceil м/8\вправо\rceil$ октеты (байты), с $b_0$ младший бит последнего октета и $7-(m\bmod 8)$ старшие биты первого байта равны нулю.
  3. Другие (охватываемые только P1363a). Элемент поля $х$ является $м$ целые числа $a_i\in[0,p)$. Соответствующая строка октетов имеет $\влево\lceil\log_2(q-1)/8\вправо\rceil$ октеты (байты), представляющие целое число $\sum_{i=0}^{m-1}a_i\,p^i$ за обратный порядок байтов соглашение. Это делает 1 и 2 частными случаями более общего 3.

Во всех случаях мультипликативная нейтраль поля ( $1$ ) представлен $\влево\lceil\log_2(q-1)/8\вправо\rceil$ октеты (байты), с последним октетом 01час и все остальные 00час.

Согласно моему обзору проектов P1363-D13 (1999 г.) и P1363a-D12 (2003 г.), отличия от современных SEC1-v2х Преобразование элемента поля в строку октетов и Преобразование строки октета в элемент поля минимальны:

  • только P1363a охватывает случай 3.
  • P1363 называет байты $M_i$ с $M_0$ последний/правый. SEC1 переворачивает это обозначение (и соответственно изменяет формулы), что более естественно для программистов, которые видят нулевой индекс первым/левым. Это делает нет изменить строку октетов.
  • «Ошибка» OS2FEP - это «недопустимое» преобразование Octet-String-to-Field-Element.

Ответить или комментировать

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