数学代写|密码学代写cryptography theory代考|CS355

Doug I. Jones

Doug I. Jones

Lorem ipsum dolor sit amet, cons the all tetur adiscing elit

如果你也在 怎样代写密码学cryptography theory这个学科遇到相关的难题,请随时右上角联系我们的24/7代写客服。

密码学创造了具有隐藏意义的信息;密码分析是破解这些加密信息以恢复其意义的科学。许多人用密码学一词来代替密码学;然而,重要的是要记住,密码学包括了密码学和密码分析。

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

我们提供的密码学cryptography theory及其相关学科的代写,服务范围广, 其中包括但不限于:

  • Statistical Inference 统计推断
  • Statistical Computing 统计计算
  • Advanced Probability Theory 高等概率论
  • Advanced Mathematical Statistics 高等数理统计学
  • (Generalized) Linear Models 广义线性模型
  • Statistical Machine Learning 统计机器学习
  • Longitudinal Data Analysis 纵向数据分析
  • Foundations of Data Science 数据科学基础
数学代写|密码学代写cryptography theory代考|CS355

数学代写|密码学代写cryptography theory代考|Changing the Rijndael S-Box

After studying this previous section, you should realize that there are three factors in generating the AES s-box. Those are the selection of the irreducible polynomial, in this case it was $P=x 8+x 4+x 3+x+1$, which is $11 \mathrm{~B}$ in hexadecimal notation, or 100011011 in binary numbers. As we mentioned previously, the creators of the Rijndael cipher stated clearly that this number was chosen simply because it was the first one of the list of irreducible polynomials of degree 8 in the reference book they chose (Daemen and Rijmen 1999). That means that one could choose other irreducible polynomials.

There are a total of 30 irreducible polynomials of degree 8 to choose from. This gives you 29 alternatives to the traditional s-box for AES, each with well-tested security. For more details on this altemative, you can look into Rabin’s test for irreducibility. Das, Sanjoy, Subhrapratim, and Subhash demonstrated equally secure variation of the Rijndael, by changing the chosen irreducible polynomial. You can use any of the 30 possible irreducible polynomials, each of these is equally secure to the original Rijndael cipher s-box.

Altering the Rijndael s-box is only practical if you have the ability to ensure that all parties to encrypted communication will be using your modified s-box. If you simply modify the s-box on your end, then you would render communication with other parties impossible. Even though those other parties will have the same key, and the same algorithm (AES), they will be using standard s-boxes. This is why altering AES s-boxes is primarily an issue for government entities who want to have secure communication with a limited number of involved parties.

A second option, one that may be the simplest to implement, is to change the translation vector (the final number you xor with). Obviously, there are 255 possible variations. Rather than utilize 0x63, use any of the other possible variations for that final byte. While simple to implement, it may be more difficult to test. Some variations might adversely affect one of the three criteria we are attempting to maintain. In fact, selecting the wrong translation vector may lead to no change at all when applied to the product of the preceding matrix multiplication.

The third method is to change the affine transform. This can be more difficult to implement but safe if you simply alter parameters within the existing transform. Section $5.2$ of Sinha and Arya paper discusses this in detail. According to Cui, Huang, Zhong, Chang, and Yang, the choice of affine transformation matrix or irreducible polynomial has no significant impact on the security of the resultant ciphertext.

数学代写|密码学代写cryptography theory代考|What Is a Cryptographic Hash?

