社会工程学之黑客番外——密码学

前言

        众所周知,信息化时代离不开Password(密码)了。

        毕竟密码是对号入座以及安全性必要的门槛嘛~

        今天这章呢,我打算给大家科普一下密码学这个东西。

        至于我为什么要把密码学放在社会工程学专栏里呢……

        嗯……

        可能我开这个专栏,大家看的时候都不太理解社会工程学这个东西吧~

        那,开门见山,同时为了更好解释我社会工程学专栏里的东西,我先说一下社会工程学到底是什么。

一、问题所在1:什么是社会工程学?

        所谓社会工程学,根据我自己的定义是这样的:

        社会是人群体生活的环境,而使这个环境变化的一般情况下都是人心,在这里我们可以理解为研究人类在社会当中所出现的心理(“人类观察所”)。这门学科归类于心理学范畴,在百度百科也有明确的定义:

社会工程学(Social Engineering,又被翻译为:社交工程学)在上世纪60年代左右作为正式的学科出现,广义社会工程学的定义是:建立理论并通过利用自然的、社会的和制度上的途径来逐步地解决各种复杂的社会问题,经过多年的应用发展,社会工程学逐渐产生出了分支学科,如公安社会工程学(简称公安社工学)和网络社会工程学。

                                                                                                                ——百度百科

         而无论是什么东西,只要和人有关系的都会牵扯到人心。

        所以,我开这个专栏的目的就是通过心理学角度去剖析人心被骇客利用的bug所产生的黑客攻防的攻击方法,以及希望大家了解骇客是怎么想的,然后做好防护措施。

        希望大家提高防范意识,不过最多的,还是免得一些不法骇客以及自以为是的脚本小子不思进取酿成大错。

        毕竟善恶只在一念之间,我不相信有绝对的好人和坏人。

        不过无论是真善美还是假恶丑,大家还是想见到好的一面对吧。

         那么回到正题。

二、问题所在2:密码学和社会工程学有什么关系?

        别的不说,你可以自己看看你的密码:除非是乱打,如果你想设计一个密码并记住它,肯定会设计一个和身边事物有关的的密码。

        比如你的身份证,你的学号,你的工作号,你的名字、生日,以及你的男/女朋友或者是老公/老婆的生日等等。

        这些东西和你的心理是有很大关系的:哪些重要,谁先谁后,或多或少都会在心里有一个衡量标准的吧。

        而密码学注重的,是设计密码的方法。

        当你把心里所想的东西用密码学的方法设计成密码,是不是就好记而且复杂了好多?

        当然,好记的密码,逻辑性也很强:无论是心理逻辑还是思维逻辑。至于那些昙花一现的新玩法甚至毫无逻辑的密码,咱们另说。

三、问题所在3:什么是密码(学)?

        首先咱们需要了解什么是密码。

        我对密码的定义是:明文通过某种逻辑和方法加密后所形成的字符串(或编码)。

        当然,密码的定义有很多,不过最准确的还是下面的说法靠谱:

密码是一种用来混淆的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。但这种无法识别的信息部分是可以再加工并恢复和破解的。密码在中文里是“口令”(password)的通称。

                                                                                                                   ——百度百科

        而对于密码学的定义是这样的:

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 

                                                                                                                    ——百度百科

        密码学其实也分很多类,不过在这里我们会分成两类来说:一个是经典(传统)密码学,另外一个是现代密码学。

        而为了能让你更透彻理解下面的内容,你还需要知道:

密钥:分为加密密钥和解密密钥。

明文:没有进行加密,能够直接代表原文含义的信息。

密文:经过加密处理处理之后,隐藏原文含义的信息。

加密:将明文转换成密文的实施过程。

解密:将密文转换成明文的实施过程。

                                                                                                                     ——百度百科

四、衍生问题: 经典(传统)密码学 & 传统密码学

        在近代以前,密码这个东西只是为了信息的机密性。

        说白了就是如何将可理解的信息转换成乍一眼看着难以理解的信息,并且有其他人根据某些逻辑看懂并且能供用同样的方式回复。

        这么一看大家都应该懂了:这样做的话,缺乏秘密信息的拦截者或窃听者则无法解读。

        我们把上述称为“经典(传统)密码学”。

        而它包括:

1.替换式密码

2.移项式密码

