-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tex
3835 lines (3433 loc) · 196 KB
/
main.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% chktex-file 8
\documentclass[english]{ufsc-thesis-rn46-2019/ufsc-thesis-rn46-2019}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{
amsfonts, amssymb, amsthm, bm, mathtools, multirow, siunitx, subfig, tikz
}
\usetikzlibrary{positioning, patterns}
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
\DeclareMathOperator*{\argmin}{argmin}
\DeclareMathOperator*{\wt}{wt}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
\newcommand{\random}{\overset{\mathsf{r}}{\gets}}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{lemma}[theorem]{Lemma}
\titulo{On the randomness of Rainbow signatures}
\autor{Gustavo Zambonin}
\data{2020}
\instituicao{Universidade Federal de Santa Catarina}
\centro{Centro Tecnológico}
\local{Florianópolis}
\programa{Programa de Pós-Graduação em Ciência da Computação}
\dissertacao%
\titulode{mestre em Ciência da Computação}
\afiliacaocoorientador{Carleton University}
\orientador{Prof.\ Ricardo Felipe Custódio, Dr.}
\coorientador{Prof.\ Daniel Panario, Dr.}
\membrobanca{Prof.\ Jintai Ding, Dr.}{University of Cincinnati}
\membrabanca{Prof\textsuperscript{a}. Lucia Moura, Dra.}{University of Ottawa}
\membrobanca{Prof.\ Ricardo Dahab, Dr.}{Universidade Estadual de Campinas}
\membrobanca{Prof.\ Jean Everson Martina, Dr.}{
Universidade Federal de Santa Catarina
}
\coordenadora{Prof\textsuperscript{a}. Vania Bogorny, Dra.}
\begin{document}
\pretextual%
\imprimircapa%
\imprimirfolhaderosto*
\protect\incluirfichacatalografica{charts/index-card}
\imprimirfolhadecertificacao%
\begin{agradecimentos}
O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento
de Pessoal de Nível Superior - Brasil (CAPES) - Código de Financiamento 001,
e com apoio do programa Mitacs-CALAREO Globalink Research Award (Canadá).
Agradeço aos meus pais, Roberto e Luciana, pelo suporte e confiança
depositados em mim ao longo do desenvolvimento deste trabalho. Agradeço às
amigas e amigos, Ana Letícia, Douglas Martins, Douglas Silva, Larissa e
Matheus, pela companhia na forma de inúmeras conversas após (ou durante) um
dia de trabalho, e pela paciência quando estas tornavam-se desabafos.
Agradeço aos Professores Ricardo Custódio, Daniel Panario, Jean Martina,
Ricardo Dahab e Jintai Ding, e Professora Lucia Moura, que auxiliaram de
várias maneiras no progresso desta pesquisa, através de sua hospitalidade em
algumas latitudes (inclusive as virtuais), orientação, disponibilidade e
olhar crítico.
Por fim, agradeço à Poliana, pela presença em todo e qualquer um dos dias que
compuseram esta jornada, pela sua brandura, vivacidade e inabalável amor.
\vspace{1cm}
This study was financed in part by the Coordenação de Aperfeiçoamento de
Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001, and
a Mitacs-CALAREO Globalink Research Award (Canada).
I thank my parents, Roberto and Luciana, for their support and trust placed
in me throughout the development of this work. I thank my friends, Ana
Letícia, Douglas Martins, Douglas Silva, Larissa and Matheus, for their
camaraderie presented in the form of countless conversations after (or in the
middle of) a day of work, and for their patience when they became heart to
hearts.
I thank the Professors Ricardo Custódio, Daniel Panario, Lucia Moura, Jean
Martina, Ricardo Dahab and Jintai Ding, who helped improve this research in
several ways, mainly through their hospitality in some latitudes (including
virtual ones), supervision, availability and critical assessments.
Finally, I thank Poliana, for being part of each and every day that made up
this journey, for her tenderness, wit and unfaltering love.
\end{agradecimentos}
\begin{epigrafe}
``Anyone, from the most clueless amateur to the best cryptographer, can
create an algorithm that he himself can’t break.''~\cite{Schneier:199810}
\end{epigrafe}
\begin{resumo}[Resumo]
O esforço computacional necessário para
enfraquecer algoritmos de criptografia assimétrica atualmente usados é
proveniente de problemas da teoria de números e álgebra. Com o advento de
computadores quânticos, tais problemas tornam-se passíveis de resolução em
tempo polinomial. A área de pesquisa formada por criptossistemas assimétricos
independentes de tais problemas é chamada de criptografia pós-quântica. Um
exemplo de problema onde é desconhecido se sua resolução é acelerada por
computadores quânticos é o problema de resolução de sistemas de equações,
alicerce para a criptografia baseada em polinômios multivariados. Chaves
públicas e privadas desses algoritmos são representadas por sistemas de
equações proibitivamente extensos, mas operações com mensagens são demasiado
eficientes. Este comportamento é facilmente identificável no esquema de
assinatura digital Rainbow, atualmente finalista no processo de padronização
de criptografia pós-quântica liderado pelo Instituto Nacional de Padrões e
Tecnologia dos Estados Unidos. O esquema Rainbow é baseado em polinômios de
``óleo e vinagre'', que têm resistido a métodos criptanalíticos até o
presente momento. Neste trabalho, um método para reduzir as chaves privadas
do esquema Rainbow é proposto, baseado na substituição antecipada de valores
em polinômios de chaves privadas, permitindo representações mais compactas.
Uma consequência imediata deste fato é que assinaturas são geradas com um
nível reduzido de aleatoriedade, mas são apresentados argumentos que mostram
a insignificância estatística deste fato em comparações com assinaturas
convencionais. O método proposto leva a redução de chaves privadas em até 6.5
vezes, e pode ser combinado com estratégias que reduzem chaves públicas.
Entretanto, é exposto que tal método leva a um ataque de recuperação de
chaves eficiente, que invalida totalmente a segurança do esquema de
assinatura digital derivado. Este trabalho analisa como o ataque é
implementado na prática, e demonstra que uma generalização do método proposto
é ainda insegura para vários parâmetros do esquema.
\vspace{\baselineskip}
\textbf{Palavras-chave:} Assinatura digital. Criptografia pós-quântica.
Criptografia baseada em polinômios multivariados. Rainbow.
\end{resumo}
\begin{resumo}[Resumo expandido]
\section*{Introdução}
Segurança nas comunicações entre dispositivos eletrônicos é um requisito
frequentemente desejado, em vista do acréscimo exponencial de troca digital
de informações a cada dia. Neste contexto, a criptografia de chaves públicas
fornece arcabouços matemáticos para diferentes casos de uso. Particularmente,
esquemas de assinatura digital são utilizados para prover autenticidade,
integridade e não-repúdio de mensagens e seus remetentes. A segurança de
assinaturas digitais utilizadas atualmente é baseada em problemas matemáticos
cuja resolução é computacionalmente impraticável até o momento, como a
fatoração de inteiros e o logaritmo discreto. Entretanto, em modelos
computacionais recentes, como na computação quântica, são propostos
algoritmos que podem resolver tais problemas matemáticos mais rapidamente.
Desse modo, observa-se a necessidade de analisar algoritmos criptográficos
baseados em problemas matemáticos que não são afetados por computadores
quânticos. Esta disciplina chama-se criptografia pós-quântica, e existe um
esforço considerável de pesquisa na criação de tais métodos, que
adicionalmente podem ser executados em computadores convencionais, com o
intuito de substituir algoritmos utilizados atualmente. Em especial, os
criptossistemas baseados em polinômios de várias variáveis são extremamente
eficientes na criação e verificação de assinaturas, porém suas chaves têm
tamanho proibitivo em comparação com métodos utilizados atualmente. Assim,
demonstra-se uma necessidade da pesquisa em estratégias para redução de
chaves em esquemas de assinatura digital baseados em polinômios
multivariados.
\section*{Objetivos}
O objetivo principal deste trabalho é a discussão de estratégias para redução
de chaves no esquema de assinatura digital Rainbow. Mais precisamente, são
abordadas consequências de tais estratégias em relação à segurança dos
esquemas derivados propostos, levando em conta métodos de criptanálise
algébrica existentes na literatura. Neste contexto, deseja-se identificar
estratégias inseguras apresentadas na literatura e isolar suas
características comuns, a fim de prover recomendações na construção de
esquemas de assinatura digital derivados do esquema Rainbow com chaves
reduzidas. Consequentemente, o objetivo específico central é a proposição de
uma estratégia original para redução de chaves através de uma modificação no
esquema Rainbow, dissimilar dos métodos apresentados na literatura. Após,
discute-se os efeitos da modificação no âmbito do desempenho e da segurança
do esquema de assinatura digital resultante.
\section*{Metodologia}
Os objetivos propostos são concretizados através de uma revisão sistemática
da literatura, iniciada com uma pergunta de pesquisa relacionada à segurança
de estratégias de redução de chaves em esquemas de assinatura digital
derivados do esquema Rainbow. Para tanto, uma revisão bibliográfica exaustiva
é realizada, identificando métodos de redução de chaves similares, e
criptanálise relacionada à inspeção da segurança de tais estratégias. A
classificação é feita de acordo com o tipo de benefício obtido, ou seja, se
apenas chaves privadas, públicas, ou ambas são reduzidas. Em seguida,
procede-se ao estudo da nova estratégia de redução de chaves aplicada ao
esquema Rainbow, distinta das encontradas. A aferição da segurança do esquema
resultante é feita através de métodos estatísticos e algébricos obtidos da
revisão bibliográfica, observando os artefatos gerados pelo criptossistema,
como chaves e assinaturas. Por fim, tamanhos de chave são comparados entre o
esquema modificado e original a fim de observar quantitativamente o efeito da
alteração.
\section*{Resultados e discussão}
A revisão bibliográfica realizada demonstra que a modificação do esquema
Rainbow, a fim de obter reduções nos tamanhos de suas chaves, frequentemente
facilita a aplicação de métodos algébricos que reduzem drasticamente a
segurança do esquema resultante. Desse modo, uma nova estratégia é proposta a
fim de reduzir chaves privadas do esquema Rainbow, baseada em um método não
explorado na literatura, e compatível com outras modificações do esquema
subjacente. A estratégia é baseada na redução da aleatoridade de assinaturas
através de uma substituição de variáveis prematura na chave privada. A
análise estatística de assinaturas e chaves mostra que estes artefatos são
indistinguíveis de outros produzidos sem a aplicação do novo método. Chaves
privadas são reduzidas em até sete vezes para certos parâmetros, e em
conjunto com métodos que reduzem chaves públicas, pares de chaves do esquema
resultante são até quatro vezes menores, em comparação com o esquema Rainbow
sem modificações. Entretanto, a análise algébrica de assinaturas mostra que a
modificação proposta difunde informações da chave privada em cada assinatura.
Desse modo, a reunião de várias assinaturas produzidas pelo esquema de
assinatura digital modificado permite o cálculo de uma chave privada
equivalente de maneira eficiente.
\section*{Considerações finais}
Modificações feitas ao esquema Rainbow com o intuito de reduzir chaves
privadas e públicas tornam o esquema resultante extremamente suscetível a
ataques algébricos que reduzem sua segurança. Isto é demonstrado através de
uma revisão sistemática da literatura, onde observou-se que apenas uma
quantidade limitada de estratégias são consideradas seguras para a redução de
chaves do esquema Rainbow. Ainda, um novo método com este intuito foi
proposto. A estratégia é superficialmente resistente a métodos estatísticos e
algébricos. Entretanto, um método para recuperar uma chave privada
equivalente foi proposto a fim de desprovar a segurança do esquema de
assinatura digital subjacente. Isto habilita uma entidade maliciosa a forjar
assinaturas com baixo esforço computacional. Portanto, consolida-se que
modificações ao esquema Rainbow a fim de reduzir chaves são tênues. Deste
modo, sugere-se que estratégias sejam aplicadas ao esquema a fim de prevenir
a redução de aleatoridade na geração de chaves e assinaturas.
\vspace{\baselineskip}
\textbf{Palavras-chave:} Assinatura digital. Criptografia pós-quântica.
Criptografia baseada em polinômios multivariados. Rainbow.
\end{resumo}
\begin{abstract}
The computational difficulty of breaking public-key cryptographic algorithms
in current use is based on problems from number theory and algebra. With the
advent of quantum computers, it becomes feasible to solve such problems in
polynomial time. The discipline formed by public-key cryptosystems
independent of such problems is called post-quantum cryptography. One example
of a problem that is not known to be solved more efficiently by quantum
algorithms is the polynomial system solving problem, which is the basis for
multivariate cryptography. Prohibitively large polynomial systems represent
private and public keys of these algorithms, but operations on messages are
very efficient. The Rainbow multivariate signature scheme, currently a
finalist of the NIST Post-Quantum Cryptography Standardization Process, is no
exception to this norm. Rainbow is based on Oil--Vinegar polynomials, which
have resisted known cryptanalysis to this day. We propose a method to reduce
Rainbow private keys based on the early substitution of values on the
polynomials of private keys, allowing for their compact representation. A
direct consequence of this fact is that signatures are generated with a
smaller level of randomness, but we argue that this is not statistically
discernible from conventional Rainbow signatures. Our method reduces private
keys by up to a factor of 6.5 and can be combined with strategies that reduce
public keys. However, we find out that our strategy leads to an efficient key
recovery attack, which completely undermines the security of the scheme. By
analyzing how the attack proceeds in practice, we further argue that a
generalization of our previous method is still insecure for several parameter
sets.
\vspace{\baselineskip}
\textbf{Keywords:} Digital signatures. Post-quantum cryptography.
Multivariate cryptography. Rainbow.
\end{abstract}
\listoffigures*
\listoftables*
\tableofcontents*
\textual%
\chapter{Introduction}\label{ch:intro}
Cryptography is the discipline in which techniques for achieving secure
communications are studied. Historically, information was hidden from
adversaries by scrambling its contents with an algorithm that received a single
key as input. The possession of the key is paramount in obtaining the original
information. A well-designed algorithm would prevent its discovery by any means
other than the usage of the specific key. Said key can \emph{encrypt} plain
text or \emph{decrypt} the corresponding ciphered text. This practice, known as
symmetric cryptography, persists nowadays with increasingly sophisticated
algorithms.
Storage, transportation, and communication of such keys are sensitive
procedures. More precisely, an insecure channel can yield a cryptographic key
due to a logistical failure or a malicious actor that controls part of the
channel. With the advent of computers and the consequent facilitation of
communications, this situation became apparent to a greater extent. In order to
solve this problem, a new paradigm of cryptography was introduced
in~\cite{Diffie:197611}, called asymmetric, or \emph{public-key
cryptography}. Within this system, an entity holds a key pair, composed of
a private key and a public key.
Key pairs are mathematically bound to a computationally hard problem to solve,
which is the basis for the security of the resulting cryptosystem. It should be
computationally hard to recover a private key from its corresponding public
key. There exist various methods of constructing a public-key cryptosystem,
with direct consequences on its resulting security, performance, and assurance
of distinct properties. Notably, public-key cryptography provides a digital
alternative to handwritten signatures, which are one of the ubiquitous ways to
ensure trust when a contract is sealed between parties.
Signatures in the form of seals, stamps, or ink drawings present various
logistical and security shortcomings. For instance, individuals are advised to
be physically present to sign any documents, for they cannot be truthfully
identified otherwise. Additionally, this kind of personal calligraphy or
symbolism can be forged with little effort. A modern solution is found within
mathematical frameworks known as \emph{signature schemes}, that enable explicit
assertions on the security of signatures.
A vibrant discipline of public-key cryptography, signature schemes are often
associated with digital systems, in which transit of sensitive messages is
again expected to be secure. The initial public discovery of digital signature
schemes is given in~\cite{Rivest:197802} and still widely used at the time of
the writing. The RSA signature scheme is based on the difficulty of integer
factorization. Other schemes, such as Ed25519~\cite{Bernstein:201208}, are
based on the difficulty of calculating a discrete logarithm. There is no known
polynomial-time algorithm to solve such problems on a classical computer.
Classical computers are electronic, using circuits to perform
computations. However, quantum computers have emerged as a new paradigm, in
which computations are performed outside the scope of classical
mechanics. Although these computers are physically hard to implement,
algorithms that use quantum phenomena have already been proposed and present
a provable speed-up compared to classical computers. One of these
algorithms~\cite{Shor:199710} simplifies the complexity of factoring integers
and calculating discrete logarithms. Consequently, it can be theoretically used
to break widely used signature schemes.
\emph{Post-quantum cryptography} addresses this issue by defining public-key
cryptosystems that are either not known to be affected by quantum computers, or
provably so~\cite{Bernstein:2008}. Such algorithms operate on classical
computers, and as such, post-quantum cryptography does not encompass quantum
algorithms for cryptography. While a new discipline, post-quantum cryptography
has generated considerable research effort to replace current cryptosystems
with comparatively practical, quantum-safe counterparts. A noteworthy example
is the standardization process by the National Institute of Standards and
Technology (NIST)~\cite{Alagic:201901,Alagic:202007}, which houses proposals
based on several distinct mathematical structures as the theoretical bases for
underlying problems.
\section{Scope of our research}
Solving polynomial systems over many variables in the quantum setting is
a computationally hard problem, as we discuss in Section~\ref{sec:mult}. The
discipline of cryptographic primitives based on this problem is known as
\textit{multivariate public-key cryptography} or solely multivariate
cryptography. Families of multivariate cryptosystems are defined according to
how finite fields are employed in the computations, for instance, using a base
field and an extension field. Specific improvements are then obtained, such as
trade-offs between key and signature sizes, or larger security parameters.
Multivariate cryptosystems are extremely time- and space-efficient when
operating over messages. However, public and private keys are defined by large
polynomial systems with little opportunity for compression or sparseness. Large
key sizes frequently impose constraints on the use of signature schemes in
devices of limited storage and processing power. In multivariate cryptography,
keys are often orders of magnitude larger than those used in conventional
signature schemes.
In this thesis, we solely discuss multivariate signature schemes based on the
Oil--Vinegar principle. More precisely, Unbalanced Oil and Vinegar
(UOV)~\cite{Kipnis:199904} and its generalization Rainbow~\cite{Ding:200506}
receive primary attention. Such schemes perform computations over a single
field and present a balanced nature with simple, elegant definitions. Signature
schemes of a different structure such as HFE~\cite{Patarin:199605}, or
multivariate public-key encryption schemes such as SRP~\cite{Duong:201607}, are
not addressed. Furthermore, we specifically discuss strategies for reducing key
sizes of Rainbow-like signature schemes and the security implications of such
methods.
\section{Contributions and outline of this thesis}
We intend to provide the reader with a complete overview of the mathematical
background necessary to understand the family of Oil--Vinegar signature schemes
and related discussions of its security. Thus, in Chapter~\ref{ch:math}, we
start by introducing the mathematical concepts used in the description of such
schemes and then proceed to present the UOV and Rainbow signature schemes.
We develop upon Rainbow on Chapter~\ref{ch:eta}, where we propose a novel
approach to reduce the private key size with three possible implementations. We
discuss the consequences of our modifications via statistical analysis and show
its consequences on key pair sizes for several parameter sets. The contents of
this chapter were published as a peer-reviewed paper in a conference
proceeding~\cite{Zambonin:201907}.
In Chapter~\ref{ch:attack}, we show that our modification is susceptible to
a key recovery attack and discuss the practical efforts associated with
applying the attack. Moreover, we argue that the general form of our proposal,
even in its simplest form, considerably reduces the security levels of several
Rainbow parameter sets.
Finally, in Chapter~\ref{ch:conc}, we summarize and finish our discussion with
pointers to open research topics.
\section{Related work}\label{sec:related}
In this section, we use the previously well-defined boundaries with regards to
the scope of our work to perform the necessary search in the literature. We
recall that our main object of study consists of digital signature schemes
which make use of Oil--Vinegar polynomials in their construction. More
precisely, it is known that key sizes for instances of such schemes are
currently impractical. Thus, we inspect works that aim to mitigate this
situation to identify common strategies and pitfalls.
We conduct our literature review by using the Google Scholar meta-indexer tool,
which covers most scientific literature providers, and allows the user to
delimit the desired scope efficiently. We identify three critical works in the
history of signatures based on Oil--Vinegar
polynomials~\cite{Patarin:199709,Kipnis:199904,Ding:200506} and search for
works that directly cited at least one of those. We consider only publications
written in English that additionally are not patents. From this set, we select
relevant papers and present a summary below.
We note that Rainbow is in the third round of the NIST standardization process
as a finalist~\cite[Sec.~3.20]{Alagic:202007}. Throughout this work, we discuss
the algorithm as submitted to the second round~\cite{Ding:201901}. Currently,
there is no available third-round submission for inspection. However, NIST
strongly suggests that no significant changes are made to the algorithm, and
thus we expect that our conclusions also hold for the newest submission.
In this section, we mention by name several methods that have thwarted
schemes. Such techniques of algebraic cryptanalysis are discussed in
Section~\ref{subsec:analysis}. In particular, equivalent keys can also be used
to reduce private key sizes. A summary of the theory is given in
Section~\ref{sec:mult}, and in Section~\ref{sec:ov} within the context of UOV
and Rainbow.
\subsection{Improvements to private key size}\label{subsec:priv}
Rainbow is the most popular multivariate signature scheme based on Oil--Vinegar
polynomials. However, schemes of that class that feature modifications to
reduce key sizes have been proposed even before Rainbow itself was
proposed. Chronologically, the first schemes with this feature are tame
transformation schemes (TTS)~\cite{Chen:200210}, in which equations of the
private key are required to present a minimum level of sparseness. This
strategy was attacked with various algebraic techniques, e.g. MinRank and the
UOV attack, and corrected several times, as summarized in~\cite{Ding:200604}.
A similar idea introduced at roughly the same time is the use of stepwise
triangular systems (STS) in their generalized form~\cite{Wolf:200603}. The
shape of their private keys is derived from restrictions on polynomials of the
central map. This strategy indirectly enables a reduction in private key
size. STS were found to be insecure in the same work that designed the general
classification. The authors propose an inversion attack that recovers the
original message from its corresponding signature, and they additionally show
that it is possible to build an equivalent private key.
STS and TTS were later found to be particular cases of the general Rainbow
construction~\cite{Ding:200806}, due to their similarities in the usage of
layers and the central map inversion procedure. These advances, as well as
further cryptanalysis of Rainbow itself~\cite{Billet:200609} with the MinRank
attack, led to the proposal of new parameters for TTS and
Rainbow~\cite{Ding:200806}. This improvement was achieved with
``Rainbow-Band-Separation'' (RBS), an extension of the UOV ``reconciliation''
attack.
Further modifications were proposed as an attempt to salvage previous
schemes~\cite{Tsujii:201005}, but every such variant was broken through a key
recovery attack~\cite{Thomae:201207} which stems from the generalization of the
theory of equivalent keys. A consequence of this theory is that the associated
matrices of the affine transformations that hide the central map structure may
be thoroughly simplified. It is explored in~\cite{Czypek:201209}, for instance,
to insert instances of UOV and Rainbow into low-resource devices.
We note that in the case of STS and TTS, reducing the private key was not the
primary intention of the authors, and it is thus not trivial to estimate such
gains through direct comparison to Rainbow. Indeed, the reduction of keys is
a known strategy to increase the performance of operations on signatures. On
the other hand, several proposals in the literature focus on the modification
of Rainbow with the sole purpose of reducing key sizes. This motivation
partially stems from recent efforts to present quantum-safe cryptography as
a valid alternative to traditional digital signature
schemes~\cite{Bernstein:2008}.
A variant of Rainbow based on quadratic forms~\cite{Yasuda:201306} features
a trade-off between the private key and public key sizes to increase the
performance of the signature generation step. It replaces the central map with
a small invertible matrix, reducing the private key size by up to $91.2\%$ and
increasing the public key threefold. However, it was found to be insecure
afterward~\cite{Hashimoto:201601} by algebraic cryptanalysis leading up to the
discovery of equivalent keys.
NC-Rainbow~\cite{Yasuda:201202} is proposed as a novel strategy, based in
non-commutative rings, used to reduce a private key by up to $75\%$. However,
it was shown by independent researchers to be insecure through a combination of
rank attacks and the UOV attack~\cite{Thomae:201209,Hashimoto:201501}. The
variants MB-Rainbow~\cite{Yasuda:201305} and NT-Rainbow~\cite{Yasuda:201404}
are based on the insertion of, respectively, sparse diagonal and non-triangular
matrices into the central map, to reduce the private key by up to $40\%$. The
authors merged MB- and NC-Rainbow into a single scheme
MNT-Rainbow~\cite{Yasuda:201409}, shortening private keys by up to $76\%$.
The parameters of MB- and NT-Rainbow were deemed vulnerable to the RBS attack
by the authors of~\cite{Peng:201706}. Circulant Rainbow is also proposed in
that work, based on the concept of rotating relations introduced to the central
map. It gives a reduction of the private key by up to $45\%$. This approach and
its analogous UOV variant~\cite{Peng:201803} were broken shortly after with an
application of the UOV attack~\cite{Hashimoto:201903}. The strategy of
MB-Rainbow was applied to UOV in~\cite{Tan:201511}, alongside with the
replacement of certain parts of the private key by values generated through
linear recurring sequences. While these strategies reduce the private key by up
to $89.1\%$, they were found to be insecure~\cite{Park:201803} with the
discovery of an attack to find equivalent keys efficiently.
In the ELSA variant~\cite{Shim:201712}, a hidden layer of quadratic equations
is inserted to simplify the private key and obtain a size reduction of up to
$88\%$. Nonetheless, it was found that such structure introduced shortcuts
enabling an attacker to find equivalent keys~\cite{Hashimoto:201909}. The SOV
signature scheme~\cite{Shim:202001} is built by preventing overlap of quadratic
terms in the central map and assigning a specific rank to the matrices
associated with its polynomials, reducing the private key size by up to
$91.9\%$.
Some non-intrusive approaches are also found in the literature. The authors of
Lite-Rainbow-0~\cite{Shim:201512} propose the replacement of the entire private
key with a small pseudorandom number generator (PRNG) seed. The private key is
reduced by a factor of approximately $99.8\%$, but the cost for signature
generation increases in roughly $70\%$. In~\cite{Borges:201209}, it is
suggested to use the RC4 stream cipher in the private key generation of UOV,
presenting analogous decreases in the private key size but no noticeable
effects on signature generation performance. Such an approach also works with
Rainbow~\cite{Dornelles:201910}. A similar result is also given in another
work~\cite{Seo:201403}, in which AES-CTR is employed as the PRNG of choice.
The pre-computation of UOV signatures such that the private key is not required
is proposed in~\cite{Chen:201603}. This ``online-offline'' approach does not
modify the key itself but can be used to yield signatures without the need to
load the private key, thus reducing total storage requirements. Finally, our
proposal~\cite{Zambonin:201907} is discussed in more detail
in~\cite{Bittencourt:201911} and further expanded in Chapter~\ref{ch:eta}.
\subsection{Improvements to public key size}\label{subsec:pub}
In the case of modifications to the public key, there are not as many
approaches as for private keys. The first strategy is based on field lifting,
where the resulting LUOV scheme~\cite{Beullens:201712} has the central map and
public key lifted to an extension field, such that coefficients of those
polynomial systems are now smaller. It is a trade-off between public key size
and signature size, but general enough to be compatible with other public-key
reduction strategies. LUOV has been submitted to the standardization process by
NIST~\cite{Alagic:201901}, and it was subsequently attacked with a new strategy
based on differentials between the base and extension
fields~\cite{Ding:202008}. Thus, it was not considered to the third round of
the process~\cite[Sec.~3.24]{Alagic:202007}. An extension of the LUOV proposal
to Rainbow~\cite{Duong:202003} was submitted before any attacks were known, but
it is unclear if it is affected by the differential method.
A development by the name of BACUOV~\cite{Szepieniec:201908} forces matrices
representing the central map and public key to be block-anti-circulant. It
allows for a compression of both keys in the key pair, although only public key
size improvements are featured on the work mentioned above. Still, the authors
of~\cite{Furue:202004} show that the security levels of BACUOV are smaller than
initially claimed by manipulating the public key and applying the UOV attack.
We also classify the work in~\cite{Szepieniec:201706} as relevant since it is
a general method motivated by the context of public key infrastructures, in
which the size of a public key and signature bundle must be minimized. The
strategy, which consists of a trade-off between signature and public key sizes
with their combined length still reduced, was initially proposed for
multivariate trapdoors, and subsequently generalized to work in different
security models and other signature schemes~\cite{Beullens:201808}.
The approach proposed in~\cite{Petzoldt:201006} is, to the best of our
knowledge, the most scrutinized method for public-key reduction without
compromises to the signature size. It was initially used to create cyclic UOV,
which has cyclic relations built into the public key, reducing its size by up
to $80.5\%$. It explores the fact that specific parts of the public key do not
contribute to the security of the scheme and can be structured at
will. A detailed discussion of the mathematical relations that allow for these
improvements and their limitations are shown in
Subsection~\ref{subsec:linear}. Schemes that make use of this framework are
discussed below.
A strategy analogous to a manipulation between base and extension fields is
given in~\cite{Petzoldt:201109}. The resulting scheme is 0/1 UOV, in which
coefficients of the public key are in $\mathbb{F}_{2}$. The proposal consists
of creating the matrix associated with the structured part of the key according
to a graph structure. Such a graph describes a relationship of coefficients
that, while sparse, does not facilitate known attacks over UOV, reducing the
public key size by up to $88.6\%$. However, it is unknown if this proposal can
be extended to Rainbow.
The CyclicRainbow variant~\cite{Petzoldt:201012} is a direct extension of
cyclic UOV\@. It is featured on the Rainbow submission for the second round of
the standardization process conducted by NIST~\cite{Ding:201901}. It reduces
public keys by up to $53.8\%$, and the associated key generation algorithm is
comparably efficient to Rainbow~\cite{Petzoldt:202004}. Another strategy is the
usage of linear recurring sequences to generate such unimportant parts of the
public key. It is summarized in two
works~\cite{Petzoldt:201103,Petzoldt:201211} and reduces public keys by up to
$56.6\%$.
\subsection{Improvements to total key pair size}\label{subsec:both}
Additionally, there are works in the literature that manage to reduce both
private and public key sizes through novel strategies. The authors of
LWRS~\cite{Zhang:201208} create a scheme with low-resource devices in mind. The
left affine transformation of the usual bipolar construction is dropped, and
thus the private key is reduced accordingly. The ``minus''
method~\cite[Sec.~3.2.1]{Wolf:200511}, which consists of removing several
equations in order to reduce storage requirements, is applied to the public
key.
A modification that consists of adding cross-terms of oil variables in the last
layer to the last two layers of Rainbow is proposed in~\cite{Tan:201603}. With
this method, which is also applicable to UOV, the authors reduce Rainbow
private and public keys by up to $46.2\%$ and $36.8\%$, respectively. The
matrices associated with the public and private keys of the Hufu-UOV
scheme~\cite{Tao:201905} have special Toeplitz and circulant constructions
that, for instance, enable compression of the public key by up to a factor of
$4.5$.
The variant cubic UOV~\cite{Nie:201511} introduces several cubic polynomials in
the central map of the private key. A consequence is that both keys of this
variant are smaller compared to the original UOV scheme, although the focus of
the original work is on reducing public keys. However, it was found to be
insecure~\cite{Hashimoto:201712} through the recovery of equivalent keys.
Repaired versions named CSSv and SVSv were proposed~\cite{Duong:201611}. The
former removes most cubic polynomials and further unnecessary structure from
the key pair, while the latter does not feature cubic polynomials at all and
uses a sparse central map. These proposals achieve further decrease in key
sizes, being comparable to Rainbow in some instances. However, independent
researchers found both strategies to be
flawed~\cite{Shim:201711,Hashimoto:201712} to HighRank and key recovery attacks
using equivalent keys.
There have been commendable efforts in the creation, validation, and correction
of signature schemes based on Oil--Vinegar polynomials. However, most works
that introduce any kind of structure into the key pair eventually succumb to
algebraic cryptanalysis. We perform this review to present evidence that such
approaches should be applied with caution and to suggest a distinct approach,
as presented in Chapters~\ref{ch:eta} and~\ref{ch:attack}.
\chapter{Mathematical background}\label{ch:math}
In this chapter, we give the mathematical toolbox necessary to comprehend the
remainder of this work adequately. In Section~\ref{sec:algebra}, we define
basic algebraic structures that rule the operations of mathematical structures
within our scope. In Section~\ref{sec:mult}, a brief panorama of concepts
associated with multivariate cryptography is given. In Section~\ref{sec:ov}, we
discuss the Unbalanced Oil and Vinegar signature scheme, its generalized form
Rainbow, and how cryptanalytic methods impact this trapdoor.
We use the following symbols throughout this work. The symbol $\random$ is read
as ``chosen randomly from''. The symbol $\approx_{\varepsilon}$ means that two
numbers are equal within a precision of $\varepsilon$. The usual function
composition is given by the symbol $\circ$, and the inverse of a function $f$
is given by $f^{-1}$. The usual mean and standard deviation functions for a set
of elements $S$ are respectively given by $\mu(S)$ and $\sigma(S)$. The
concatenation of two elements up to context is given by $\mid\mid$.
\section{Algebraic structures}\label{sec:algebra}
We define below the elementary algebraic structures known as groups, rings,
fields, and vector spaces. We make this clear distinction since there are
several underlying structures used in multivariate cryptography that, for
instance, operate in the context of a finite field but form only a group or
ring. Most definitions are taken from~\cite{Dummit:2003}
and~\cite{Mullen:2013}, and we refer the reader to these references for proofs
of the facts given below.
\begin{definition}
Given a set $G$ and any $g_{1}, g_{2}, g_{3} \in G$, a \emph{binary operation
$\star$ on a set $G$} is a function $\star : G \times G \to G$, where we
denote $\star(g_{1}, g_{2})$ as $g_{1} \star g_{2}$. A binary operation
$\star$ on a set $G$ may also satisfy the following conditions, for all
$g_{1}, g_{2}, g_{3} \in G$:
\begin{itemize}
\item it is \emph{associative} if
$g_{1} \star (g_{2} \star g_{3}) = (g_{1} \star g_{2}) \star g_{3}$;
\item it is \emph{commutative} if $g_{1} \star g_{2} = g_{2} \star g_{1}$;
\item it is \emph{closed under $G$} if $g_{1} \star g_{2} \in G$.
\end{itemize}
\end{definition}
\begin{definition}
Given a set $G$, any $g \in G$ and a binary operation $\star$ on $G$, a
\emph{group} is an ordered pair $(G, \star)$ that satisfies the following
axioms:
\begin{enumerate}
\item The binary operation $\star$ is \emph{closed under $G$}.
\item The binary operation $\star$ on $G$ is \emph{associative}.
\item There exists a unique element $e \in G$, \emph{the identity of $G$},
such that $g \star e = e \star g = g$.
\item There exists a uniquely determined element $h \in G$, \emph{the
inverse of $g$}, such that $g \star h = h \star g = e$, and indeed the
inverse of $h$ is $g$.
\end{enumerate}
\end{definition}
We are particularly interested in specific types of groups and transformations
between those. Thus, we also give the following definitions, which are useful
throughout the work.
\begin{definition}
Given a group $(G, \star)$, if $G$ is a finite set, then the group is
\emph{finite}. The number of elements in a group is its \emph{order}. A group
is never ``empty'', due to the existence of the identity element.
\end{definition}
\begin{definition}
Given a group $(G, \star)$, if the binary operation $\star$ on $G$ is
commutative, then the group is commutative, or \emph{abelian}.
\end{definition}
If clear from the context, we hereafter refer to group-like structures by the
name of its base set with a sans-serif font and omit the associated binary
operations. By restricting the binary operation to specific elements of the
underlying set, we obtain the intuitive structure defined below.
\begin{definition}\label{def:subgroup}
Given a group $\textsf{G} = (G, \star)$ and $H \subseteq G$, if
$\mathsf{H} = (H, \star)$ forms a group, then $\mathsf{H}$ is a
\emph{subgroup} of $\mathsf{G}$.
\end{definition}
Furthermore, often it is convenient to interpret elements as those of
a different group. However, the binary operation has to be ``preserved''
throughout this mapping. We precisely define this below.
\begin{definition}\label{def:group-hom}
Given two groups $\mathsf{G} = (G, \star), \mathsf{H} = (H, \diamond)$ and
any $g_{1}, g_{2} \in G$, a function $\varphi : \mathsf{G} \to \mathsf{H}$
is a \emph{homomorphism} if
$\varphi(g_{1} \star g_{2}) = \varphi(g_{1}) \diamond \varphi(g_{2})$.
\end{definition}
\begin{definition}\label{def:group-iso}
Given two groups $\mathsf{G}$ and $\mathsf{H}$, if a homomorphism
$\varphi : \mathsf{G} \to \mathsf{H}$ is a bijection, it is an
\emph{isomorphism}. If $\mathsf{G} = \mathsf{H}$, $\varphi$ is an
\emph{endomorphism}. If the function is simultaneously an isomorphism and an
endomorphism, it is an \emph{automorphism}.
\end{definition}
\begin{proposition}\label{prop:group-aut}
Given a group $\mathsf{G}$ and the set of all its automorphisms
$\mathsf{Aut}_{\mathsf{G}}$, then
$\mathsf{Aut}(\mathsf{G}) = (\mathsf{Aut}_{\mathsf{G}}, \circ)$ is a group.
\end{proposition}
Groups carrying usual addition or multiplication operations are \emph{additive}
and \emph{multiplicative} groups, respectively. Common examples are the
additive group under $\mathbb{R}$, that is, $(\mathbb{R}, +)$, and the
multiplicative group of integers modulo $n$,
${(\mathbb{Z}/n\mathbb{Z})}^{\times}$. Adding further operations to groups
leads to more usual arithmetic structures.
\begin{definition}
Given a set $R$, any $r_{1}, r_{2}, r_{3} \in R$, and two binary operations
$+$ and $\ast$ on $R$, a \emph{ring} is an ordered $3$-tuple $(R, +, \ast)$
satisfying the following axioms:
\begin{enumerate}
\item The ordered pair $(R, +)$ forms an \emph{abelian group}.
\item The binary operation $\ast$ on $R$ is \emph{associative}.
\item The binary operation \emph{$\ast$ left- and right-distributes over
$+$}, that is,
$r_{1} \ast (r_{2} + r_{3}) = (r_{1} \ast r_{2}) + (r_{1} \ast r_{3})$
and
$(r_{2} + r_{3}) \ast r_{1} = (r_{2} \ast r_{1}) + (r_{3} \ast r_{1})$.
\end{enumerate}
\end{definition}
\begin{definition}
Given a ring $(R, +, \ast)$, if the binary operation $\ast$ is commutative,
then the ring is \emph{commutative}.
\end{definition}
We hereafter refer to $0$ as the \emph{additive identity} and to $1$ as the
\emph{multiplicative identity} of a ring, if it exists. Analogously, for any
element $r$ of a ring, we denote $-r$ as the \emph{additive inverse of $r$},
and $r^{-1}$ as the \emph{multiplicative inverse of $r$}, if it exists. Indeed,
these inverse binary operations are respectively known as \emph{subtraction}
and \emph{division}.
\begin{definition}
Given a ring $(R, +, \ast)$, the smallest integer $n$ such that
$1 + 1 + \cdots + 1 = 0$, where $1$ is added $n - 1$ times, is the
\emph{characteristic} of the ring. If such $n$ does not exist, then the
characteristic is zero.
\end{definition}
\begin{definition}
Given a ring $\mathsf{R}$ and any $r \in R, r \neq 0$, if there exists a
unique element $1 \in R$ such that $r \ast 1 = 1 \ast r = r$, then
$\mathsf{R}$ is a \emph{ring with unity}.
\end{definition}
\begin{definition}
Given a ring $\mathsf{R}$ with unity, if $(R \setminus \{0\}, \ast)$ forms a
group, then $\mathsf{R}$ is a \emph{division ring}.
\end{definition}
The ring of integers equipped with the usual addition and multiplication
operations $(\mathbb{Z}, +, \ast)$ is a commutative ring with unity. The
quaternions, a number system employed, for example, in three-dimensional
computer graphics, form a non-commutative division ring with its usual binary
operations.
\begin{definition}
A commutative division ring is a \emph{field}.
\end{definition}
Particularly, Galois fields or \emph{finite fields} are at the heart of various
branches of mathematics and computer science, and especially cryptography. They
are denoted as $\mathbb{F}_{q},\; q = p^{n}$ where the prime number $p$ is the
\emph{characteristic} of the field, and $q$ is omitted for brevity if
appropriate.
\begin{proposition}[{\cite[Cor.~2.18]{Mullen:2013}}]
The order of a finite field is always of the form $p^{n}$ with $p$ prime and
$n \in \mathbb{N}$. If $n = 1$, then it is a \emph{prime field}.
\end{proposition}
For instance, the prime field $\mathbb{F}_{p}$ is composed of the set
$\{0, \dots, p - 1\}$ equipped with the usual addition and multiplication
operations modulo $p$. The respective inverse operations are subtraction modulo
$p$ and the modular multiplicative inverse, which is calculated by solving
Bézout's identity with the extended Euclidean algorithm. Apart from the
examples above, we can also construct more elaborate structures over
mathematical objects that live outside the usual sets of numbers. Specifically,
we aim to define non-prime fields with the following framework.
\begin{definition}
Given $k \in \mathbb{N}_{0}$, a set of \emph{coefficients} $A$ with
$a_{0}, \dots, a_{k} \in A$, and an \emph{indeterminate} $x$, a
\emph{univariate polynomial} is an expression of the form
\begin{align}
\sum_{i = 0}^{k} a_{i} x^{i}
= a_{k} \cdot x^{k} + \cdots + a_{2} \cdot x^{2} + a_{1} \cdot x + a_{0}.
\end{align}
Each of the terms in the summation is a \emph{monomial}.
\end{definition}
\begin{definition}
Given $n \in \mathbb{N}$, a polynomial over a sequence of indeterminate
$\mathbf{x} = (x_{1}, \dots, x_{n})$ is a \emph{multivariate polynomial}.
The highest sum of the exponents of the indeterminates in a monomial with
a non-zero coefficient is the \emph{degree} of the polynomial, or
$\deg(\cdot)$. If all monomials have the same degree, then the polynomial
is \emph{homogeneous}.
\end{definition}
Polynomials of degree zero, one, two and three are respectively called
\emph{constant}, \emph{linear}, \emph{quadratic} and \emph{cubic}. We note that
addition and subtraction between polynomials is done by simply operating
coefficients of monomials with the same product of variables, that is,
\begin{align}
\sum_{i = 0}^{k} a_{i} \mathbf{x}^{i}
\pm \sum_{i = 0}^{k} b_{i} \mathbf{x}^{i}
= \sum_{i = 0}^{k} (a_{i} \pm b_{i}) \mathbf{x}^{i}
\end{align}
where $\mathbf{x}^{i} = x_{1}^{i_{1}} \cdots x_{n}^{i_{n}}$ and
$i_{1}, \dots, i_{n} \in \mathbb{N}_{0}$. Multiplication is calculated through
repeated applications of the distributive law. Division is calculated with the
Euclidean algorithm, considering $x^{0} < x^{1} < \cdots < x^{k}$ as an
intuitive ordering to identify divisors and dividends, in the case of
univariate polynomials. This allows us to define the following structure.
\begin{definition}
Given $k \in \mathbb{N}_{0}$, coefficients $a_{0}, \dots, a_{k}$ in
a commutative ring $\mathsf{R}$ and indeterminate $x$, the set of polynomials
$\sum_{i}^{k} a_{i} x^{i}$ form an \emph{univariate polynomial ring}
$\mathsf{R}[x]$. Given $n \in \mathbb{N}$ and indeterminates $\mathbf{x}$,
the respective set of polynomials form a \emph{multivariate polynomial ring}
$\mathsf{R}[x_{1}, \dots, x_{n}]$ or $\mathsf{R}[\mathbf{x}]$.
\end{definition}
\begin{definition}
A polynomial $f_{1} \in \mathsf{R}[\mathbf{x}]$ is \emph{irreducible over
$\mathsf{R}$} if $f_{1} = f_{2} f_{3}$, with
$f_{2}, f_{3} \in \mathsf{R}[\mathbf{x}]$ implies that $f_{2}$ or $f_{3}$ is
in $\mathsf{R}$. Otherwise, $f_{1}$ is reducible over $\mathsf{R}$.
\end{definition}
We note that an irreducible polynomial over a ring always
exists~\cite[Remark~2.1.25]{Mullen:2013}. An irreducible polynomial cannot be
reduced or divided into simpler polynomials. In the context of multivariate
polynomial rings, the division operation is ambiguous if no additional
structure is attached. This distinction is discussed in detail in
Section~\ref{sec:mult}, tailored to the context of multivariate cryptography.
We are now ready to discuss non-prime fields. Let $p$ be a prime number and
$n \in \mathbb{N}$. It is well-known that there exists a finite field with
$p^{n}$ elements~\cite[Thm.~2.1.32]{Mullen:2013}. Indeed, the finite field
$\mathbb{F}_{p^{n}}$ can be represented as the set of polynomials with
coefficients in $\mathbb{F}_{p}$ and degree smaller than $n$ carrying the usual
polynomial arithmetic operations modulo $f$. Finite fields of the form
$\mathbb{F}_{2^{n}}$ are especially useful in computer science, given that
coefficients are restricted to $\{0, 1\}$ and may be represented by bit arrays,
with arithmetic done through logic operations.
We remark that a polynomial by itself is simply a mathematical expression, but
it is commonly used to define a \emph{polynomial function}. In this case, the
indeterminates are the \emph{variables} of the function $f(\mathbf{x})$
associated with the polynomial. The domain and codomain of such a function must
be thus well-defined, for instance, by picking a field. Further, the solutions
to the associated equation $f(\mathbf{x}) = 0$, if they exist, are the zeros of
the function or the \emph{roots} of a polynomial.
Several polynomials may be used to model a complex structure in which they
behave concurrently. It is thus useful to have a relevant mathematical concept
to represent this situation.
\begin{definition}\label{def:poly-sys}
Given $m \in \mathbb{N}$, a \emph{polynomial system} is a simultaneous
sequence of polynomial equations
$f^{(1)}(\mathbf{x}) = 0, \dots, f^{(m)}(\mathbf{x}) = 0$, or
\begin{align}
\begin{dcases}
f^{(1)}(x_{1}, \dots, x_{n}) &= 0, \\
\quad \vdots \\
f^{(m)}(x_{1}, \dots, x_{n}) &= 0.
\end{dcases}
\end{align}
\end{definition}
A polynomial system may be classified with regards to the relation between $m$
and $n$. Consider that no equations in the system are linear combinations of
any other equations. If this is not the case, then the polynomial system can be
manipulated to remove equations or variables, affecting $m$ or $n$. Then, if
$m > n$, the system is \emph{overdetermined}. If $m < n$, the system is
\emph{underdetermined}. If $m = n$, the system is \emph{exactly determined}.
Furthermore, a system is \emph{consistent} if there exists at least one
solution $x_{1}, \dots, x_{n}$ and \emph{inconsistent} otherwise, independently
of $m$ and $n$. Root-finding techniques have been studied extensively, and
there exist several different methods to calculate one or all
roots~\cite[Chap.~9]{Press:2007}. We are mostly focused on solving systems of
linear equations, in which all polynomials have $\deg(\cdot) \leq 1$, that can
be solved through Gaussian elimination~\cite[Sec.~2.2]{Press:2007}.
It is useful to define an algebraic structure that falls outside of the class
of ring-like structures to generalize the notion of grouping polynomials into
a system.
\begin{definition}
Given a finite field $\mathbb{F}$ equipped with binary operations $+$ and
$\ast$, a set $V$, any elements
$s_{1}, s_{2} \in \mathbb{F},\; \mathbf{v_{1}}, \mathbf{v_{2}} \in V$,
a binary operation $\bm{+}$ on $V$ and a binary operation
$\bm{\times} : \mathbb{F} \to V$, a \emph{vector space over $\mathbb{F}$} is
an ordered $3$-tuple $(V, \bm{+}, \bm{\times})$ satisfying the following
axioms:
\begin{enumerate}
\item The ordered pair $(V, \bm{+})$ forms an \emph{abelian group}.
\item The binary operation $\bm{\times}$ is \emph{associative}, that is,
$s_{1} \bm{\times} (s_{2} \bm{\times} \mathbf{v_{1}})
= (s_{1} \ast s_{2}) \bm{\times} \mathbf{v_{1}}$.
\item The binary operation \emph{$\bm{\times}$ left distributes over
$\bm{+}$}, that is,
$s_{1} \bm{\times} (\mathbf{v_{1}} \bm{+} \mathbf{v_{2}})
= (s_{1} \bm{\times} \mathbf{v_{1}})
\bm{+} (s_{1} \bm{\times} \mathbf{v_{2}})$.
\item The binary operation \emph{$\bm{+}$ left distributes over
$\bm{\times}$}, that is,
$(s_{1} + s_{2}) \bm{\times} \mathbf{v_{1}}
= (s_{1} \bm{\times} \mathbf{v_{1}})
\bm{+} (s_{2} \bm{\times} \mathbf{v_{1}})$.
\end{enumerate}
\end{definition}
Vector spaces are the object of study of linear algebra. The members of $V$ are
\emph{vectors}, and the members of $\mathbb{F}$ are \emph{scalars}. It follows
that the binary operation $\bm{\times}$ is the \emph{scalar multiplication}. If
clear from the context, we hereafter name vector spaces by capital boldface
letters, without mentioning the associated binary operations. Given
$c \in \mathbb{N}$, if members of $V$ are $c$-tuples of elements of
$\mathbb{F}$, the resulting vector space is a \emph{coordinate space}
represented by $\mathbb{F}^{c}$, with component-wise addition, subtraction and
scalar multiplication. We can thus recall Definition~\ref{def:poly-sys} and
create a function of several polynomials.
\begin{definition}\label{def:poly-map}
Given $n, m \in \mathbb{N}$, a polynomial ring
$\mathsf{F} = \mathbb{F}[x_{1}, \dots, x_{n}]$ and
$f^{(1)}, \dots, f^{(m)} \in \mathsf{F}$, a \emph{polynomial map} is a
function $j : \mathbb{F}^{n} \to \mathbb{F}^{m}$ defined by an $m$-tuple of
polynomial functions
\begin{align}
j(x_{1}, \dots, x_{n})
= (f^{(1)}(x_{1}, \dots, x_{n}), \dots, f^{(m)}(x_{1}, \dots, x_{n})).
\end{align}
\end{definition}
We give other useful traits of a vector space before returning to polynomial
maps.
\begin{definition}
Given a vector space $(V, \bm{+}, \bm{\times})$ over
$\mathbb{F}$, $\mathbf{v_{1}}, \dots, \mathbf{v_{n}} \in V$ and
$s_{1}, \dots, s_{n} \in \mathbb{F}$, if the unique solution for the linear