## 数学代写|密码学代写cryptography theory代考|CIS556

2022年10月6日

couryes-lab™ 为您的留学生涯保驾护航 在代写密码学cryptography theory方面已经树立了自己的口碑, 保证靠谱, 高质且原创的统计Statistics代写服务。我们的专家在代写密码学cryptography theory代写方面经验极为丰富，各种代写密码学cryptography theory相关的作业也就用不着说。

• Statistical Inference 统计推断
• Statistical Computing 统计计算
• (Generalized) Linear Models 广义线性模型
• Statistical Machine Learning 统计机器学习
• Longitudinal Data Analysis 纵向数据分析
• Foundations of Data Science 数据科学基础
couryes™为您提供可以保分的包课服务

## 数学代写|密码学代写cryptography theory代考|The Irreducible Polynomial

The Rijndael s-box is based on a specific irreducible polynomial in a specific Galois Field (Daemen and Rijmen 1999):
$$\mathrm{GF}\left(2^8\right)=\mathrm{GF}(2)[x] /\left(x^8+x^4+x^3+x+1\right)$$
In hexadecimal this is 11B, in binary it is 100011011 .
What is an irreducible polynomial? An irreducible polynomial that cannot be factored into the product of two other polynomials. In other words, it cannot be reduced. This is in reference to a specific field; in the case of the irreducible polynomial we are considering it is in reference to the Galois Field $\operatorname{GF}\left(2^8\right)$. Put more formally: A polynomial is irreducible in $\mathrm{GF}(\mathrm{p})$ if it does not factor over $\mathrm{GF}(\mathrm{p})$. Otherwise it is reducible.

Why was this specific irreducible polynomial chosen? Does it have some special property that makes it more suitable for cryptography? Well to answer that question let us consider the actual words of the inventors of Rijndael “The polynomial $\mathrm{m}$ (x) (’11B’) for the multiplication in $\operatorname{GF}\left(2^8\right)$ is the first one of the list of irreducible polynomials of degree 8” (Daemen and Rijmen 1999). In other words, they looked at a list of irreducible polynomials in a specific text and chose the first one. This is important to keep in mind. Any irreducible polynomial of the appropriate size can be used.

The text that Daemen and Rijmen consulted for their list of irreducible polynomials was “Introduction to finite fields and their applications,” Cambridge University Press, 1986. You can check the same source that was cited by the inventors of Rijndael. Here are a few irreducible polynomials from that list (in binary form, you may place them in polynomial or hex form if you wish).
100101011
100111001
10011111
101001101
101011111
101110111
110001011
You may have noticed that all of these, and the one chosen for Rijndael have 9 digits. Why use degree 8 ( 9 digits) isn’t that one too many? “Clearly, the result will be a binary polynomial of degree below 8 . Unlike for addition, there is no simple operation at byte level.” – page $3 / 4$ of the specification.

The reason an irreducible polynomial must be used, instead of just any polynomial (also called a primitive polynomial), is that we are trying to make a non-linear permutation function that has diffusion, spreading input bits to output bits in a non-linear way.

## 数学代写|密码学代写cryptography theory代考|Multiplicative Inverse

In mathematics, the reciprocal, or multiplicative inverse, of a number $x$ is the number which, when multiplied by $x$, yields 1 . The multiplicative inverse for the real numbers, for example, is $1 / x$. To avoid confusion by writing the inverse using set-specific notation, it is generally written as $x^{-1}$.

Multiplication in Galois Field, however, requires more tedious work. Suppose $f$ $(p)$ and $g(p)$ are polynomials in $g f(p n)$ and let $m(p)$ be an irreducible polynomial (or a polynomial that cannot be factored) of degree at least $\mathrm{n}$ in $g(p n)$. We want $m(p)$ to be a polynomial of degree at least $n$ so that the product of two $f(p)$ and $g(p)$ does not exceed $11111111=255$ as the product needs to be stored as a byte. If $h(p)$ denotes the resulting product then.
$$h(p)=(f(p) * g(p))(\bmod m(p))$$
On the other hand, the multiplicative inverse of $f(p)$ is given by $a(p)$ such that
$$(f(p) * a(p))(\bmod m(p))=1$$

Note that calculating the product of two polynomials and the multiplicative inverse of a polynomial requires both reducing coefficients modulo $p$ and reducing polynomials modulo $m(p)$. The reduced polynomial can be calculated easily with long division while the best way to compute the multiplicative inverse is by using Extended Euclidean Algorithm. The details on the calculations in $g f\left(2^8\right)$ are best explained in the following example.

Finite field multiplication is more difficult than addition and is achieved by multiplying the polynomials for the two elements concemed and collecting like powers of $x$ in the result. Since each polynomial can have powers of $x$ up to 7 , the result can have powers of $x$ up to 14 and will no longer fit within a single byte. This situation is handled by replacing the result with the remainder polynomial after division by a special eighth order irreducible polynomial, which, as you may recall for Rijndael, is:
$$m(x)=x 8+x 4+x 3+x+1$$
The finite field element $(00000010)$ is the polynomial $x$, which means that multiplying another element by this value increases all its powers of $x$ by 1 . This is equivalent to shifting its byte representation up by 1 bit so that the bit at position $i$ moves to position $i+1$. If the top bit is set prior to this move, it will overflow to create an $x 8$ term, in which case the modular polynomial is added to cancel this additional bit, leaving a result that fits within a single byte.

For example, multiplying (11001000) by $x$, that is $(00000010)$, the initial result is $1(10010000)$. The “overflow” bit is then removed by adding $1(00011011)$, the modular polynomial, using an exclusive-or operation to give a final result of (10001011). However, you need not calculate the multiplicative inverse manually, the table in 8-14 provides multiplicative inverses (Fig. 8.14).

# 密码学代写

## 数学代写|密码学代写密码学理论代考|不可约多项式

Rijndael s-box是基于特定伽罗瓦场中的特定不可约多项式(Daemen and Rijmen 1999):
$$\mathrm{GF}\left(2^8\right)=\mathrm{GF}(2)[x] /\left(x^8+x^4+x^3+x+1\right)$$

Daemen和Rijmen为他们的不可约多项式列表所参考的文本是“有限域及其应用导论”，剑桥大学出版社，1986年。你可以查一下Rijndael的发明者所引用的同一出处。下面是这个列表中的一些不可约多项式(以二进制形式，如果你愿意，你可以把它们放在多项式或十六进制形式)。
100101011
100111001
10011111
101001101
101011111
101110111
110001011

## 数学代写|密码学代写密码学理论代考|乘法逆

$$h(p)=(f(p) * g(p))(\bmod m(p))$$

$$(f(p) * a(p))(\bmod m(p))=1$$

$$m(x)=x 8+x 4+x 3+x+1$$

## 有限元方法代写

tatistics-lab作为专业的留学生服务机构，多年来已为美国、英国、加拿大、澳洲等留学热门地的学生提供专业的学术服务，包括但不限于Essay代写，Assignment代写，Dissertation代写，Report代写，小组作业代写，Proposal代写，Paper代写，Presentation代写，计算机作业代写，论文修改和润色，网课代做，exam代考等等。写作范围涵盖高中，本科，研究生等海外留学全阶段，辐射金融，经济学，会计学，审计学，管理学等全球99%专业科目。写作团队既有专业英语母语作者，也有海外名校硕博留学生，每位写作老师都拥有过硬的语言能力，专业的学科背景和学术写作经验。我们承诺100%原创，100%专业，100%准时，100%满意。

## MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。