密码学是数学和计算机科学的一个交叉。主要有两个方面的应用:一个就是加密通信;另一个方向是数字签名。
数字签名跟纸笔签名类似,可以用来认证签署人身份。密码学早期主要用于军事领域,随着互联网发展,民用方面涉及电子商务、银行支付、数字版权等领域也普遍得到应用。
最近几年,区块链和加密货币兴起,密码学的发展又进入了一个新的阶段,区块链的底层是密码学技术,但是也涉及到经济学。
互联网上的密码学
密码学包括:加密、解密、密文和密钥。比如A有份秘密文件传给B,首先通过加密算法把文件转换成密文,密文就是一些看起来不知所云的内容。B收到密文后,通过对应的解密算法,就可以把密文再转换成数据。
林煌博士:轻模式的隐私应用是密码学技术在隐私保护实践中很重要的一步:在今日的《金色深核》线上直播中,针对“假设我们要解决多公司之间数据需要保密且共同使用的问题,三个技术路线如何去做?去年Maskbook火了一下,各位如何看待这种“轻模式”的隐私应用?”Suterusu林煌博士表示关于多个公司之间进行保密数据的安全计算,这个需要结合零知识证明和安全多方计算才能解决。如果我们考虑一种简单的情况,只有两方进行安全计算,一方可以将自己的数据用门限同态加密方案的公钥加密后传输给另一方,另一方依据加密自己的数据生成密文,然后在两个密文上做预定的同态运算,最后双方合作把完成同态操作的密文解密。零知识证明可用于保证这个过程的计算可靠性(computational integrity),比如如何保证生成的加密密文确实是按照正确加密步骤生成的密文且加秘方知道原始明文呢?我们可以使用零知识证明算法针对加密电路生成能够验证明文和密文之间符合加密电路逻辑的证明。轻模式的隐私应用毫无疑问是密码学技术在隐私保护实践中很重要的一步,但这个领域还有很多可以做的事情。[2020/3/11]
那么密钥是什么呢?其实在加密和解密运算过程中有两个要素,一个是算法,另外一个是密钥,英文叫key。key就是参与加密解密运算过程的一小段数据。
声音 | 观点:密码学人才短缺,影响了马来西亚的区块链发展:私人投资公司MW Partners Group Holdings Pte Ltd顾问Mark Pui表示,密码学领域的人才短缺,拖累了马来西亚数字账本技术的发展。
Mark声称:“我认为,现实是我们没有密码技术,这影响了我们领导区块链技术发展的能力。在马来西亚和全世界,区块链技术的应用仍然有限。但在发展方面,我们落后于其他所有人,因为我们没有技能,没有深厚的密码学技能。”(The Malaysian Reserve)[2019/11/29]
目前流行的加密解密算法一般都是公开的,因为不公开一般也没人敢用,怕有后门。所以信息的安全完全在于加密人和解密人手里握的key。
声音 | 法国密码学专家:将用于莫斯科市政选举的区块链投票系统并不安全:一位法国密码学专家的研究报告显示,被用于莫斯科秋季市政选举的一个区块链投票系统很容易遭到黑客攻击。法国政府科研机构CNRS的研究员Pierrick Gaudry在其论文中研究了这一基于以太坊的电子投票平台的公共代码。 Gaudry总结称,部分代码使用的加密方案“完全不安全”。(Coindesk)[2019/8/16]
例如凯撒密码,凯撒要给他的将军发一封密信,凯撒使用的算法是把字母按照字母表顺序往后移动一定的位数,比如信息本来是A,现在往后移动3个位数,就变成了D,这样生成的密文就谁也看不懂了。
红烧肉在上海交大的密码学及计算机安全实验室发布了抗量子攻击纲要:红烧肉(HSR)在上海交大的密码学及计算机安全实验室发布了抗量子攻击纲要 。[2017/12/19]
这个过程中算法是“字母偏移”,而key就是3。将军收到密文后,根据同样的算法和key反推就可以解密。
随着电气革命兴起,发明了专门用于加密的硬件器材。但是真正密码学的大发展是在计算机兴起之后,尤其是互联网的到来。
互联网时代,所有信息都是在公共区域进行传输,任何人都可以截取我们的数据,于是在数据传输之前进行加密就显得尤其重要,当代的密码学也是在这个情景下来发展的,因此当代密码学被称为“互联网上的密码学”。
没有不可破解的密码!理论上,任何密码都可以通过暴力搜索的方式来破解。互联网上的加密算法都是公开的,所以key的一些特征也是明确的,例如总共多少位。
利用计算机暴力搜索的方式去破解是一种很容易想到的攻击方式。
这就给加密算法的设计者提出了一个基本要求,那就是算法一定是要保证足够的计算难度,使得破解密码所花时间是不可接受的,例如一万年。没有不可以破解的密码,只有很难破解的密码,随着计算机运算速度不断的提升,加密算法也需要不断迭代。
公钥加密的核心地位
当代密码学分为两套系统:对称加密和非对称加密。其中非对称加密也被叫做公钥加密,是密码学的核心技术。
在加密和解密过程中都有key参与,如果加密和解密使用同一个key,这就是对称加密技术,反之是非对称加密技术。
具体做法是首先生成一对key,其中一个是公钥,PublicKey,公钥是可以公开给任何人的,另外一个是私钥,PrivateKey,要严格保密。发送方首先拿到接收方的公钥,用公钥把信息加密,接收方收到密文后,用私钥解密获得信息。
之所以公钥和私钥能够这样配合工作,是因为它们两个天生就是一对儿,有着天然的数学联系,具体的联系方式就跟使用的具体的加密算法有关了。
非对称加密中最著名的算法有两种,一个是RSA,是非对称加密技术的开山鼻祖;另外一个是ECC,也就是椭圆曲线算法。ECC是一种更高效的加密算法。
对称加密在发送方和接收方使用相同的key,所以建立安全通信的前提是双方先要有共享的key。在没有加密通道的情况下,key应该如何安全的传递给对方呢?
这个在互联网上是非常有挑战性的。相对比之下,公钥加密技术要分享的是公钥,不用担心泄露问题,相对要安全一些,另外公钥加密技术也衍生出了数字签名技术。
当然,公钥加密技术也需要考虑如何确认公钥所有人等技术问题,所以就有了发证机构CA。
总的来说:第一,密码学是对安全通信技术的研究,要能抵御各种恶意攻击。第二,密码学的底层是数学,密码学的安全取决于一个难度足够高的数学问题,保证计算机在可接受的时间跨度内根本不可能运算出密钥。第三,当代密码学是互联网环境下的密码学,关键性技术是公钥加密技术。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。