也许你看英文版的密码学资料有困难,1. 密码学确实复杂; 2. 不是你英语不够好: stackoverflow上也有老外推荐human readable的资料。

本帖如题,human readable绝无问题,准确性就差点意思,甚至可能有错。

每个人都在和密码与证书打交道,比如email账号有密码,毕业证要在网上验真假。CA(Certificate authority)就像是验证机构。

配置ssh免密码登录要和证书与加密算法(如RSA)打交道。

passphrase和password的区别就是短语和词的区别,前者可以用空格,更长。

在客户端ssh-keygen -t rsa, 它在.ssh目录下生成私钥文件id_rsa和公钥文件id_rsa.pub,它们都是文本文件,基本上就是存了个非常大的整数(像base64编码)。然后把公钥id_rsa.pub加到服务器端的.ssh下的authorized_keys里。整数和证书谐音(zheng'shu), interesting. 

比方说你登录农行的网银www.abc.com,登录时要输入账号和密码。HTTP是不加密的,对于使用网络抓包工具的黑客而言,就像你把密码大声喊出来一样。有了加密的HTTPS,他就难以获取你的密码了。如果黑客做了个假的www.adc.com骗你输入密码呢(把域名解析给篡改了呢)?还有中间人攻击(Man-in-the-Middle Attack, MITM)呢?

你和网银之间一开始是互不信任的。网银:“你说你是储户,报密码啊。” 你:“你说你是网银,拿证书给我看。” 它给了你一个证书,可证书是真是假呢?CA为你鉴别证书。中间人给不了你银行的证书[密码学家的事]。

有个词叫信任链(chain of trust)。比如装的正版Windows,用的自带的Edge,又用自带的和360杀毒全盘扫描了两遍,然后你就信任Edge了(不信任麻烦啊),Edge和CA之间交流一番说证书是真的,你就相信了。不相信可以换360浏览器,Linux,或者到银行柜台去跑一趟等。

RFC 5280 X.509 PKI 解析 - charlieroro - 博客园

CA和浏览器之间的交流是复杂的、要上网的。“需要一种协议来支持传输证书和CRLs(或状态信息)到使用证书的客户端系统,该协议需要能够传输不同含义的证书和CRL,包含能够分发基于LDAP, HTTP, FTP和X.500格式的证书和CRL。” => 用FTP(File Transfer Protocol)传证书。A certificate revocation [吊销] list (CRL) is a list of digital certificates that have been revoked by the issuing certificate authority (CA) before their actual or assigned expiration date.

CA和DNS有点类似。比方说你开了家CA,你不是弄一台配置超高的服务器为全球服务,而是像颗树,有许多服务器,就近服务;下级服务器解决不了的请示上级。

 个人/小公司开CA是不可能的,加速收录和优先显示使用自家证书的网站就做不了:

有国家密码管理局,各个省有它的分支机构。[科普园地]


密码是可以破解的,如二战时德国的Enigma. 破解密码需要数学很好,但社会工程也很重要。比如把密码写在纸条上;被灌醉了就把密码说出来了;U盾/SmartCard不随身携带等等。

再如军长请示司令何时总攻,司令很酷地就回了个7,按字节异或加密。for(i=0;i<256;i++)逐个试,0~23,哪个是原文?再如一串中文,每32位异或加密,怎么判断解密试验的输出是正确的原文?乱码好像还可以用个语言模型过滤掉,“猫和老鼠”、“七点总攻”,“五卅行事”怎么判断?[民国电报日期代码]

2的1024次方约等于10的308次方。全球人口接近10的10次方。亿亿亿亿亿是10的40次方。媒体往往博眼球。Fugaku超级计算机运算速度峰值达每秒51.3亿亿次,拥有 7,630,848个内核。换句话说,七百六十三万零八百四十八个核做到了5.13*10的17次方。不过它这个是浮点而不是整数运算。

Enigma的教训可能是长时间连续被"抓包"。以前证件盖个钢印就行,现在加密和解密缠斗的结果是越来越复杂,不过解密还是更难。

posted on 2022-01-12 11:49  华容道专家  阅读(972)  评论(0)    收藏  举报