3.替换+移向式密码

        看着这种密码其实比较简陋对吧。

        因为这里有一个东西叫Kerckhoffs原则。

        Kerckhoffs认为,一个密码系统的安全性不是取决于其算法对于攻击者来说是否保密, 而是建立在它所选择的密钥对于攻击者来说是否保密。也就是说,即使密码系统的任何细节已为人悉知,只要密钥(key)未泄漏,它也应是安全的。

        确实,在近代之前科技没有现在这么发达,他说的这些当然是对的。

        但如果拿到现在的话……首先计算机代替人力测试不说,我们还有更加严谨的算法加密方式。

        然后,新的密码学诞生了:

        本身应该是有一种东西叫做近代密码学的。

        但是个人认为它的安全性和现代密码学差不多,请原谅我把近代密码学和现代密码学混为一谈。

       不过这里的区别还是要说一下的:近代密码学加密的技术对象是字符,而现代密码学加密的技术对象是计算机的底层进制——二进制。

         现代密码学研究信息从发端到收端的安全传输和安全存储,是研究“知己知彼”的一门科学。其核心是密码编码学和密码分析学。前者致力于建立难以被敌方或对手攻破的安全密码体制,即“知己”;后者则力图破译敌方或对手已有的密码体制,即“知彼”。

                                                                                                                    ——百度百科

        也就意味着,密码从字符衍生到了编码,并且使用了更高级的算式、算法以及思维。

        综上所述,大家也应该能理解我对密码的定义是怎么来的了吧。

        那么,我们对密码(学)有了更深刻的了解。下面我将介绍一下几种密码方法。

五、几种通俗易懂的常见密码方法

1.凯撒密码

        小的时候我想大家基本都干过一件事:

数字:(+2)

0 1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9 0 1

        如果两行两两对应去取代原文数据,比如明文为“2022.4.22”,我可以通过这种方式取代成:

                4244.6.44

        诸如此类,无论0~9数字串了几位,都可以这么做。

        那如果我把数字全换成字符或者……数字加字符,是不是也可以这么做呢?~

1#字符:(+11/-15)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

2#数字加字符:(+8/-18)

0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 A B C D E F G

        上述的括号里,“+”代表着向前串,后面的数指串了多少位,“-”是向后串,后面的数同理。

        这就是凯撒密码——由一个叫凯撒的国王发明。

2.摩斯电码

        摩斯电码又被称为“莫尔斯电码”,就是咱们熟知的‘.’和‘-’。

        而这个电码的运行媒介,最开始是声音。‘.’代表着声音响的时间短,而‘-’代表着声音响的长。

        随着时间的推移,‘.’与‘-’分别可以用‘A’和‘B’替代。

        而‘.’和‘-’的不同组成代表着不同的字符:

        当然,由于时代在进步,摩斯电码如今也能用于其他字符的加密(各国语言)。

3.云影密码

        云影密码,也称作“幂数加密”,这个加密过后的密文由0、1、2、4、8(0以及2的幂数)组成。

        一位只能用一个数字或字符表示,因此最高只能到‘8’。(看16进制组成你就明白了,但是云影密码为了和16进制分开,只能用数字表示。)

        ‘0’为间隔符,每当一串数字表示完一个字符后,由‘0’隔开。 

        而明文(仅限英文字母)里,每个字母在字母表当中都对应着唯一的数字:

1 2 3 4 5 6 7 8 9 10 11 12 13
A B C D E F G H I J  K  L  M

14 15 16 17 18 19 20 21 22 23 24 25 26
N  O  P  Q  R  S  T  U  V  W  X  Y  Z

        那么,在云影加密时,我们把明文中的字母先替换成字母表中的相应数字,然后再用上述5除了0以外另外的4个数字(1、2、4、8)拆分,再加上分隔符‘0’,就可以获得相应密文

        举个栗子~

        比如我的名字是“Redice”,那么 R=18=8+8+2,e=5=4+1,d=4=4,i=9=8+1,c=3=2+1,e=5=4+1。

        那么再加上间隔符就是:88204104081021041

        除此之外,“R”不止可以这么拆,还可以拆成 4+4+4+4+2,2+2+2+2+2+2+2+2+2,也可以用18个‘1’替代(只要你不嫌麻烦),而其他字母亦是如此。

后序

        除了这些,还有很多密码加密方式,当然了,密码学的脚步不会止步于此,如果可以,之后我会出密码学的专栏,我们可以一起研讨一下有趣的密码哦~

                                                                                                                  ——Redice(Yatogami)

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Redice.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值