DES算法中子密钥的产生

DES (数据加密标准 Data Encryption Standard),因密钥长度过短及可能含有的后门引起争议,现也已经不在作为标准,由AES取代。在学了《网络安全技术》关于加密算法中的DES后,写了这一篇笔记,主要写的是DES算法中子密钥的生成算法。

  1. 初始密钥也称种子密钥,64位,经过子密钥换位表PC-1的变换后,由64位变成56位,这56位分为两组C0和D0; 子密钥换位表PC-1 57 49 41 33 25 17 09 01 58 50 42 34 26 18, 10 02 59 51 43 35 27 19 11 03 60 52 44 36 63 55 47 39 31 23 15 07 62 54 46 38 30 22, 14 06 61 53 45 37 29 21 13 05 28 20 12 04
  2. C0和D0作一次循环左移得到C1和D2; 循环左移的规则为:16次循环,每次左移 1 1 2 2, 2 2 2 2, 1 2 2 2, 2 2 2 1
  3. C1和D2合并为56位,再经过子密钥换位表PC-2的变换后,由56位变成48位,即得到第一个子密钥K1 子密钥换位表PC-2 14 17 11 24 01 05 03 28 15 06 21 10 23 19 12 04 26 08 16 07 27 20 13 02 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
  4. C1和D2,由C0和D0经过循环左移得到。C2和D2,由C1和D1经过循环左移得到,以此类推。

PS :到底是密钥(yao)还是密钥(yue) 数据加密标准

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码神联盟

敲一天代码了,轻松下吧,精彩 !看人潮如海

先来首歌曲,耶耶耶..... ? 一边听歌,一遍来看几个算法 一、数字摘要算法 数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个...

2875
来自专栏贾老师の博客

加密与签名算法

2793
来自专栏一名叫大蕉的程序员

RSA 这俩世纪最重要的算法之一No.91

本文大概1000字,读完共需5分钟 Diffie–Hellman加密算法的劣势 上一篇文章我们聊到 Diffie–Hellman key exchange ...

3205
来自专栏小工匠技术圈

【Java小工匠聊密码学】--非对称加密--RSA1

  RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(...

833
来自专栏java一日一条

DES/3DES/AES 三种对称加密算法在 Java 中的实现

1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。

1292
来自专栏jouypub

区块链之非对称加密算法

非对称加密,在现在网络应用中,有这非常广泛的场景,更是加密货币的基础。本文主要介绍非对称加密、解密的原理和过程,以及在区块链中的使用。

1681
来自专栏张善友的专栏

.NET中的DES对称加密

DES是一种对称加密(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。一般...

22210
来自专栏Java技术栈

常用加密算法解析

今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过...

6647
来自专栏小工匠技术圈

【Java小工匠聊密码学】--非对称加密--DH密钥交换算法

Diffie-Hellman由Whitfield Diffie和Martin Hellman在1976年公布的一种密钥一致性算法。Diffie-Hellman是...

1243
来自专栏企鹅号快讯

黑客们都是如何给勒索软件加密的?

加密是计算机科学中历史最长久的一种计算了。早在二战时期,德国就制造了Enigma密码机,来传输机密信息。计算机科学的祖师爷之一图灵也参与了对Enigma密码的破...

2219

扫码关注云+社区

领取腾讯云代金券