Posted on Categories:Cryptography, 密码学, 数学代写

数学代写|密码学代写Cryptography代考|CSEC241B Message digest codes

avatest™

avatest™帮您通过考试

avatest™的各个学科专家已帮了学生顺利通过达上千场考试。我们保证您快速准时完成各时长和类型的考试，包括in class、take home、online、proctor。写手整理各样的资源来或按照您学校的资料教您，创造模拟试题，提供所有的问题例子，以保证您在真实考试中取得的通过率是85%以上。如果您有即将到来的每周、季考、期中或期末考试，我们都能帮助您！

•最快12小时交付

•200+ 英语母语导师

•70分以下全额退款

数学代写|密码学代写CRYPTOGRAPHY代考|Message digest codes

A related attack is linear cryptanalysis

Definition $16 .$
A message digest code is an unkeyed hash function.
What do we mean by secure?
Three problems
If a hash function is to be considered secure we require three problems to be difficult to solve:

• Preimage problem
• Second preimage problem
• Collision problem
Preimage problem
Problem $1 .$
Inputs: $h: \mathcal{X} \rightarrow \mathcal{Y}, y \in \mathcal{Y}$
Find: $x \in \mathcal{X}$ such that $h(x)=y$
Second preimage problem
Problem $2 .$
Inputs: $h: \mathcal{X} \rightarrow \mathcal{Y}, x \in \mathcal{X}$
Find: $x^{\prime} \in \mathcal{X}$ such that $h\left(x^{\prime}\right)=h(x)$
Collision problem
Problem $3 .$
Inputs: $h: \mathcal{X} \rightarrow \mathcal{Y}$
Find: $x, x^{\prime} \in \mathcal{X}$ such that $x \neq x^{\prime}$ and $h(x)=h\left(x^{\prime}\right)$
Naive attack
• $h$ produces hashes of length $n$ bits.
• Let $y=h(x)$ for some message $x$.
• For random bitstrings $x^{\prime}$ of bounded bitlength, calculate $h\left(x^{\prime}\right)$ and check if $h\left(x^{\prime}\right)=y$
In a group of 23 randomly chosen people, at least two will share a birthday with probability at least $\frac{1}{2}$.
How is this relevant anyway?
• Define $h:$ humans $\rightarrow$ days of year by setting $h(x)$ equal to the birth day of person $x$.
• Finding two people with the same birthday is the same as finding a collision for this hash.

数学代写|密码学代写CRYPTOGRAPHY代考|Creating MDCs

Iterated hash functions
Iterative hash function

Let compress : ${0,1}^{m+t} \rightarrow{0,1}^{m}$ be a compression function $(t \geq 1)$.
We construct an iterated hash function:
$$h: \bigcup_{i=m+t+1}^{\infty}{0,1}^{i} \rightarrow{0,1}^{n}$$
Let $g:{0,1}^{m} \rightarrow{0,1}^{n}$ be a (public) optional transformation function.
Steps:

1. Preprocessing
2. Iteration
3. Optional transformation
Algorithm $5 .$
Inputs: $x,|x| \geq m+t+1$
Output: $h(x)$ of length $n$
Construct $y=y_{1}\left|y_{2}\right| \ldots | y_{r}$ where $\left|y_{i}\right|=t \forall i$
$z_{0}=I V=$ public initial value of length $m$
for $i=1$ to $r$ do end do $z_{i}=\operatorname{compress}\left(z_{i-1} | y_{i}\right)$
4. if optional transform do
5. return $h(x)=g\left(z_{r}\right)$
6. else
7. $$8. \operatorname{return} h(x)=z_{r} 9.$$
10. The preprocessing step is commonly:
11. $$12. y=x | \operatorname{pad}(x) 13.$$
14. where pad is a padding function which incorporates the value of $|x|$ and pads the result with additional bits (perhaps zeros) so that $y$ has the correct length.
15. We need to ensure that $x \mapsto y$ is injective. Why?
16. The Merkle-Damgård construction
17. Theorem $3 .$
18. Any collision resistant compression function can be extended to a collision resistant hash function which takes arbitrary length inputs.
• This can be done efficiently by the Merkle-Damgård construction
• This construction specialises the generic construction above
Let compress : ${0,1}^{n+t} \rightarrow{0,1}^{n}$ be a collision resistant compression function $(t \geq 1)$.
We construct a collision resistant hash function:
$$h: \bigcup_{i=n+t+1}^{\infty}{0,1}^{i} \rightarrow{0,1}^{n}$$
• Break input $x$, of bitlength $b$, into blocks $x_{1}, \ldots, x_{r}$. Set $y_{i}=x_{i}$, each of bitlength $t$, padding out the last block with 0’s if needed.
• Put $y_{r+1}=\left(\right.$ right justified) binary representation of $b\left(\right.$ assume $\left.b<2^{t}\right)$

