暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

图解密码学基础

小9运维 2020-09-30
1897

密码学是研究信息安全保护的科学,以实现信息的保密性、完整性、可用性及抗抵赖性,简单说就是全方位无死角保护所传送的信息!

密码学主要由密码编码和密码分析两个部分组成。密码编码学研究信息等变换处理以实现信息等安全保护,密码分析学研究通过密文获取对应的明文信息。简单来说就是密码编码研究加密技术,密码分析研究如何破解密码。

0x01 密码系统

密码系统(Cryptosystem)由以下五个部分组成

  • 明文空间 M:需要采用密码技术进行保护的消息

  • 密文空间 C:用密码技术处理过的明文的结果

  • 密钥空间 K:K=<,>,每个K由加密密钥和解密密钥组成

  • 加密算法 E:将明文变换成密文所使用的组操作运算规则

  • 解密算法 D:将密文恢复成明文所使用的组操作运算规则

0x02 密码体制

显然,若,称为单密钥密码体制或者对称密码体制或者传统密码体制。否则为双密钥体制,进而,若不能由推出,就可将公开且不会损害的安全,这种密码体制称为公开密钥密码体制,简称公钥密码体制

0x02.1 对称密码体制

对称密码体制(私钥密码体制):对信息进行明/密文变换时,加解和解密使用相同密钥的密码体制

安全性依赖于:

1、加密算法的安全性

2、密钥的秘密性

优点:效率高,算法简单,加密速度快,适合大量数量的加密

缺点:

  • 消息的发送者和接收者必须事先通过安全渠道交换密钥
  • n个使用者,就需要个密钥,密钥管理困难
  • 无法认证消息源,无法进行数字签名

用途:信息量大的加密需求

代表算法:DES算法、3DES算法、IDEA算法、AES算法、SM4分组算法

0x02.2 非对称密码体制

非对称密码体制(公钥密码体制):对信息进行明/密文变换时,加密和解密密钥不相同的密码体制。

在非对称密码体制中,每个用户都具有一对密钥,一个用于加密,一个用于解密,其中加密密钥可以公开,称之为公钥,解密密钥属于秘密,称之为私钥,只有用户本人知道。

优点:

  • 密钥分发方便
  • 密钥保管量少
  • 支持数字签名

缺点:实现速度慢,不适合信息量大的加密情况

用途:适用于加密关键性的、核心的机密数据

代表算法:RSA算法、ElGamal算法、椭圆曲线加密算法

问题:由于公钥对外公开,因此

1、如果某人用自己的公钥加密数据发送给我,我无法判断该数据是谁发送的

2、用户用私钥加密的数据,任何知道该用户公钥的人都能解密其数据。

