DAY 1:
第一章:现代密码学开篇
前面几节讲的都是密码学发展史,《New Directions in Cryptography》这篇划时代的学术论文带我走进了密码学,密码学真神奇。
记录一个知识点数据的三易性:1、易删除 2、易修改 3、易复制
在万事具备时1.3节末尾引用了《康熙王朝》里面的“来了来了,风信来了!准备登船收复台湾!”很有意思。
进入正题密码学新方向来了,一个数学小故事指数运算带给我们”DH密钥协商”
(a,g^b)=(b,g^a)=g^{a*b}
密码学灵魂之问
这个技术背后的原理是什么?
keypoint:单项函数和单项陷门函数的结合,可以用来进行密钥协商。
午憩一下。。。。。。
话接上回
公钥密码学(Public Key Cryptography)
在已知的:加密系统=算法+密钥 进化到了:加密系统=算法+公钥+私钥。简直神来之笔。现在引入一个新概念其实不新,但我不会数字签名,任何人都可以验证签名,但是只有私钥拥有者可以签名。
令人眼花缭乱的密码术语,写一些没听过的吧,“零知识证明,安全多方计算,承诺,秘密共享”现代密码学核心是计算,计算的核心是算法。密码技术就是由若干算法组成,已有的密码技术可分为三类,密码方案,密码协议,密码组件/密码原语。协议和方案本质上没有区别,但还是不要把密码方案说成密码协议,有人不高兴了。密码组件(低级底层技术)用于构造密码方案和协议。
好戏开始了数字签名
三个栓发:
密钥栓发:功能:为用户生成密钥对
输入一个安全参数,栓发输出一个密钥对(pk,sk)
签名栓发:功能:为用户计算签名
输入消息m和私钥sk,栓发输出签名a(其实不是这个字母那个暂时不会读造一个平替)
验证栓发:功能:为用户验证签名
(pk,m,a),输出“正确”或者“错误”
算法定义
密钥算法,*签名算法,验证算法,为啥只有三个因为没必要增加哈哈。
涉及两个核心确认:1、几个算法 2、确认算法输入和输出对象(如公钥 私钥 消息或者签名)
不可伪造性,不可否认性,完整性
最后六个字“学习,借鉴,渗透”
敌人太过狡猾,同志仍需努力。

DAY 2:
距离下午上课还有半个小时看获书。
开篇醒目,数字签名的方案构造之路
函数!函数!函数!
看到一个注释单项陷门函数严格意义上是一个置换(还好数基学过)
看到一个孪生素数猜想问题,看着还挺有趣的,怎么感觉跑偏了全是数学,嘿嘿因为密码学的核心是计算,所以数学的东西也能用上。
看到了最熟悉的RSA,它的单向陷门函数就是对明文加密的函数,RSA的陷门就是d,d就是私钥理解起来挺简单的,就是做题nan。同态攻击RSA浅浅涉略,引出下文哈希函数的诞生(之前开组会的时候还听到了一个叫做变色龙哈希的具体干嘛的没听懂不过应该挺牛逼的)
为什么能抵御同态攻击呢?这部分比较有东西展开讲
经过理解加看了一些材料:
因为哈希函数有单向性,代数不可逆意味着无法反推,
雪崩效应,一点点变化得到的结果将完全不一样
还有一个非线性混淆这个不太懂,等会了再来更新。
进入三大构造环节
通用构造:
简单模式:
用比较粗暴的单向函数签名方案,对1bit的消息进行一次数字签名,问题来了怎么变多次签名呢?一分为二的树形签名结构(Ralph Merkle提出)
具体思路:1、产生两个一次签名的子公钥(pk_1,pk_2)和对应的私钥(sk_1,sk_2);
2、设置消息m=(pk_1,pk_2);
3、用一次签名的原始私钥sk对m签名得到am
4、用sk_1对m进行一次签名得到a_1,用sk_2对m进行一次签名得到a_2;
m1的签名(pk_1,pk_2,am,a_1) m2的签名(pk_1,pk_2,am,a_2)
困难模式:
通用构造必须满足单向,陷门,置换,Claw-Free Pairs 四种性质统称四函数
(满足可证明安全)四函数->三函数->两函数->一函数(单向函数)
噩梦模式:
在四函数变为一函数的过程中效率还是不够高,为了达到安全且高效的要求难度指数级增加。
今天就到这里吧,明天继续

DAY3
明日复明日,明日何其多?
具体构造:
数字签名方案特殊的函数实例构造方案。最大特点是充分利用函数的特殊性质。
这时候就会有问题什么是特殊性?我也好奇呢,经过提炼和抽象主要就剩下了三大性质:
单项性、陷门性、和同态性(同态性最能玩出别样的东西),都说是主要了当然还有一些辅助性的小性质,如回归性。
两类无敌组和,第一类利用单向性和陷门性,第二类利用单向性和同态性(Diffie和Hellman就是在此基础上提出的线上密钥协商)。
第一类就是上文提到的RSA,单向即为加密函数,陷门就是d。
第二类嘛,预知下文接着看,看着突然发现我对同态的定义有点模糊了,吓得我赶紧去复习一手,搞科研还得有丰富的知识储备啊。