数学代写|密码学代写CRYPTOGRAPHY代考|Message digest codes

• 原像问题
• 第二个原像问题
• 碰撞问题
原像问题
问题1.
输入: $h: \mathcal{X} \rightarrow \mathcal{Y}, y \in \mathcal{Y}$
寻找: $x \in \mathcal{X}$ 这样 $h(x)=y$
第二个原像问题
Problem2.
输入: $h: \mathcal{X} \rightarrow \mathcal{Y}, x \in \mathcal{X}$
寻找: $x^{\prime} \in \mathcal{X}$ 这样 $h\left(x^{\prime}\right)=h(x)$
碰撞问题
问题 3 .
输入: $h: \mathcal{X} \rightarrow \mathcal{Y}$
寻找: $x, x^{\prime} \in \mathcal{X}$ 这样 $x \neq x^{\prime}$ 和 $h(x)=h\left(x^{\prime}\right)$
天真的攻击
• $h$ 产生长度的哈苃 $n$ 位。
• 让 $y=h(x)$ 对于一些消息 $x$.
• 对于随机位串 $x^{\prime}$ 有界位长，计算 $h\left(x^{\prime}\right)$ 并检查是否 $h\left(x^{\prime}\right)=y$
生日”悖论”
在一组 23 个随机选择的人中，至少有两个人至少有概率共享一个生日 $\frac{1}{2}$.
无论如何，这有什么关系?
• 定义 $h:$ 人类 $\rightarrow$ 一年中的天数通过设置 $h(x)$ 等于人的生日 $x$.
• 查找两个生日相同的人与查找此哈希的冲突相同。

数学代写|密码学代写CRYPTOGRAPHY代考|Creating MDCs

$$h: \bigcup_{i=m+t+1}^{\infty} 0,1^{i} \rightarrow 0,1^{n}$$

1. 预处理
2. 迭代
3. 可选变换
算法 5 .
输入: $x,|x| \geq m+t+1$
输出: $h(x)$ 长度 $n$
构造 $y=y_{1}\left|y_{2}\right| \ldots \mid y_{r}$ 在哪里 $\left|y_{i}\right|=t \forall i$
$z_{0}=I V=$ 长度的公共初始值 $m$
为了 $i=1$ 至 $r$ 做完做 $z_{i}=$ compress $\left(z_{i-1} \mid y_{i}\right)$
4. 如果可选转换做
5. 返回 $h(x)=g\left(z_{r}\right)$
6. 别的
7. $\$ \$$8. Ioperatorname { return } \mathrm{h}(\mathrm{x})=\mathrm{z}_{-}{\mathrm{r}} 9. \ \$$
10. 预处理步骤通常是:
11. $\$ \$$12. y=x \mid \backslash \peratorname { pad }(x) 13. \ \$$
14. 其中 pad 是一个填充函数，它包含 $|x|$ 并用额外的位 (可能是零) 填充結果，以便 $y$ 有正确的长度。
15. 我们需要确保 $x \mapsto y$ 是内射的。为什么?
16. Merkle-Damgård 结构
17. 定理3.
18. 任何抗碰撞压缩函数都可以扩展为采用任意长度输入的抗碰撞哈布函数。
• 这可以通过 Merkle-Damgård 结构有效地完成
• 此构造专门用于
Let compress 上面的通用构造: $0,1^{n+t} \rightarrow 0,1^{n}$ 是一个抗碰撞压缩函数 $(t \geq 1)$.
我们构造了一个抗碰撞哈㹷函数:
$$h: \bigcup_{i=n+t+1}^{\infty} 0,1^{i} \rightarrow 0,1^{n}$$
• 中断输入 $x$, 位长 $b$, 成块 $x_{1}, \ldots, x_{r}$. 放 $y_{i}=x_{i}$, 每个位长 $t$, 如果需要，用 0 填充最后一个块。
• 放 $y_{r+1}=$ (右对齐) 的二进制表示 $b$ (认为 $b<2^{t}$ )

MATLAB代写

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