分类: 读书笔记

  • 古典密码 / Classic cryptography

    古典密码 / Classic cryptography

    简述

    「古典密码学 Classic cryptography 」 在形式上可分成 「移位密码 Shift Cipher 」 和 「替代密码 Substitution Cipher」 两类,其中 替代密码 又可分为 单表替代 和 多表替代。有时则是两者的混合。其于历史中经常使用,但现代已经很少使用,大部分的已经不再使用了。

    移位密码

    移位式密码,它们字母本身不变,但它们在消息中顺序是依照一个定义明确的项目改变。许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。例如,明文”Hello my name is Alice.”将变成”olleH ym eman si ecilA.”。

    栅栏密码 Rail-fence

    「栅栏密码 Rail-fence Cipher 」 就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文,这里以 key = 2 栏栅栏加密为例。

    明文:Squdgy fez, blank jimp crwth vox
    分组:Sq ud gy  f ez ,  bl an k  ji mp  c rw th  v ox 
    将每组以前后顺序上下展开:
    第一行 S u g   e , b a k j m   r t   o
    第二行 q d y f z   l n   i p c w h v x
    得密文 Sug e,bakjm rt oqdyfz ln ipcwhvx
    

    曲路密码 Curve

    「曲路密码 Curve Cipher」 是一种按照双方约定密钥路径加解密的换位密码。

    明文: The quick brown fox jumps over the lazy dog

    填入5行7列表(事先约定填充的行列数)

    img

    加密的回路线(事先约定填充的行列数)

    img

    密文: gesfc inpho dtmwu qoury zejre hbxva lookT

    列移位密码 Columnar Transposition

    「列移位密码 Columnar Transposition Cipher」 一种比较简单,易于实现的换位密码,通过一个简单的规则将明文打乱混合成密文。

    以明文 The quick brown fox jumps over the lazy dog,密钥 how are u 为例。

    填入5行7列表(事先约定填充的行列数,如果明文不能填充完表格可以约定使用某个字母进行填充)

    img

    密钥: how are u

    按how are u在字母表中的出现的先后顺序进行编号,我们就有a为1,e为2,h为3,o为4,r为5,u为6,w为7,所以先写出a列,其次e列,以此类推写出的结果便是密文:

    img

    密文: qoury inpho Tkool hbxva uwmtd cfseg erjez

    替代密码

    替代密码是字母(或是字母群)作有系统的代换,直到消息被替换成其它难以解读的字。

    替换式密码亦有许多不同类型。如果每一个字母为一单元(或称元素)进行加密操作,就可以称之为 「简易替换密码 simple substitution cipher」 或 「单表加密 monoalphabetic cipher 」 另又称为 单字母替换加密 ; 以数个字母为一单元则称为 「多表加密 polyalphabetic cipher」 或 「表格式加密 polygraphic」

    阿特巴希密码 Atbash

    埃特巴什码,密文表是明文表的逆转:

    明文表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
    
    密文表:ZYXWVUTSRQPONMLKJIHGFEDCBA
    

    明文:the quick brown fox jumps over the lazy dog

    密文:gsv jfrxp yildm ulc qfnkh levi gsv ozab wlt

    猪圈密码 Pigpen

    「猪圈密码 Pigpen cipher」 ,亦称 「共济会密码 Masonic cipher」 或 共济会员密码 Freemason’s cipher」,是一种以格子为基础的简单 单表固定 替换密码。

    猪圈密码

    圣堂武士密码 Templar

    「 圣堂武士密码 Templar Cipher 」 是共济会的猪圈密码的一个变种,一直被共济会圣殿骑士用。

    image-20231003142634209

    培根密码 Bacon

    培根密码,又名 「倍康尼密码 Bacon’s cipher」 是由法兰西斯·培根发明的一种隐写术

    加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:

    a   AAAAA   g     AABBA   n    ABBAA   t     BAABA
    b   AAAAB   h     AABBB   o    ABBAB   u-v   BAABB
    c   AAABA   i-j   ABAAA   p    ABBBA   w     BABAA
    d   AAABB   k     ABAAB   q    ABBBB   x     BABAB
    e   AABAA   l     ABABA   r    BAAAA   y     BABBA
    f   AABAB   m     ABABB   s    BAAAB   z     BABBB
    

    这只是一款最常用的加密表,有另外一款将每种字母配以不同的字母组予以转换,即I与J、U与V皆有不同编号。

    凯撒密码 Caesar

    凯撒密码(或称恺撒加密、恺撒变换、变换加密、位移加密)是一种 单表代换 替换加密,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当 偏移量 Key = 3 的时候,所有的字母A将被替换成D,B变成E,以此类推。

    image-20231003045704096

    维吉尼亚密码 Vigenère Cipher

    维吉尼亚密码 是在单一恺撒密码的基础上扩展出 多表代换 替换加密,根据密钥(当密钥长度小于明文长度时可以循环使用)来决定用哪一行的密表来进行替换,以此来对抗字频统计。

    用来加密解密的维吉尼亚表格

    在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了DB转换为了E……而维吉尼亚密码则是由一些偏移量不同的凯撒密码组成。

    为了生成密码,需要使用表格法。这一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。

    例如,假设明文为:

    ATTACKATDAWN
    

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

    LEMONLEMONLE
    

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

    明文:ATTACKATDAWN
    密钥:LEMONLEMONLE
    密文:LXFOPVEFRNHR
    

    解密的过程则与加密相反。例如:根据密钥第一个字母L所对应的L行字母表,发现密文第一个字母L位于A列,因而明文第一个字母为A。密钥第二个字母E对应E行字母表,而密文第二个字母X位于此行T列,因而明文第二个字母为T。以此类推便可得到明文。

    用数字0-25代替字母AZ,维吉尼亚密码的加密文法可以写成同余的形式:Ci≡(Pi+Ki)mod26 Ci​​≡(Pi​+Ki​)mod26 ​解密方法则能写成:Pi≡(Ci−Ki)mod26Pi​​≡(Ci​−Ki​)mod26​

    小结

    许多古典密码可单单经由密文而破解,所以它们容易受到 「唯密文攻击法 ciphertext-only attack,COA 」 攻击。

    有些古典密码(像是凯撒密码)的密钥个数有限,所以这类密码可以使用 暴力破解 尝试所有的密钥。

    替代式密码有比较大的密钥数,但是容易被频率分析,因为每个密码字母各代表了一个明文字母。

    多字母替代式密码密码,像是维吉尼亚密码使用多个替换防止了简单的频率分析,然而,更先进的技术卡西斯基试验就可用来破解这类密码。

    古典密码的常见变换在上述介绍的几种常见密码中已经体现,所以其他类似变换的古典密码就不再赘述,总的来说,在算力和统计学的双双加持下,古典密码再也不能满足安全应用,同时在CTF中也不会作为核心考点出现,同编码一样,结合搜索引擎去解决对应问题即可,如果解决不了——题有问题。

  • 杭州

    历史:

    历史地图

    遗迹遗址

    建制沿革

    县志/书籍

    地理:

    区域面积:16850 km²

    行政区划:10个区、2个县,代管1个县级市

    人口数量:1262.4 万(2024年末杭州常住人口)

  • 互联网运营

    日运营各种平台都是以自己为核心,以自己喜好发布内容,或者看到自己喜欢的,然后急切的想模仿,这样忽略一个重点,内容的目的是吸引,不是表达。

  • 社会工程-安全体系中的人性漏洞(一)

    当下,很多有意无意的事件都会涉及社会工程学这个新兴学科,例如:被开盲盒、诈骗等。其中的手段与社会工程学中整理的手段部分相匹配,因此为了防范以上事件,系统整理学习了社会工程学内容,其次,也能给小说、游戏设计提供更有逻辑的思路。——读《社会工程-安全体系中的人性漏洞[美]克里斯托弗·海德纳吉》

    书籍名称:《社会工程-安全体系中的人性漏洞[美]克里斯托弗·海德纳吉》中国工信出版集团 人民邮电出版社

    社会工程的目的是让人不假思索的做出决定。你思考的越多,就越有可能发现自己正被人操控,而这自然是攻击者不想看到的。

    社会工程利用的正是人民的性别偏见、种族偏见、年龄和现状偏见(以及不同偏见的组合)。

    社会工程概述:

    任意一种能影响到某人采取可能符合或不符合其最大利益行动的行为,称为社会工程。

    当我们感觉到被对方信任时,催产素就会被释放进我们的血液,大脑不仅会在你信任别人的时候释放催产素,在你感觉到被对方信任的时也会如此。

    我们的大脑释放的另一种化学物质叫作多巴胺,是大脑产生的一种神经递质,会在人感到愉快、幸福和收到鼓舞的时刻释放出来。

    利用好催产素和多巴胺,你就拥有了社会工程专用武器。1

    催产素:催产素有刺激乳腺分泌乳汁,在分娩过程中促进子宫平滑肌的收缩,促进母爱的作用。此外,它还能减少人体内肾上腺酮等压力激素的水平,以降低血压。它并非女人的专利,男女均可分泌。

    多巴胺:一种神经递质,普遍认为多巴胺是使人快乐的物质,但目前的药理学研究认为多巴胺其实是在增强动机强度。更为通俗的表达为,多巴胺表示对某个结果的欲望或厌恶,推动人去实现它,或是避免它实现。

    社会工程可分解为以下四个攻击向量:

    1、短信诈骗(SMiShing)利用短信的诈骗手段,直到目前依旧有类似攻击。

    2、电信诈骗(Voice phishing)语音钓鱼,利用虚拟号码的语音共计。

    3、网络诈骗

    任何互联网平台都有可能出现的攻击。

    4、冒充

    冒充专业人员的攻击。

    每一起社会攻击都能被划分到以上四种类型中,并且可能会采用“组合攻击”的手段,即恶意的社会工程人员在一次攻击里运用多个向量来达到目的。

    社会工程金字塔

    OSINT/收集信息→设计伪装→规划攻击→发起攻击→汇报

    OSINT/收集信息:又称开源情报,利用公开的信息进行记录,保存和分类;

    设计伪装:根据OSINT阶段收集信息的梳理,合理设计身份伪装,需要明确哪些信息支撑和工具;

    规划攻击:计划好三个what(计划是什么?目标是什么?目标想要什么?)、when(发起攻击的最佳时机)、who(需要何人随时待命提供支持和辅助);

    发起攻击:将内容列成大纲,遵循对应计划,又能有自由发挥空间;

    汇报:对于攻击事件的整理和复盘。


    我们看到的是否一样(OSINT/收集信息)

    OSINT意为开源情报2,是社会工程的命脉,情报是每次行动的出发点和支撑点。

    OSINT问题示例:

    公司:

    该公司如何使用互联网

    该公司如何使用社交媒体

    关于员工可以在互联网上发布什么样的信息,该公司是否有相关政策规定

    该公司有多少供应闪

    该公司如何收款

    该公司如何付款

    该公司是否设立客服中心

    该公司的总部、客服中心或其他分公司位于何处

    该公司是否允许自带设备办公

    该公司的办公地点有一处还是多处

    该公司是否有可用的组织结构图

    个人:

    此人拥有什么社交媒体账户

    此人有什么兴趣爱好

    此人一般去何处旅游度假

    此人最喜欢 哪家饭店

    此人的教育程度如何、学过那些专业

    此人的职业是什么(包括是否在家办公,是否为自由职业,向谁汇报工作)

    是否有任何提及此人的网站(比如公开的新闻、演讲、论坛、或者某俱乐部会员)

    此人是否拥有房产?

    此人的家庭成员姓名。

    1. 《盗火》中有提到一些行为或者物品可以引发这两种物质的释放。 ↩︎
    2. 可以衍生阅读情报学相关书籍。 ↩︎