密码学简述

对称加密

对称加密也称为常规加密、私钥或单钥加密,在公钥加密开发之前,是唯一被使用的加密类型。

对称加密原理

一个对称加密方案由5部分组成:

  • 明文:原始消息或数据,作为算法的输入。
  • 加密算法:加密算法对明文进行各种替换和转换。
  • 秘密密钥:密码密钥也是算法的输入。算法进行的具体替换和转换取决于这个密钥。
  • 密文:这是产生的已被打乱的消息传输。它取决于明文和秘密密钥。对于一个给定的消息,两个不同的密钥会产生两个不同的密文。
  • 解密算法:本质上是加密算法的反向执行。它使用密文和同一密钥产生原始明文。

对称加密的安全使用有如下两个要求:

  • 强加密算法:当攻击者拥有很多密文以及每个密文对应的明文时,他依然不能够破译密文或者解出密钥。
  • 安全的密钥获取方式:发送者和接收者必须通过一个安全的方式获得密钥并且保证密钥安全。

公认:对称加密的安全取决于密钥的保密性而非算法的保密性,即通常认为在已知密文和加密/解密算法的基础上不能够破译消息。即不需要使算法保密,只需保证密钥保密。

公钥密码

公钥密码原理

关于公钥密码的几种常见误解:

  • 第一种:
    • 误解:公钥密码比传统密码更抗密码分析。
    • 正解:任何加密方案的安全性取决于:1) 密钥长度;2)攻破密码所需的计算量。从抗密码分析的角度来说,原则上不能说传统密码优于公钥密码,也不能说公钥密码优于传统密码。
  • 第二种:
    • 误解:认为公钥密码是一种通用技术,传统密码则过时了。
    • 正解:公钥密码方案的计算(CPU)开销太大,传统密码被淘汰似乎不太可能。
  • 第三种:
    • 误解:传统密码中与密钥分配中心的会话是很麻烦的事情,而用公钥密码实现的密钥分配非常简单。
    • 正解:公钥密码也需要某种形式的协议,该协议包含一个中心代理。所以与传统密码相比,公钥所需的操作并不简单或者高效。

公钥密码方案由6个部分组成:

  • 明文:算法的输入,它是可读的消息或数据。
  • 加密算法:加密算法对明文进行各种形式的变换。
  • 公钥和私钥:算法的输入,一个用于加密,一个用于解密。
  • 密文:算法的输出,取决于明文和密钥。对于给定的消息,不同的密钥将产生不同的密文。
  • 解密算法:该算法接收密文和匹配的密钥,生成原始的明文。

传统密码算法中使用的密钥被特别地称为密钥。用于公钥密码的两个密钥被称为公钥私钥私钥总是保密的,但仍然被称为私钥而不是密钥,这是为了避免与传统密码混淆。

公钥密码系统的应用

公钥密码系统

  • 加密/解密:发送者使用接收者的公钥加密消息。接收者用私钥解密消息。
  • 数字签名:发送者使用私钥"签名"消息。接收者使用发送者的公钥解密"签名",从而可以核对消息是否遭篡改。
  • 密钥交换:通信双方交换公钥密码系统会话密钥。

数字签名

  • 假设,Bob想给Alice发送消息,且消息的保密性并不重要,但消息确实来自Bob非常重要
  • 那么,Bob可以使用私钥对消息进行加密,Bob将明文和密文一并发送给Alice,Alice使用Bob的公钥对密文进行解密,Alice将解密后的明文和实际明文进行比对,便可确保消息是来自Bob。
  • 因为,没有其他人拥有Bob的私钥,所以其他任何人都不能创建由Bob的公钥能够解密的密文。因此,整个加密的消息就称为一个数字签名(digital signature)
  • 此外,由于没有Bob的私钥就不可能篡改消息,所以数字签名不仅认证了消息源,还保证了数据的完整性

密钥分配

对称加密的密钥分配

对于对称加密,加密双方必须共享同一密钥,而且必须保护密钥不被他人读取。此外,尝尝需要频繁地改变密钥来减少某个攻击者可能知道密钥带来的数据泄露。因此,任何密码系统的强度取决于密钥分发技术。

对于通信双方A和B,密钥分发技术有下列选择:

  • A能够选定密钥并通过物理方法传递给B。(DTLS握手
  • 第三方可以选定密钥并通过物理方法传递给A和B。
  • 如果A和B不久之前使用过一个密钥,一方能够把使用旧密钥加密的新密钥传递给另一方。
  • 如果A和B各自有一个到达第三方C的加密链路,C能够在加密链路上传递密钥给A和B。(密钥分发中心:省去握手的RTT,加快流媒体首帧

第四种选择,需要用到两种类型和密钥:

  • 会话密钥:A和B通信的一个一次性的会话密钥。
  • 永久密钥:A和C、B和C之间的永久密钥,用于分发会话密钥。(可以使用公钥建立分发会话密钥的安全传输信道

第四种选择,需要一个密钥分发中心(Key Distribution Center, KDC)。密钥分发中心决定哪些系统之间允许互相通信。当两个系统被允许建立连接时,密钥分发中心就为这条连接提供一个一次性会话密钥。

KDC的操作过程如下:

  • 当一个主机A期望与另外一个主机建立连接时,它传递一个连接请求给 KDC。主机 A 和 KDC 之间的通信使用一个只有此主机 A 和 KDC 共享的主密钥 (master key)加密。
  • 如果KDC同意建立连接请求,则它产生一个唯一的一次性会话密钥。它用主机A与之共享的永久密钥加密这个会话密钥,并把加密后的结果发送给主机A。类似地,它用主机B与之共享地永久密钥加密这个会话密钥,并把加密后地结果发送给主机B。
  • A和B现在可以建立一个逻辑连接并交换消息和数据,其中所有的消息或数据都使用临时性会话密钥加密。

非对称加密的密钥分配

公钥的分发

公钥证书被用于公钥的分发。公钥证书主要包含:

  • 公钥
  • 公钥所有者的用户ID
  • 可信的第三方签名的整个数据块。

第三方就是用户团体所信任的认证中心(CA),如政府机构或金融机构。用户可通过安全渠道把自己的公钥提交给这个CA,获取证书。然后用户就可以发布这个证书。任何需要该用户公钥的人都可以获取这个证书,并且可以通过所附的签名验证该证书的有效性(见数字签名小节)。

基于公钥密码的密钥(对称加密的密钥)分发

当Bob想要与Alice通信时,可以按下面的步骤获取对称加密的密钥:

  • 准备对称加密的密钥。
  • 利用 Alice 的公钥,使用公钥加密的方法加密会话密钥(对称加密的密钥)。
  • 把加密的会话密钥发送给 Alice 。
  • Alice 使用私钥解密得到会话密钥。
  • Alice 使用会话密钥和 Bob 通信。

公钥证书的标准——X.509
主要包含以下内容:

  • 版本号
  • 序列号
  • 签名算法标识符(用于识别CA签写证书时所用的算法)
  • 签发人姓名
  • 有效期
  • 主体名
  • 主体公钥信息(公钥及公钥算法)

详见:rfc5260(X.509)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容