面试日记|信雅达和银行卡中心
密码研发和隐私计算研发
MAC和Hash的区别?#
- MAC:消息验证码
- Hash:消息摘要/杂凑
主动攻击是指攻击者通过假冒、重放、篡改、拒绝等方式完成攻击。
消息认证可以抵抗主动攻击,可以验证接收消息的真实性、完整性、顺序性和时间性;数字签名也可抗主动攻击,用于验证消息的不可否认性。
消息认证和数字签名机制都会产生认证符。认证符是用于认证消息的数值,产生方式又可以分为消息验证码和哈希函数。
MAC#
消息认证码是指消息「
如何使用?
假设通信双方共享一个密钥
先计算 ,并将 发送给 收到后对 做相同的运算,得到一个新的 ,并与收到的 比较
可以看出
- 完整性:接收方相信发送方发来的消息是未被篡改的
- 真实性:接收方相信发送方不是冒充的
MAC函数和加密函数的区别?
- MAC函数不必是可逆的,因此与加密算法相比,更加不容易攻破!
- 消息认证码的穷搜索攻击比对使用相同长度密钥的加密算法的穷搜索攻击的代价要更大。
补充:加密算法的安全性
加密算法「对称或者公钥」的安全性一般取决于密钥的长度。如果加密算法没有弱点,则敌手只能使用穷搜索攻击以测试所有可能的密钥,如果密钥长度为
DES数据认证算法#
以CBC模式的DES算法为例,其初始向量为零向量,需被认证的数据(消息、记录、文件、程序)被分为64比特长的分组
数据认证码为
ZUC数据认证算法#
ZUC的完整性算法128-EIA3是消息认证码函数,用于为输入的消息使用完整性密钥
- 输入
- 输出
- 算法

(1)根据参数按照一定规则产生初始向量
(2)以完整性密钥
(3)把
具体参考:国密复习
Hash函数#
哈希函数
Hash函数的特点:
- 单向性
- 输入任意,输出固定
HMAC#
将Hash函数用于构造MAC方法,HMAC中Hash函数作为一个黑盒,容易替换。

输入消息
最终:
HMAC的安全性取决于其中使用哈希函数的安全性。
椭圆曲线上倍点运算的几何解释?#
给出椭圆曲线方程的定义:
下面是两个例子:

有图可知:椭圆曲线关于
椭圆曲线上的加法运算:若曲线上的三个点位于同一条直线上,则它们的和为
为加法单位元,即对椭圆曲线上的任一点 ,都有- 设
是椭圆曲线上的一点,则它的加法逆元为- 因为
和 的连线延长到无穷远点时,得到椭圆曲线上的另外一点 ,即曲线上三点 共线,所以 - 由
,得
- 因为
- 「加法」设
和 是椭圆曲线上的 坐标不同的两点, 的定义为:一条通过 的直线,与椭圆曲线交于 ,由 ,得- 这个交点是唯一的,除非所做的直线是
点或 点的切点,此时为 和
- 这个交点是唯一的,除非所做的直线是
- 「倍点」点
的倍点定义:在 点做的椭圆曲线的一条切线,设切线与椭圆曲线交于点 ,则定义 ,类似的有
查看文件的具体行命令?#
- cat 文件 :查看文件内容
- cat > 文件:创建文件
- cat file1 file2 > file:合并文件
- cat -n file1 >> file2:追加文件
- cat : >file :清空文件

- tac 文件:反向显示

- sed 文件:查看文件内容的特定一段,根据时间或者行号范围查找
- sed -n '5,10p' file:查看文件第5行到第10行的内容
- sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' file:按照时间段查看日志

- head -n 文件:查看文件前
行,默认为10行

- tail -n 文件:查看文件后
行,默认为10行- tail -f 文件:动态查看文件内容

-
less 文件:以较少内容展示,按辅助键(数字+回车、空格+上下)
-
more 文件:以较多内容展示,按辅助键(数字+回车、空格+上下)
-
wc -l 文件:统计文件内容的行数
- -w :统计文件内容的单词数
- -c:统计文件内容的字节数

- 查看文件中的内容:cat 文件 | grep “内容”

- vim查看文件内容:/“内容”,在搜索结果中切换上/下一个结果 :N/n

SM4如何做完整性验证?#
传统构造MAC的方法使用的是分组密码,正如上面提到的「DES数据认证算法」,使用CBC模式下的SM4构造MAC算法如下:
需要被认证的数据被分为128比特长的分组
分组模式的应用场景?#
- CTR模式:不需要填充,代码实现起来很方便,而且加密和解密的方法是一样的,并且可以实现并发分组,效率高,安全性也有保障,被广泛用于 ATM 网络安全和IPSec应用中。
参考#
1、现代密码学-杨波
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/17221896.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)