ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CTF学习之CRYPTO总结

2022-01-20 23:33:24  阅读:390  来源: 互联网

标签:总结 加密 字母 CRYPTO 明文 密码 CTF 分组 密文


CTF—CRYPTO(密码学)总结(①)


文章目录

一、分组密码

分组密码是一种对称加密算法,它将明文分成多个等长的分组,使用确定的算法和密钥对每个分组进行加密和解密操作,其中每个明文分组经过加密之后会产生一个等长的密文分组。

数据加密标准(DES,Data Encryption Standard)以及高级加密标准(AES,Advanced Encryption Standard)都属于分组密码。

AES算法:
AES是一种分组密码,用于取代DES的商业应用。其分组长度为128位,密钥长度可以是128位、192位或者256位。AES的计算过程比较复杂,

分组密码有五种工作模式,包括:

  1. 电码本模式(ECB, Electronic Code Book);

  2. 密文分组链接模式(CBC, Cipher Block Chaining);

  3. 密文反馈模式(CFB, Cipher Feedback);

  4. 输出反馈模式(OFB, Output FeedBack);

  5. 计数器模式(CTR, Counter);

ECB模式最重要的特征是一段消息中若有几个相同的明文分组,那么密文也将出现几个相同的密文分组,即同样的明文分组将产生同样的密文分组。

二、Base64编码

.判断:
* 字符串只可能包含A-Z,a-z,0-9,+,/,=字符
* 字符串长度是4的倍数
* =只会出现在字符串最后,可能没有或者一个等号或者两个等号

三、凯撒密码

  明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,

四、维吉尼亚密码

明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,
在这里插入图片描述
假设明文为:HEETIAN

  然后选择某一关键词并重复而得到密钥,如关键词为LAB时,密钥为:LABLABL

  对于明文的第一个字母H,对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母S。类似地,明文第二个字母为E,在表格中使用对应的A行进行加密,得到密文第二个字母E。以此类推,可以得到:

  明文:HEETIAN

  密钥:LABLABL

  密文:SEFEIBY

五、培根密码

  培根密码的本质是将字母用一串二进制数替换,但是表示的过程中,没有采取0和1的形式,而使用a和b来代替。下面是一个常用的培根密码加密表:![请添加图片描述](https://www.icode9.com/i/ll/?i=92e815bdd63a43d397b0d0cb26f4fa42.png)

例:

  (1)    加密字符串heetian

  (2)   根据加密表转换aabbb aabaa aabaa baabb abaaa aaaaa abbab

  (3)   任选一句话,将a当作小写,b当作大写带入

             it IS BacOn cipHer’S exAMpLe and now yoU KnOwit.

六、栅栏密码

栅栏密码属于古典密码中最经典的移项式密码
我们以2栏栅栏密码为例来讲解它的加密和解密过程。

  加密过程:

        明文:THERE_IS_A_CIPHER_

        两个一组,得到:(TH) (ER) (E_) (IS) (_A) (_C) (IP) (HE) (R_)

        先每组中取出第一个字母:TEEI__IHR

        再从每组中取出第二个字母:HR_SACPE_

        连在一起得到密文:TEEI__IHRHR_SACPE_

  解密过程:

        而解密的时候,我们先把密文从中间分开,变为两行:

        TEEI__IHR

        HR_SACPE_

        再按上下上下的顺序组合起来:

        THERE_IS_A_CIPHER_

七、周期置换密码

 周期置换密码是将明文字符串P按固定的长度m进行分组,然后对每组字符串中的字符按照某个密钥重新排位得到密文C。其中密钥S包含分组长度信息。解密时只需得到密钥S的逆置换,把密文重新分组,按照密钥的逆置换对密文的子字符串重新排位就可以得到明文P。

八、摩尔斯电码

编码主要是由两个字符表示:"."、"-",一长一短,

九、维热纳尔加密算法

原理L:在维热纳尔(Vigenère)的密码中,发件人和收件人必须使用同一个关键词(或者同一文字章节),这个关键词或文字章节中的字母告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。比如如果关键字“BIG”被使用了,发件人将把信息按三个字母的顺序排列。第一个三字母单词的第一个字母将应当向后移动一个位置(因为B是排在A后面的字母),第二个字母需要向后移动8位(I是A后面第8个字母),而第三个字母需要向后移动6位(G是A后面第6个字母)请添加图片描述
加密的流程:

文字按下面的顺序来进行加密:

明文:THE BUTCHER THE BAKER AND THE CANDLESTICK MAKER。(屠夫、面包师和蜡烛匠)。

关键密钥:BIG BIGBIGB IGB IGBIG BIG BIG BIGBIGBIGBI GBIGB

密文:UPK CCZDPKS BNF JGLMX BVJ UPK DITETKTBODS SBSKS

标签:总结,加密,字母,CRYPTO,明文,密码,CTF,分组,密文
来源: https://blog.csdn.net/qq_52648141/article/details/122611640

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有