代表算法:RSA算法

  1. 相关数学基础

  • 欧拉函数:对于一个正整数n,小于n且与n互素的正整数的个数,记为φ(n)。

    对于一个素数n,可知φ(n) = n-1
    对于两个素数p和q,它们的乘积满足n = p * q,则可知φ(n) = (p-1) * (q-1)

  • 欧几里得算法:gcd(a,b)表示a和b的最大公约数

    gcd(a,b) = 1,表示a,b最大公约数为1,说明a和b互质

  • 同余:

    两个整数a,b,若它们除以整数m所得的余数相等,则称a与b对于模m同余,或a同余b模m,记作

  • RSA密码体制参数的定义

    • 随机选择两个大素数p和q   (保密)
    • 计算n = p * q            (n公开)
    • 计算φ(n) = (p-1) * (q-1) (φ(n)保密)
    • 随机选取一个正整数e,且满足1 < e < φ(n),并且gcd(e,φ(n)) = 1 (e公开)
    • 根据φ,求出d  (d保密)
    • 加密运算  解密运算

    RSA密码公开的加密钥=<n,e>,保密的解密钥=<p,q,d,φ(n)>

    1. RSA密码的特点

    • RSA算法具有加解密算法的可逆性,加密和解密运算可交换,可同时确保数据的秘密性和数据的真实性
    • RSA密码的核心运算是模幂运算,实现效率高
  • RSA密码的安全性

    • 保证选取的素数p和q足够大,使得给定n的情况下分解n在计算上不可行,应采用足够大的整数n,一般n至少取1024位,通常是2048位

    0x02.3 混合加密体制

    混合加密体制:同时使用对称密码和非对称密码的体制。

    对称加密的一个很大问题就是通信双方如何将密钥传输给对方,安全起见一般采取带外传输,也就是说如果加密通信是在网络,那么密钥的传输需要通过其他途径,如短信,即使如此,也很难保证密钥传输的安全性。再就是为了安全密钥也应该定期更换,这更加重了密钥分发和管理的难度。

    而非对称加密加解最大的优点是事先不需要传输密钥,但速度慢。

    因此实际应用中,经常采取混合密码体制。

    假设Harden与James要实现保密通信,工作过程如下:

    1、消息发送者Harden用对称密钥把需要发送的消息加密

    2、Harden用James的公钥对称密钥加密,形成数字信封

    3、Harden将加密消息和数字信封一起传送给James

    4、James收到Harden的加密消息和数字信封后,先用自己的私钥将数字信封解开获取对称密钥

    5、James使用对称密钥把加密消息解开

    0x02.4 国产商业密码算法

    0x03 散列函数与消息摘要

    散列函数也称为Hash函数,它能够对不同长度的输入信息,产生固定长度的输出。

    固定长度的输出称为原消息的散列或者消息摘要,消息摘要长度固定且比原始信息小得多,一般情况下,消息摘要是不可逆的,即从消息摘要无法还原原文。

    令h表示Hash函数,h满足下列条件:

    1、输入长度是任意的,输出是固定的

    2、对每一个给定的h和M,计算h(M)是容易的

    3、给定h,找到两个不同的M1、M2,使得h(M1)=h(M2)在计算上不可行

    常见的散列算法:MD5、SHA、SM3、SHA-1

    算法名称算法特征描述
    MD5算法输入512位,产生128位消息摘要,常用于文件完整性检查
    SHA算法输入512位,产生160位消息摘要,比MD5更安全,已有版本SHA-2,SHA-3
    SM3国产算法输入512位,产生256位消息摘要

    0x04 数字签名

    数字签名是指发送方以电子形式签名一个消息或文件,签名后的消息或文件能在网络中传输,并表示签名人对该消息或文件的内容负有责任。

    数字签名综合使用了消息摘要非对称加密技术。

    数字签名满足以下三个条件:

    1、不可抵赖。签名者事后不能否认自己的签名

    2、真实性。接收者能验证签名,其他任何人都不能伪造签名

    3、可鉴别性。当双方关于签名真伪发生争执,第三方能解决双方的争执

    假设Harden需要签名发送一份电子合同文件给James。

    Harden数字签名的示意图:

    1、Harden使用Hash函数将电子合同文件生成一个消息摘要

    2、Harden使用自己的私钥,将消息摘要加密形成一个数字签名

    3、Harden把电子合同文件和数字签名一同发送给James

    James收到Harden发送的电子合同文件及数字签名后,验证数字签名过程如下:

    1、James使用与Harden相同的Hash函数,计算收到的电子合同的消息摘要

    2、James使用Harden的公钥,解密来自Harden的数字签名,恢复Harden的消息摘要

    3、James比较自己计算得到的消息摘要和恢复Harden的消息摘要异同,若摘要相同,则说明电子合同文件来自Harden,否则表明电子合同文件已被篡改

    0x05 数字证书

    数字证书也称为公钥证书,是一种权威的电子文档,由权威公正的第三方认证机构(CA)签发,广泛用于涉及需要身份认证和数据安全的领域。

    简单来说,数字证书可以类比为我们的身份证号,而第三方认证机构(CA)则等同于公an局。

    我们都知道入住酒店的时候,必须要出示本人身份证给前台工作人员,而工作人员会将身份证与酒店系统内存储的公an局的身份证信息进行对比,一致即可入住。在网络中,数字证书的作用就等同于身份证

    数字证书的格式:

    最简单的可以是:公钥、名称和证书授权中心的数字签名

    目前 X.509 是一种通用的证书格式,它的第三个版本目前使用广泛,证书内容包括:版本、序列号、签名算法标识、签发者、有效期、主体、主体公开密钥、CA的数字签名、可选型等等

    数字证书种类:

    1、服务器证书:证明服务器的身份和进行通信加密,客户端可以与服务器端建立SSL连接,然后通信数据都会被加密。

    2、电子邮件证书:证明电子邮件发件人的真实性,也可发送加密邮件,只有接收方才能打得开。

    3、客户端证书:主要用于身份验证和数字签名,安全的客户端证书经常存储的专门的USBKey中,使用的时候需要输入保护密码,以防被导出和复制,如指纹识别、语音播报、带显示器的USBKey等等。

    参考

    一篇文章搞定密码学基础

    Java 密码学算法

    密码学基本理论



    投 稿 说 明

    请点击左下角 [ 阅读原文 ] 进一步查看

    文章转载自小9运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论