这里附一段同态相关概念 设(A,⋆) 和 (B,∘) 是两个代数结构,映射f:A→B 称为同态,若对所有 a1,a2∈A f(a1⋆a2)=f(a1)∘f(a2) 即:先运算再映射 = 先映射再运算。
同态函数协商的密钥值无法直接通过原来的函数得到,优势很明显但有一点点不足就是需要计算的值尽可能大,但这样就需要提高算法效率不然得宕机。公钥密码方案的构造有个重要的工具-循环群(顾名思义元素与元素计算之后还会在群内)
群函数f(x)比单向同态函数多了一个回归性(给定任意的整数k,存在一个素数p,
有f(kp+1)=f(1).群函数本质单向同态函数。
群函数讲完了,横空出世"双线性对"基于两个群函数f(x)和T(x),让f(x)到T(x)且具有乘法同态的映射函数。
存在乘法同态函数性的函数e,满足e(f(x1),f(x2))=T(x1
x2)
讲这么多不如亲自体会一下,一个基于双线性对的数字签名方案
密钥算法:随机一个数s公钥为pk=f(s)私钥sk=s
签名算法:待签名m,a=f(1/{s+m})
验证算法:利用同态函数计算u=f(s+m)。验证e(a,u)=T(1),True
还有高手?全同态函数貌似还没被证明出来,没事但是伪全同态已经被构造出来了。书本写的比较浅,等会了再细写。

人类用0,1构造了网络,生命体碱基对AGCT的超强变化,叹为观止。
最后一个
通用改装
通俗理解在核弹发射井修建末日基地。
强调的是从一种密码技术到另一种密码技术,好!密码技术有一个身份认证协议,纳闷它是否有互通的可能呢?用数字签名来实现身份认证协议肯定是可以的。只要有一个足够长的随机数r,让对方用私钥对r进行签名,然后由自己来验证签名就可以确认对方身份。
反过来就不尽然了,要想这样构造得通过一个特殊的身份认证协议,三次交互承诺,挑战回应。满足这个框架才可以被改装。问题又来了怎么改装呢?
哈希函数签名者设计承诺值,用hash设置c还有计算对应的回应值。得到(承诺值,回应值)作为签名。
学到了一个科学思维,如果大范围验证行不通,那就先缩小范围,小范围可以再扩大研究范围进行论证。
总结一下吧三大构造
感觉通用构造和具体构造优缺互补了
记一个知识点”from”和”based on”就是用来指出与方案构造有关的起点。

DAY4
今天被一道连分数题目难住了,留给看书的时间不多了啊。
通往罗马之路,构造一个新的数字签名就像开辟了一条可以通往罗马的大路。密码学研究成果可能难以落地还会被束之高阁。今天看到的都比较简单不是啥知识点
三个数字签名方向的方案:
1、ElGamal签名方案
2、DSA签名方案
3、Schnorr签名方案
就是了解而已没有具体介绍
新出现了一个概念:可证明安全一种对密码方案的安全分析方法。
计算困难问题
公钥密码学诞生于单向函数,让密码学人意识到反向攻击计算很困难。在这基础上扩展出了一系列问题利用函数的性质,such as同态性。
两大类困难问题:
计算式问题(数字签名方向问题主要是这个):已知f,f(x1),f(x2),求f(x1x2)的值
判别式问题:已知f,f(x1),f(x2)和Z是否等于f(x1
x2)
计算复杂性问题:P类问题和NP类问题
密码学所有相关的计算问题都在NP类里,P类问题是NP类问题的一个子集。
按困难等级把NP类问题分为3层:P类 ,NP中间类(NP-intermediate),NPC类(NP-complete)依次为简单,较难,最难
通过归约技术证明了第三层NP问题里所有问题难度一样。但第二层确是无法得出结论。量子计算机可以解决部分第二层问题但是能力有限。
安全规约是用于证明密码方案的安全性。归约用于证明两个困难问题之间的等价性

有一句话我不太懂什么叫有人能解决NPC类中任意一个问题就能通过归约解决NP类问题的任意一个问题。???
太晚了先这样,明天继续。

DAY5
安全规约思路:反证法,假如构造的数字签名方案不安全,即有敌人可以攻破该方案,证明者可以借助攻击方案讲计算困难问题变为简单问题,很明显这与已知条件是相反的,就说明方案是安全的。
简单理解
归约 问题->问题归约
只要解决问题A,就能解决问题B—->问题A比问题B难度大
安全归约 方案->问题归约
只要攻破方案S,就能解决问题P—–>攻破S方案比解决问题P困难
由于P!=NP并未被证明,没办法直接证明某个问题的计算是困难的,只能根据一些大佬画的‘红线’通过安全规约来证明。
欸嘿又有新概念了模型,主要就是运用数学概念和语言来刻画某一个问题,多的不说挑重点计算模型(来自计算复杂理论)和安全模型(密码学理论)是密码圈最重要的两个模型。
一个有意思的问题,现代计算机的底层算法是什么?答案是映射
计算模型本质数学建模不多讲,安全建模就有意思了,从数学的角度定义敌手在攻击之前知道什么,以及敌手攻击目标是什么,即把攻击一个方案转换成求解一个计算问题。
一个很有意思的标题“求论文作者的心里阴影面积”
可证明安全并非必须,只是高配要求罢了。也就是说一些密码方案是没有安全证明的,被攻破的可能性远远高于那些有安全证明的密码方案。
标题讲的就是这样一个故事,一个大咖在美密会发表了一篇学术论文关于签名方案的,有人听出了其中问题仅仅用了两天就会议上演示如何攻击他的签名方案。当然不是说他菜哈,其实是大神中的大神,图灵奖获得者。只是故事有点好玩而已。
emm,明天早起出门今天就像这样吧。停更两天。