A cryptographic hash is a special type of algorithm. William Stallings describes a hash as follows:

  1. H can be applied to a block of data of variable size.
  2. H produces a fixed-length output.
  3. $\mathrm{H}(\mathrm{X})$ is relatively easy to compute for any given $\mathrm{x}$, making both hardware and software implementations practical. $\mathrm{X}$ is whatever you input into the hash.
  4. For any given value $h$, it is computationally infeasible to find $x$ such that $\mathrm{H}(\mathrm{x})=\mathrm{h}$. This is sometimes referred to in the literature as the one-way property.
  5. For any given block $x$, it is computationally infeasible to find $y !=x$ such that $\mathrm{H}(\mathrm{y})=\mathrm{H}(\mathrm{x})$. This is sometimes referred to as weak collision resistance.
  6. It is computationally infeasible to find any pair $x, y$ such that $H(x)=H(y)$
    This is sometimes referred to as strong collision resistance.
    This is a very accurate definition but may be a bit technical for the novice. Allow me to explain the properties of a cryptographic hash in a manner that is a bit less technical, but no less true. In order to be a cryptographic hash function, an algorithm needs to have three properties. The first property is that the function is one way. That means it cannot be “unhashed.” Now this may seem a bit odd at first. An algorithm that is not reversible? Not simply that it is difficult to reverse, but that it is literally impossible to reverse. Yes, that is exactly what I mean. Much like trying to take a scrambled egg and unscramble it and put it back in the eggshell, it is just not possible. When we examine specific hashing algorithms later in this chapter, the reason why a cryptographic hash is irreversible should become very clear.

The second property that any cryptographic has must have is that a variable length input produces a fixed length output. That means that no matter what size of input you have, you will get the same size output. Each particular cryptographic hash algorithm has a specific size output. For example, SHA-1 produces a 160-bit hash. It does not matter whether you input 1 byte or 1 terabyte, you get out 160 bits.

How do you get fixed length output regardless of the size of the input? Different algorithms will each use their own specific approach, but in general it involves compressing all the data into a block of a specific size. If the input is smaller than the block, then pad it. Consider the following example. This particular example is trivial and for demonstrative purposes only. It would not suffice as a secure cryptographic hash. We will call this trivial hashing algorithm or THA:

Step 1: if the input is less than 64 bits, then pad it with zeros until you achieve 64 bits. If it is greater than 64 bits, then divide it into 64-bit segments. Make sure the last segment is exactly 64 bits, even if you need to pad it with zeros.
Step 2. Divide each 64-bit block into two halves.
Step 3: XOR the left have of each block with the right half of the block.
Step 4: If there is more than one block, start at the first block XORing it with the next block. Continue this until you get to the last block. The output from the final XOR operation is your hash. If you had only one block, then take the result of XORing the left half with the right half and that is your hash.

Now I cannot stress enough this would not be a secure hashing algorithm. In fact, it likely would not be referred to as a cryptographic hashing algorithm. It is very easy to envision collisions occurring in this scenario, and quite easily in fact. However, this does illustrate a rather primitive way in which the input text can be condensed (or padded) to reach a specific size. Actuall hashing algorithms that we will explore later in this chapter are more complex. However this trivial psuedo-hash should give you a feel for the process.

Finally, the algorithm must be collision resistant. But what precisely does that mean? A collision occurs if two different inputs produce the same output. If you use SHA-1, then you have a 160 -bit output. That means $2^{160}$ possible outputs. Clearly, you could have trillions of different inputs and never see a collision. It should be noted that the size of the output (also called a digest or message digest) is only one factor in collision resistance. The nature of the algorithm itself also has an impact on collision resistance.

数学代写|密码学代写cryptography theory代考|CS355

密码学代写

数学代写|密码学代写cryptography theory代考| change the Rijndael S-Box

.


在学习了上一节之后,您应该意识到生成AES s-box有三个因素。这些是不可约多项式的选择,在这个例子中是$P=x 8+x 4+x 3+x+1$,十六进制表示$11 \mathrm{~B}$,或者二进制表示100011011。正如我们前面提到的,Rijndael密码的创造者明确表示,选择这个数只是因为它是他们所选参考书(Daemen and Rijmen 1999)中8次不可约多项式列表中的第一个。这意味着可以选择其他不可约多项式


总共有30个8次不可约多项式可供选择。这为您提供了29种替代传统的AES s-box的方法,每种方法的安全性都经过了良好的测试。关于这个替代方案的更多细节,您可以查看拉宾的不可约性测试。Das, Sanjoy, Subhrapratim和Subhash通过改变所选的不可约多项式,证明了Rijndael的同样安全的变体。你可以使用30个可能的不可约多项式中的任何一个,它们中的每一个都与原始的Rijndael密码s-box一样安全


