-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 77000b5
Showing
29 changed files
with
4,825 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# TeX files | ||
*.aux | ||
*.idx | ||
*.log | ||
*.out | ||
*.thm | ||
*.toc | ||
*.dvi | ||
|
||
# Graphic files | ||
*.eps | ||
*.cdr | ||
|
||
# Tmp files | ||
~*.* | ||
*.bak | ||
*.backup | ||
|
||
# Specific files | ||
support | ||
spec/*.pdf | ||
clear.cmd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Bign: digital signature and key transport algorithms based on elliptic curves | ||
|
||
![](figs/bign-logo-small.png) | ||
|
||
## What is Bign? | ||
|
||
Bign is a digital signature system developed in 2010 and standardized a year | ||
later in Belarus. The official standard STB 34.101.45 informally inherits the | ||
name Bign while the core signature system tends to be called `bign-sign`. | ||
|
||
## BignV1 | ||
|
||
The `bign-sign` system follows the | ||
[Schnorr signature scheme](https://en.wikipedia.org/wiki/Schnorr_signature). | ||
By truncating the hash part of the signatures, `bign-sign` makes them quite short: | ||
48, 72, or 96 octets depending on the security level. | ||
|
||
Additionally to `bign-sign`, the first edition of STB 34.101.45 defines the | ||
following cryptographic mechanisms: | ||
- `bign-curves` — elliptic curves as a cryptographic platform: | ||
selection strategy, validation, standard curves for 3 security levels; | ||
- `bign-keytransport` — key transport: public key encryption of symmetric keys. | ||
|
||
`Bign-curves` are conventional Weierstrass curves over large prime finite fields. | ||
These curves are used outside of Bign to build protocols of the Diffie-Hellman | ||
type. | ||
|
||
Bign allows using the same pair of private and public keys both in | ||
`bign-sign` and `bign-keytransport`. Thus, a single public key certificate | ||
can serve both authenticity and confidentiality of the holder. | ||
|
||
## BignV2 | ||
|
||
The second version of STB 34.101.45, released in 2013, additionally defines: | ||
- `bign-genk` — an algorithm for generating ephemeral keys during signature | ||
creation to make `bign-sign` fully deterministic; | ||
- `bign-ibs` — a [Galindo-Garcia](https://link.springer.com/chapter/10.1007/978-3-642-02384-2_9)-like | ||
identity-based signature system; | ||
- `PBKDF2` and `PBES2` — password-based mechanisms to protect Bign private keys. | ||
|
||
## What is this repo? | ||
|
||
In this repo, we process comments on the current version of Bign, | ||
discuss future versions, provide additional supporting material. | ||
|
||
The latest releases of Bign can be found at | ||
[Releases](https://github.com/bcrypto/bign/releases). | ||
|
||
Comments and proposals are processed at | ||
[Issues](https://github.com/bcrypto/bign/issues). | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
\thispagestyle{empty} | ||
|
||
\noindent | ||
\begin{tabular}{lcr} | ||
{\bf ГОСУДАРСТВЕННЫЙ СТАНДАРТ} & \hspace{3.6cm} & {\bf \draftlogo}\\ | ||
{\bf РЕСПУБЛИКИ~БЕЛАРУСЬ} & \\ | ||
\end{tabular} | ||
|
||
\hrule height 1pt | ||
\vskip0.4mm | ||
\hrule height 2pt | ||
|
||
\vskip2cm | ||
\noindent | ||
{\bf\Large Информационные технологии и безопасность}\\[10pt] | ||
{\bf\large АЛГОРИТМЫ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ}\\ | ||
{\bf\large И ТРАНСПОРТА КЛЮЧА НА ОСНОВЕ}\\ | ||
{\bf\large ЭЛЛИПТИЧЕСКИХ КРИВЫХ} | ||
|
||
\vskip2cm | ||
\noindent | ||
{\bf\Large Iнфармацыйныя тэхналогii i бяспека}\\[10pt] | ||
{\bf\large АЛГАРЫТМЫ ЭЛЕКТРОННАГА ЛIЧБАВАГА ПОДПIСУ}\\ | ||
{\bf\large I ТРАНСПАРТА КЛЮЧА НА АСНОВЕ}\\ | ||
{\bf\large ЭЛIПТЫЧНЫХ КРЫВЫХ} | ||
|
||
\noindent | ||
%{\em Настоящий проект стандарта не подлежит применению до его утверждения} | ||
|
||
\vskip9cm | ||
\hrule height 1pt | ||
\vskip0.4mm | ||
\hrule height 2pt | ||
\noindent | ||
\begin{tabular}{p{5cm}cp{4cm}} | ||
\vtop{\null\hbox{{\includegraphics[width=2.6cm]{../figs/stb}}}} & \hspace{6cm} & | ||
\mbox{}\newline\mbox{}\newline\newline Госстандарт\newline Минск\\ | ||
\end{tabular} | ||
|
||
\pagebreak | ||
|
||
|
||
\hrule | ||
\vskip2mm | ||
|
||
УДК~004.056.55.021(083.74)(476)\hfill | ||
МКС~35.240.01\hfill | ||
КП~05 | ||
|
||
\vskip0.5mm | ||
|
||
{\bf Ключевые слова}: электронная цифровая подпись, транспорт ключа, | ||
криптографические алгоритмы на основе эллиптических кривых | ||
|
||
\vskip0.5mm | ||
|
||
\hrule | ||
|
||
\rule{0pt}{5mm} | ||
|
||
\centerline{\bf Предисловие} | ||
|
||
Цели, основные принципы, положения по государственному регулированию и | ||
управлению в области технического нормирования и стандартизации | ||
установлены Законом Республики Беларусь <<О техническом нормировании и | ||
стандартизации>>. | ||
|
||
\vskip0.2cm | ||
|
||
1~РАЗРАБОТАН учреждением Белорусского государственного университета | ||
<<Науч\-но-исследовательский институт прикладных проблем математики и | ||
информатики>> | ||
|
||
ВНЕСЕН Оперативно-аналитическим центром при Президенте Республики Беларусь | ||
|
||
2~УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ постановлением Госстандарта Республики | ||
Беларусь от 30 августа 2013~г. \No~45 | ||
|
||
3~ВЗАМЕН СТБ П 34.101.45-2011 | ||
|
||
\vfill | ||
\hrule | ||
\vskip1mm | ||
Издан на русском языке | ||
|
||
\pagebreak |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
\begin{center} | ||
{\bfseries | ||
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РЕСПУБЛИКИ~БЕЛАРУСЬ | ||
\vskip 2pt | ||
\hrule width\textwidth | ||
|
||
\vskip 9pt | ||
|
||
Информационные технологии и безопасность | ||
|
||
АЛГОРИТМЫ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ И~ТРАНСПОРТА КЛЮЧА | ||
НА ОСНОВЕ ЭЛЛИПТИЧЕСКИХ КРИВЫХ | ||
|
||
\vskip 9pt | ||
|
||
Iнфармацыйныя тэхналогii i бяспека | ||
|
||
АЛГАРЫТМЫ ЭЛЕКТРОННАГА ЛIЧБАВАГА ПОДПIСУ I~ТРАНСПОРТА КЛЮЧА | ||
НА АСНОВЕ ЭЛIПТЫЧНЫХ КРЫВЫХ | ||
} % bfseries | ||
|
||
\vskip 9pt | ||
|
||
Information technology and security | ||
|
||
Digital signature and key transport | ||
algorithms based on elliptic curves | ||
|
||
\vskip 4pt | ||
\hrule width \textwidth | ||
\end{center} | ||
|
||
\mbox{}\hfill{\bfseries Дата введения 2014-01-01} | ||
|
||
\chapter{Область применения} | ||
|
||
Настоящий стандарт устанавливает алгоритмы выработки и проверки | ||
электронной цифровой подписи (далее~--- ЭЦП), алгоритмы транспорта ключа, | ||
а также сопровождающие их алгоритмы генерации и проверки параметров | ||
эллиптической кривой, генерации личных и открытых ключей, | ||
проверки открытых ключей. | ||
|
||
Настоящий стандарт применяется при разработке средств криптографической | ||
защиты информации, в том числе средств ЭЦП и шифрования. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
\chapter{Нормативные ссылки} | ||
|
||
В настоящем cтандарте использованы ссылки на следующие | ||
технические нормативные правовые акты в области | ||
технического нормирования и стандартизации (далее~--- ТНПА): | ||
|
||
СТБ~34.101.17-2012 Информационные технологии и безопасность. | ||
Синтаксис запроса на получение сертификата | ||
|
||
СТБ~34.101.19-2012 Информационные технологии и безопасность. | ||
Форматы сертификатов и списков отозванных сертификатов | ||
инфраструктуры открытых ключей | ||
|
||
СТБ~34.101.23-2012 Информационные технологии и безопасность. | ||
Синтаксис криптографических сообщений | ||
|
||
СТБ~34.101.26-2012 Информационные технологии и безопасность. | ||
Онлайновый протокол проверки статуса сертификата (OCSP) | ||
|
||
СТБ~34.101.31-2011 Информационные технологии. Защита информации. | ||
Криптографические алгоритмы шифрования и контроля целостности | ||
|
||
СТБ~34.101.47-2012 Информационные технологии и безопасность. | ||
Криптографические алгоритмы генерации псевдослучайных чисел | ||
|
||
СТБ~1176.2-99 Информационная технология. Защита информации. | ||
Процедуры выработки и проверки электронной цифровой подписи | ||
|
||
ГОСТ~34.973-91 (ИСО 8824-87) Информационная технология. Взаимосвязь | ||
открытых систем. Спецификация абстрактно-синтаксической нотации | ||
версии 1 (АСН.1) | ||
|
||
ГОСТ 34.974-91 (ИСО 8825-87) Информационная технология. Взаимосвязь | ||
открытых систем. Описание базовых правил кодирования для | ||
абстрактно-синтаксической нотации версии 1 (АСН.1) | ||
|
||
\begin{note} | ||
Примечание~---~При пользовании настоящим стандартом | ||
целесообразно проверить действие ТНПА по каталогу, | ||
составленному по состоянию на 1 января текущего | ||
года, и по соответствующим информационным указателям, опубликованным | ||
в текущем году. | ||
% | ||
Если ссылочные ТНПА заменены (изменены), то при | ||
пользовании настоящим стандартом следует руководствоваться | ||
замененными (измененными) ТНПА. Если ссылочные ТНПА отменены без | ||
замены, то положение, в котором дана ссылка на них, применяется в | ||
части, не затрагивающей эту ссылку. | ||
\end{note} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
\chapter{Термины и определения}\label{TERMS} | ||
|
||
В настоящем стандарте применяют | ||
следующие термины с соответствующими определениями: | ||
|
||
{\bf \thedefctr~ключ}: | ||
Параметр, который управляет криптографическими операциями | ||
выработки и проверки электронной цифровой подписи, | ||
зашифрования и расшифрования, | ||
генерации псевдослучайных чисел и др. | ||
|
||
{\bf \thedefctr~конфиденциальность}: | ||
Гарантия того, что сообщения доступны для использования | ||
только тем сторонам, которым они предназначены. | ||
% | ||
% ISO 1799: ensuring that information is accessible | ||
% only to those authorized to have access | ||
|
||
{\bf \thedefctr~личный ключ:} | ||
Ключ, который связан с конкретной стороной, не является общедоступным | ||
и используется в настоящем стандарте для выработки электронной цифровой | ||
подписи и для разбора токена ключа. | ||
|
||
{\bf \thedefctr~октет}: | ||
Двоичное слово длины~$8$. | ||
|
||
{\bf \thedefctr~открытый ключ:} | ||
Ключ, который строится по личному ключу, | ||
связан с конкретной стороной, может быть сделан общедоступным | ||
и используется в настоящем стандарте для проверки электронной цифровой | ||
подписи и для создания токена ключа. | ||
|
||
{\bf \thedefctr~подлинность}: | ||
Гарантия того, что сторона действительно является | ||
владельцем (создателем, отправителем) определенного сообщения. | ||
|
||
{\bf \thedefctr~секретный ключ:} | ||
Ключ, который связан с конкретными сторонами, не является общедоступным | ||
и используется в настоящем стандарте для генерации псевдослучайных | ||
чисел и для защиты других ключей. | ||
|
||
{\bf \thedefctr~синхропосылка}: | ||
Открытые входные данные криптографического алгоритма, | ||
которые обеспечивают уникальность результатов | ||
криптографического преобразования на фиксированном ключе. | ||
|
||
{\bf \thedefctr~сообщение}: | ||
Двоичное слово конечной длины. | ||
|
||
{\bf \thedefctr~токен ключа}: | ||
Сообщение, которое передается от одной стороны другой | ||
при транспорте ключа и представляет | ||
собой транспортируемый ключ в защищенной форме, а также данные, | ||
необходимые получателю для снятия защиты. | ||
|
||
{\bf \thedefctr~транспорт ключа}: | ||
Конфиденциальная передача ключа от одной стороны другой. | ||
|
||
{\bf \thedefctr~хэш-значение}: | ||
Двоичное слово фиксированной длины, | ||
которое определяется по сообщению без использования ключа и | ||
служит для контроля целостности сообщения и для представления | ||
сообщения в (необратимо) сжатой форме. | ||
|
||
{\bf \thedefctr~хэширование}: | ||
Выработка хэш-значений. | ||
|
||
{\bf \thedefctr~целостность}: | ||
Гарантия того, что сообщение не изменено | ||
при хранении или передаче. | ||
|
||
{\bf \thedefctr~электронная цифровая подпись; ЭЦП}: | ||
Контрольная характеристика сообщения, которая | ||
вырабатывается с использованием личного ключа, | ||
проверяется с использованием открытого ключа, | ||
служит для контроля целостности и подлинности сообщения | ||
и обеспечивает невозможность отказа от авторства. | ||
% Закон об ЭЦП и ЭД: | ||
% электронная цифровая подпись – последовательность символов, являющаяся | ||
% реквизитом электронного документа и предназначенная для подтверждения его | ||
% целостности и подлинности | ||
|
||
|
Oops, something went wrong.