90流密码与哈希函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流密码
流密码
前面提到的密码体制中,连续的明文元素使用 相同的密钥K来加密的,即:
– C = c1,c2,…… = E(m1,k),E(m2,k),…… – 满足这种特点的密码体制通常称为分组密码
另外一种广泛使用的密码体制称为流密码 (Stream Cipher),其基本思想是产生一个密钥 流z = z1, z2, ……
哈希函数
MD5:
– MD5(“1”) = C4CA4238A0B923820DCC509A6F75849B – MD5(“2”) = C81E728D9D4C2F636F067F89CC14862C – MD5(“3”) = – ECCBC87E4B5CE2FE28308FD9F2A7BAF3
哈希函数
哈希函数
哈希函数的用途
– 离线装载程序(ISO的安装) – 完整性校验(bt,emule下载) – HMAC,使用带密钥的哈希函数的校验码(认 证) – 数字签名
wenku.baidu.com密码
若能以一种方式产生一随机序列,这一序 列由密钥所确定,则利用这样的序列就可 进行加密 流密码可以看作多表密码的一种,这些密 钥流大多具有周期性。 若密钥流的周期性不大,将类似于维吉尼 亚密码 一般,希望密钥流的周期尽量大,至少也 要和明文的长度相同,并且具有随机性
哈希函数
哈希函数
流密码
使用如上密钥加密消息:
K = 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 | 1 0…… M = 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 | 0 1…… C = 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 | 1 1…… 密钥周期N为15 当N为∞时,流密码即为“一次一密” 香农证明过,“一次一密”的密码是不可破解的 流密码目前的应用领域主要在外交和军事 目前可以公开见到的流密码算法包括A5,SEAl,RC4, PIKE
哈希函数
SHA256
– SHA256(“1”) = 6B86B273FF34FCE19D6B804EFF5A3F5747ADA4E AA22F1D49C01E52DDB7875B4B – SHA256(“2”) = D4735E3A265E16EEE03F59718B9B5D03019C07D 8B6C51F90DA3A666EEC13AB35 – SHA256(“3”) = 4E07408562BEDB8B60CE05C1DECFE3AD16B7223 0967DE01F640B7E4729B49FCE
– C = c1,c2,…… = E(m1,z1),E(m2,z2),……
最简单的流密码是其密钥直接由初始密钥使用 某种算法变换得到
流密码
例: 设密钥流按如下线性递归关系产生:
– Zi + 4 = (zi + zi+1) mod 2, i >= I – 如果密钥流的初始向量不为零,将获得周期为 24 – 1 = 15的密钥流. – 例如初始向量为(1,0,0,0),则可以产生如下密钥 流: – 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1……
SHA1:
– SHA1(“1”) = 356A192B7913B04C54574D18C28D46E6395428AB – SHA1(“2”) = DA4B9237BACCCDF19C0760CAB7AEC4A8359010B0 – SHA1(“3”) = 77DE68DAECD823BABBB58EDB1C8E14D7106E83BB
哈希函数(HASH) 输入任意长度,输出为一固定长度的函数 满足:
– 输入的任意改变,都会导致输出几一半的改变 – 对于输入m,要找到一个m’,使得h(m) = h(m’) 难度很大 – 对于给定的一个哈希值h,要找到一个消息m, 使得h(m) = h难度很大
哈希函数
哈希函数的输出满足随机性质的
– 输出中,几乎有一半bit为1,一半bit为0 – 输入的1个bit的改变,输出几乎有一半的改变 – 对于输出h的一个子集,要找到消息m,使得 h(m)的某部分为这个子集,其难度,和找到消 息m,使得h(m)为h的难度相当 – 无法预测一个输入的输出,除非计算出该输入 的输出
哈希函数
常用的哈希函数 MD5,输入任意,输出128bits SHA1,输入任意,输出160bits SHA2(SHA256,SHA384,SHA512) SHA2 SHA256 SHA384 SHA512 SCH,中国哈希算法
流密码
前面提到的密码体制中,连续的明文元素使用 相同的密钥K来加密的,即:
– C = c1,c2,…… = E(m1,k),E(m2,k),…… – 满足这种特点的密码体制通常称为分组密码
另外一种广泛使用的密码体制称为流密码 (Stream Cipher),其基本思想是产生一个密钥 流z = z1, z2, ……
哈希函数
MD5:
– MD5(“1”) = C4CA4238A0B923820DCC509A6F75849B – MD5(“2”) = C81E728D9D4C2F636F067F89CC14862C – MD5(“3”) = – ECCBC87E4B5CE2FE28308FD9F2A7BAF3
哈希函数
哈希函数
哈希函数的用途
– 离线装载程序(ISO的安装) – 完整性校验(bt,emule下载) – HMAC,使用带密钥的哈希函数的校验码(认 证) – 数字签名
wenku.baidu.com密码
若能以一种方式产生一随机序列,这一序 列由密钥所确定,则利用这样的序列就可 进行加密 流密码可以看作多表密码的一种,这些密 钥流大多具有周期性。 若密钥流的周期性不大,将类似于维吉尼 亚密码 一般,希望密钥流的周期尽量大,至少也 要和明文的长度相同,并且具有随机性
哈希函数
哈希函数
流密码
使用如上密钥加密消息:
K = 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 | 1 0…… M = 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 | 0 1…… C = 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 | 1 1…… 密钥周期N为15 当N为∞时,流密码即为“一次一密” 香农证明过,“一次一密”的密码是不可破解的 流密码目前的应用领域主要在外交和军事 目前可以公开见到的流密码算法包括A5,SEAl,RC4, PIKE
哈希函数
SHA256
– SHA256(“1”) = 6B86B273FF34FCE19D6B804EFF5A3F5747ADA4E AA22F1D49C01E52DDB7875B4B – SHA256(“2”) = D4735E3A265E16EEE03F59718B9B5D03019C07D 8B6C51F90DA3A666EEC13AB35 – SHA256(“3”) = 4E07408562BEDB8B60CE05C1DECFE3AD16B7223 0967DE01F640B7E4729B49FCE
– C = c1,c2,…… = E(m1,z1),E(m2,z2),……
最简单的流密码是其密钥直接由初始密钥使用 某种算法变换得到
流密码
例: 设密钥流按如下线性递归关系产生:
– Zi + 4 = (zi + zi+1) mod 2, i >= I – 如果密钥流的初始向量不为零,将获得周期为 24 – 1 = 15的密钥流. – 例如初始向量为(1,0,0,0),则可以产生如下密钥 流: – 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1……
SHA1:
– SHA1(“1”) = 356A192B7913B04C54574D18C28D46E6395428AB – SHA1(“2”) = DA4B9237BACCCDF19C0760CAB7AEC4A8359010B0 – SHA1(“3”) = 77DE68DAECD823BABBB58EDB1C8E14D7106E83BB
哈希函数(HASH) 输入任意长度,输出为一固定长度的函数 满足:
– 输入的任意改变,都会导致输出几一半的改变 – 对于输入m,要找到一个m’,使得h(m) = h(m’) 难度很大 – 对于给定的一个哈希值h,要找到一个消息m, 使得h(m) = h难度很大
哈希函数
哈希函数的输出满足随机性质的
– 输出中,几乎有一半bit为1,一半bit为0 – 输入的1个bit的改变,输出几乎有一半的改变 – 对于输出h的一个子集,要找到消息m,使得 h(m)的某部分为这个子集,其难度,和找到消 息m,使得h(m)为h的难度相当 – 无法预测一个输入的输出,除非计算出该输入 的输出
哈希函数
常用的哈希函数 MD5,输入任意,输出128bits SHA1,输入任意,输出160bits SHA2(SHA256,SHA384,SHA512) SHA2 SHA256 SHA384 SHA512 SCH,中国哈希算法