只有当你有能力确保加密通信的所有各方都将使用你修改过的s-box时,更改Rijndael s-box才是实际的。如果您只是修改了您端s框,那么您将无法与其他方进行通信。尽管其他各方将拥有相同的密钥和相同的算法(AES),但它们将使用标准的s盒。这就是为什么修改AES s-box对于那些希望与有限数量的相关方进行安全通信的政府实体来说是一个主要问题


第二个选项,可能是最简单的实现,是改变平移向量(你xor的最终数字)。显然,有255种可能的变体。不要使用0x63,而是使用最后一个字节的任何其他可能的变体。虽然实现起来很简单,但测试起来可能比较困难。一些变化可能会对我们试图维护的三个标准中的一个产生不利影响。事实上,选择了错误的平移向量,当应用于前面矩阵乘法的乘积时,可能会导致根本没有变化


第三种方法是改变仿射变换。这可能更难实现,但如果您只是在现有转换中更改参数则是安全的。Sinha和Arya论文的$5.2$部分对此进行了详细讨论。Cui, Huang, Zhong, Chang和Yang认为,选择仿射变换矩阵或不可约多项式对生成的密文的安全性没有显著影响

数学代写|密码学代写密码理论代考|什么是密码哈希?


加密哈希是一种特殊类型的算法。William Stallings对散列的描述如下:

  1. H可以应用于可变大小的数据块。
  2. H输出定长。
  3. $\mathrm{H}(\mathrm{X})$对于任何给定的$\mathrm{x}$都相对容易计算,这使得硬件和软件实现都非常实用。$\mathrm{X}$是您输入到散列中的内容。
  4. 对于任何给定的值$h$,在计算上不可能找到$x$使得$\mathrm{H}(\mathrm{x})=\mathrm{h}$。这在文献中有时被称为单向属性。
  5. 对于任何给定的块$x$,在计算上无法找到$y !=x$,使得$\mathrm{H}(\mathrm{y})=\mathrm{H}(\mathrm{x})$。这有时被称为弱抗碰撞能力。
  6. 在计算上不可能找到任何一对$x, y$,以至于$H(x)=H(y)$
    这有时被称为强抗碰撞性。
    这是一个非常准确的定义,但对新手来说可能有点专业。请允许我用一种不那么技术性,但同样真实的方式来解释加密散列的属性。为了成为一个加密哈希函数,一个算法需要有三个属性。第一个性质是函数是单向的。这意味着它不能被“撤销”。乍一看,这可能有点奇怪。一个不可逆的算法?这不仅是很难逆转,而且实际上是不可能逆转的。是的,我就是这个意思。就像试图把一个炒鸡蛋整理好再放回蛋壳里一样,这是不可能的。当我们在本章后面讨论特定的哈希算法时,密码哈希不可逆的原因应该变得非常清楚任何密码学都必须具备的第二个属性是,可变长度的输入产生固定长度的输出。这意味着不管你有多大的输入,你会得到相同大小的输出。每个特定的加密哈希算法都有特定大小的输出。例如,SHA-1生成一个160位的哈希。不管你输入的是1字节还是1 tb,你得到的都是160位如何获得固定长度的输出而不考虑输入的大小?不同的算法将使用各自特定的方法,但通常它涉及到将所有数据压缩到特定大小的块中。如果输入小于块,则填充它。考虑下面的例子。这个特殊的例子是微不足道的,仅用于演示目的。它作为安全的加密散列是不够的。我们将称之为平凡哈希算法或THA:步骤1:如果输入小于64位,则用0填充,直到达到64位。如果大于64位,则将其划分为64位段。确保最后一段正好是64位,即使您需要用0填充它。
    步骤2。将每个64位块分成两半。
    步骤3:将每个块的左部分与该块的右部分异或。步骤4:如果有多个块,从第一个块开始用下一个块XORing它。继续这样做,直到你到达最后一个区块。最后的XOR操作的输出是您的散列。如果你只有一个块,那么将左一半和右一半进行XORing的结果,这就是你的哈希值现在我必须强调这不是一个安全的哈希算法。事实上,它可能不会被称为加密哈希算法。在这种情况下很容易想象碰撞的发生,事实上也很容易。然而,这确实说明了一种相当原始的方法,可以将输入文本压缩(或填充)以达到特定的大小。实际上,我们将在本章后面讨论的哈希算法更加复杂。然而,这个简单的伪散列应该会让您对这个过程有一个感觉最后,算法必须是抗碰撞的。但这到底意味着什么呢?如果两个不同的输入产生相同的输出,就会发生碰撞。如果使用SHA-1,则有160位的输出。这意味着$2^{160}$可能的输出。很明显,你可能有数万亿种不同的输入,却永远看不到碰撞。应该注意的是,输出(也称为摘要或消息摘要)的大小只是抗碰撞性的一个因素。算法本身的性质对抗碰撞性也有影响
数学代写|密码学代写cryptography theory代考 请认准statistics-lab™

统计代写请认准statistics-lab™. statistics-lab™为您的留学生涯保驾护航。

金融工程代写

金融工程是使用数学技术来解决金融问题。金融工程使用计算机科学、统计学、经济学和应用数学领域的工具和知识来解决当前的金融问题,以及设计新的和创新的金融产品。

非参数统计代写

非参数统计指的是一种统计方法,其中不假设数据来自于由少数参数决定的规定模型;这种模型的例子包括正态分布模型和线性回归模型。

广义线性模型代考

广义线性模型(GLM)归属统计学领域,是一种应用灵活的线性回归模型。该模型允许因变量的偏差分布有除了正态分布之外的其它分布。

术语 广义线性模型(GLM)通常是指给定连续和/或分类预测因素的连续响应变量的常规线性回归模型。它包括多元线性回归,以及方差分析和方差分析(仅含固定效应)。

有限元方法代写

有限元方法(FEM)是一种流行的方法,用于数值解决工程和数学建模中出现的微分方程。典型的问题领域包括结构分析、传热、流体流动、质量运输和电磁势等传统领域。

有限元是一种通用的数值方法,用于解决两个或三个空间变量的偏微分方程(即一些边界值问题)。为了解决一个问题,有限元将一个大系统细分为更小、更简单的部分,称为有限元。这是通过在空间维度上的特定空间离散化来实现的,它是通过构建对象的网格来实现的:用于求解的数值域,它有有限数量的点。边界值问题的有限元方法表述最终导致一个代数方程组。该方法在域上对未知函数进行逼近。[1] 然后将模拟这些有限元的简单方程组合成一个更大的方程系统,以模拟整个问题。然后,有限元通过变化微积分使相关的误差函数最小化来逼近一个解决方案。

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

随机分析代写


随机微积分是数学的一个分支,对随机过程进行操作。它允许为随机过程的积分定义一个关于随机过程的一致的积分理论。这个领域是由日本数学家伊藤清在第二次世界大战期间创建并开始的。

时间序列分析代写

随机过程,是依赖于参数的一组随机变量的全体,参数通常是时间。 随机变量是随机现象的数量表现,其时间序列是一组按照时间发生先后顺序进行排列的数据点序列。通常一组时间序列的时间间隔为一恒定值(如1秒,5分钟,12小时,7天,1年),因此时间序列可以作为离散时间数据进行分析处理。研究时间序列数据的意义在于现实中,往往需要研究某个事物其随时间发展变化的规律。这就需要通过研究该事物过去发展的历史记录,以得到其自身发展的规律。

回归分析代写

多元回归分析渐进(Multiple Regression Analysis Asymptotics)属于计量经济学领域,主要是一种数学上的统计分析方法,可以分析复杂情况下各影响因素的数学关系,在自然科学、社会和经济学等多个领域内应用广泛。

MATLAB代写

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

Days
Hours
Minutes
Seconds

hurry up

15% OFF

On All Tickets

Don’t hesitate and buy tickets today – All tickets are at a special price until 15.08.2021. Hope to see you there :)