跳至主要内容

有关密码学 Cryptography

% Crypto 101% CUI Hao

密码学 Cryptography



加密:军事、商业保密、身份认证、日记...
  • 计算机出现前:加密人类语言文字
  • 计算机出现后:加密比特流(ASCII文本、网络协议)

古典替换式密码

凯撒密码

文本中每个字母在字母表上后移 k 个位置。

ATTACK -> DWWDFN (k=3)
IBM -> HAL (k=-1)

改进

重新排列字母表(单字母替换):


alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  map to: RCPWUXNQBZFMYTLIEGVDJOAKHS
 example: ATTACK -> RDDRPF
"密码组合"有 26! 种之多。

维吉尼亚密码

每k个字母一组,与长度k的密码做加法


  ATTACKATDAWN (plaintext)
+ LEMONLEMONLE (key: LEMON)
= LXFOPVEFRNHR (ciphertext)
多个字母的凯撒密码。

替换式密码

substitution cipher

单字母替换/多字母替换/密码本...
  • 加密算法:映射
  • 密码:描述映射关系
  • 解密算法:反过来映射

另一种设计方案



也许是中国人发明的吧:
群书万卷常暗诵, 主人顾盼千金重。 药物楚老渔商市, 丸剑跳踯霜雪浮。
移位式密码 (transposition cipher)

列移位密码

按密码重新排列文本各列,然后竖着读出来:


 KEY: 6 3 2 4 1 5
TEXT: W E A R E D      CT:
      I S C O V E  ==> EVLNEACDTKESEAQROFOJDEECUWIREE
      R E D F L E 
      E A T O N C 
      E Q K J E U 
      (WE ARE DISCOVERED. FLEE AT ONCE)

密码分析

  • 系统是否安全?
  • 如何破解加密?

密码攻击 (COA)

仅仅获取到密文(ciphertext only attack),如何破解?
LetterFreq.
e12.702%
t9.056%
a8.167%
.............
样本越多,猜测越准确。

密码攻击 (CPA)

二战中,英国人对德国密码系统的种花攻击 (gardening):
  • 在A地放地雷
  • 截取密文 ...FRQALFFDSFGRE...
  • 在B地放地雷
  • 截取密文 ...FRQALFFDSFUGA...
选择明文攻击 (chosen plaintext attack):
试探设定的明文的加密结果,获取映射关系。

一致性破坏

不破解明文,仍可以有意地篡改解密结果,欺骗接收方:
  • PT: JOHN 1000; JACK 2000
  • CT: [01] [02]; [03] [04]
  • CT (modified): [01] [04]; [03] [02]
  • PT (modified): JOHN 2000; JACK 1000

极端的安全性



  • 经常更换密码 -> 一次性密码
  • 更大的密码空间 -> 超长的密码
  • 防止字典猜测 -> 密码随机选择

One Time Pad

维吉尼亚密码:使用和明文同样长随机字母串作为密码
计算机的维吉尼亚密码:加法 -> 按位异或


            U        S        T        C
 plaintext: 01010101 01010011 01010100 01000011
       key: 10110111 11110111 10111110 10011010
ciphertext: 11100010 10100100 11101010 11011001

OTP 为什么安全

非OTP:错误的密码 -> 无效的结果(乱码,无意义文本)
OTP:错误的密码 -> 可能得到看似正确的结果
  • 不可能被COA(密文得到很多看似正确的结果)
  • 不可能被CPA(一次性)


ciphertext: 11100010 10100100 11101010 11011001
 wrong key: 10101010 11110001 10111001 10001101
wrong text: 01001000 01010101 01010011 01010100
            H        U        S        T

一次性

异或运算的性质:(p1 xor k) xor (p2 xor k) = p1 xor p2
如果多次使用OTP,则可以通过密文间异或消去密码
已知的漏洞:
  • WIFI加密(WEP)
  • MS-PPTP(MSCHAP-v1)

实用性

  • Q: 如何安全地传送一次性密码?
  • A: 加密传输密码?死循环...
现实场景:密码应当便于交换和记录...
(其实可以通过量子密码实现绝对的OTP)

实际的加密方案

密码本模式

electronic code book, ECB

各种加密算法
  • 都可以归于替换式密码和移位式密码的复杂组合
  • 归根结底,就是多"字母"替换
实际的例子:
  • DES: 64位的替换单位
  • AES: 128/192/256 位的替换单位
缺点:同前

密码块链模式

cipher block chaining

为了避免ECB模式中移动块顺序篡改数据的风险:
  • 第i块明文加密之前,和上一块密文异或操作
  • 第1块明文和随机生成的初始向量 (Initial Vector) 做异或
既避免了篡改数据,还可以防止COA、CPA(相同数据两次加密结果不同)

流式密码

stream cipher

块密码中,如果任何一位传输错误,则会影响整个块(甚至下一块)的解密。
基于OTP的思路,设计一种伪OTP:
  • 密钥作为随机数种子
  • 通过伪随机数算法生成伪OTP密钥
  • 按照OTP的流程进行加密
为了避免重用攻击,也可以引入初始向量增加随机性。

其他模式

思考:文件系统加密,上述方法是否实用?

非对称加密



对称加密的矛盾:
  • 密钥必须被安全地保护起来
  • 密钥必须被分发给需要的用户
是否存在一种算法:
  • Decrypt(Encrypt(P, K1), K2) = P
  • 很难从K1推出K2
...以后再讲 (例:RSA)

生日悖论



如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。


   n(p, d) = sqrt(2d ln(1/(1-p)))
 n(0.5, d) = 1.2 sqrt(d)
n(0.99, d) = 3.0 sqrt(d)
不要低估暴力穷举破解 (brute-force) 的危险性。

最后的话

公开算法

Kerckhoff 原则:密码学算法应当是公开的
  • 保密的是数据和密钥
  • 算法可以得到更多研究者的检验
不要对自己的轮子保有过度的信心。

密码学其他科技

  • 数字签名
  • DRM (蓝光加密算法 AACS)
  • 同态加密 (Homomorphic encryption)
  • ......

the End

谨慎采信本 slides 的内容:
似乎本 slides 没有出现 Alice 和 Bob




Popular posts from 产品随想的博客

产品随想 | 周刊 第116期:Great things in business are never done by one person.

Cromite   https://github.com/uazo/cromite Cromite a Bromite fork with ad blocking and privacy enhancements; take back your browser! awesome-shizuku   https://github.com/timschneeb/awesome-shizuku Curated list of awesome Android apps making use of Shizuku KernelSU   https://github.com/tiann/KernelSU A Kernel based root solution for Android Love, Hate or Fear It, ​​TikTok Has Changed America   https://www.nytimes.com/interactive/2024/04/18/business/media/tiktok-ban-american-culture.html?unlocked_article_code=1.mE0.DpEZ.VWmNssw5B6_c "My model for business is The Beatles.There were four guys who kept each others, kind of, negative tendencies in check. They balanced each other, and the total was greater than the sum of the parts. And that's how I see business. You know, great things in business are never done by one person. They're done by a team of people. "Our motivation is simple--we want to provide the most advanced and innovative platform to our developers, and we wa...

产品随想 | 读《中国是部金融史》:第一章 此朝无钱胜有钱(周朝)

第一章 此朝无钱胜有钱(周朝) 姬旦选择了当时最有效、最简单的统治方式—一封建:为确保对国家的统治,姬且共封七十一国,其中姬姓五十三国,封国在地方替周王管理属国。 封建封建,封而建之。 对权力没有任何制约的西周,“王德〞是封建统治者最后的底线。这种“王德”对天命的畏惧延续了周王朝近千年的生命,此后,无论春秋五霸如何强盛,都只能挟天子以令诸侯,再强的诸候都必须获得王室认可。这一点,颇类似于西欧或者日本王位干年一系,绝不是“皇帝轮流做,明年到我家”的强盗逻辑。 司马迁之所以大骂周厉王,原因还在于周厉王推行了“专利”制度。其实,西周铭文甚至后世典籍始终都没说清楚究竟周厉王的“专利”是个什么东西,只是说他“专山林川泽之利”。周厉王很可能把诸候的山林川泽收归国有(自己所有),凡是在山上砍柴的、打猎的都要向王室纳税。看起来,周厉王敛财是确定无疑的,所以,司马迁认为此人是一个暴君。不是周厉王贪婪,而是王室实在太穷了。 西周王室失去了财富、失去了王德,也很快会失去江山。 失去“王德”的社会,人们只会臣服于强人,只有利益才是真正的信仰。也就是说, 这个时候的西周几乎是一种丛林社会,只有赤裸裸的暴力才能制约这些诸候了。对诸侯来说,周总王不过就是一个名号,没-起喝过酒、没一起拼过命,凭什么要听你的命令? ──复用下作者的句式:失去“法律”的社会,人们只会沉醉于拜金。 管仲告诉我们,强国、弱国最大的区别是强国的钱都在黎民百姓手里,弱国的钱却在国王的钱箱子里。这一点,颇类似于穷国和富国的区别,穷国只想抢老百姓的钱,富国却在想养如何让老百姓赚钱。 ──思考:我们的钱,在哪里? 周幽王死后,周平王为了躲避犬我,东迁至东都洛邑,中国开始了春秋时代。但无论春秋诸侯多么强盛,都要举起周王室大旗,所以,春秋在中国历史上也被称为“东周” 真正的强国,震慑敌闲的不只是万乘之师,还有无法超越的经济实力。强国经济之强,必然源自园内公平的经济环境,能为国民提供一个自由创造的空间。即使弱国拒绝承认强国的地位,甚至试图与强国平起平坐,也永远无法护绝强国对本土的经济渗透。 ──瞬间想到美国 无论弱国多么不情愿,强国货币都一定会流进他的地盘。在古代,一种曾经广泛流通的货币必然有大量文物存世,春秋货币则主要包括布币、刀币和蚁鼻钱三个体系。在中国史籍中经常提到“春秋五霸”,不过“春秋五霸”有很多种版本。顺着本书的逻辑, 我们...

《Becoming Steve Jobs》Chapter 15 The Whole Widget

What the world did see was an effective and visionary leader at the height of his powers. These were complicated years for Apple, but Steve handled almost every challenge in exactly the manner he wanted. He had fallen into leadership at such a young age, but he was comfortable in that role now, and justifiably sure of his capacity to guide Apple’s tens of thousands of employees to the goals he set for them. During these years, he would ensure the company’s continued success in personal computers by engineering a deft switch to a new kind of microprocessor; ruthlessly and successfully managing some major transitions in his executive team; and optimizing and building upon the efficiency and ambition of the company’s product development “treadmill,” as Tim Cook describes it. This is also when he delivered what is likely to be remembered as the most notable product of his life, the iPhone, and then improved even that by pivoting once again into a strategy he personally had not wanted to pu...

产品随想 | 周刊 第117期:He saw the intersection of art and science and business and built an organization to reflect that.

He disliked biography attempts. “I regard my scientific papers as my essential biography,’’ Land said. “I pour my whole life into the scientific project I’m investigating. I leave behind the things I’ve done in the past to do the work in the present.’’ “The purpose of inventing instant photography was essentially aesthetic,’’ Land said in 1947, announcing the process’s invention. “We live in a world changing so rapidly that what we mean frequently by common sense is doing the thing that would have been right last year.” — Edwin Land, Statement to Polaroid Corporation employees (25 June 1958) The worldview he was describing perfectly echoed Land’s: “Market research is what you do when your product isn’t any good.” And his sense of innovation: “Every significant invention,” Land once said, “must be startling, unexpected, and must come into a world that is not prepared for it. If the world were prepared for it, it would not be much of an invention.” Thirty years later, when a reporter ask...

Hacking Team武器库

之前百度盘上公开了部分Hacking Team工具,自己一直没有看懂,今天在泉哥博客上看到他对于武器库的几篇文章,mark一下

产品随想 | 周刊 第51期:Never let a good crisis go to waste

Products Paperless-ngx   https://github.com/paperless-ngx/paperless-ngx A community-supported supercharged version of paperless: scan, index and archive all your physical documents 自架设服务,文档聚合 Tube Archivist on YouTube   https://github.com/tubearchivist/tubearchivist Your self hosted YouTube media server 自托管YouTube流媒体播放 Emby Server Emby Server is a personal media server with apps on just about every device. 自己掌控流媒体 Pointless   https://github.com/kkoomen/pointless An endless drawing canvas desktop app made with Tauri (Rust) and React 无限画布白板工具,Tauri构建,跨多端 PWA LIST   https://www.pwalist.app/ 一些好玩的PWA应用,有些还不错 Pomofocus 番茄钟 Song Search “Find me a song by lyrics.”   https://songsear.ch/ Nanopi Openwrt   https://github.com/klever1988/nanopi-openwrt Openwrt for Nanopi R1S R2S R4S R5S 香橙派 R1 Plus 固件编译 纯净版与大杂烩 Project ImmortalWrt   https://github.com/immortalwrt/immortalwrt An opensource OpenWrt variant for mainland China users. China用户专用......心情复杂 YAOF   ht...

李录推荐阅读书单

李录推荐阅读书单 李录在《文明、现代化、价值投资和中国》的最后,列出了他推荐阅读的一些书目。这个书目的含金量非常之高,是培养一个多层次有深度思维很好的参考,特整理如下。 一. 科学、哲学、进化、人类文明史、人类历史 1. 《枪炮、病菌与钢铁:人类社会的命运》,贾雷德·戴蒙德 2. 《西方将主宰多久》,伊恩·莫里斯 3. 《文明的度量:社会发展如何决定国家命运》,伊恩·莫里斯 4. 《群的征服》,爱德华·奥斯本·威尔森 5. 《无穷的开始:世界进步的本源》,戴维·多伊奇 6. 《真实世界的脉络:平行宇宙及其寓意》,戴维·多伊奇 7. 《理性乐观派:一部人类经济进步史》,马特·里德利 8. 《科学发现的逻辑》,卡尔·波普尔 9. 《开放社会及其敌人》,卡尔·波普尔 10. 《自私的基因》,理查德·道金斯 11. 《人类简史:从动物到上帝》,尤瓦尔·赫拉利 12. 《文明》,尼尔·弗格森 13. 《当下的启蒙》,史蒂芬·平克 14. 《心智探奇:人类心智的起源与进化》,史蒂芬·平克 15. A history of knowledge, Charles Van Doren 16. 《神的历史》,凯伦·阿姆斯特朗 17. 《为什么佛学是真实的》,罗伯特·赖特 18. 《思考,快与慢》,丹尼尔·卡尼曼 19. Creating the Twentieth Century, Vaclav Smil 20. Transforming the Twentieth Century, Vaclav Smil 二. 中国文明、历史、文化 1. 《先秦诸子系年》,钱穆 2. 《中华文化十二讲》,钱穆 3. 《史记(白话本)》,司马迁 4. 《白话二十五史精选》,李解民等 5. 《四书章句集注》,朱熹 6. Waiting for the Dawn, William Theodore de Bary 7. 《中国的自由传统》,狄百瑞 8. 《万古江河——中国历史文化的转折和开展》,许倬云 9. 《黄宗羲全集》 10. 《余英时文集》 11. 《思想和人物》,林毓生 12. 《曾国藩全集》 13. 《万历十五年》,黄仁宇 14. 《天安门:知识分子与中国革命》,史景迁 15. The Search for Modern China, 史景迁 16. 《中国官僚政治研究》,王亚南 17. 《中...

《深度学习推荐系统》By 王喆

  推荐序言 深度学习/机器学习,爆发于2015年 算法能力+工程能力 1992年,施乐创建了应用协同过滤算法的推荐系统 本书for:推荐、广告、搜索领域的从业者/爱好者 第1章 互联网的增长引擎──推荐系统 不同业务模式的公司定义的具体推荐系统优化目标不同,例如,视频类公司更注重用户观看时长,电商类公司更注重用户的购买转化率(Conversion Rate,CVR ) YouTube推荐系统的主要优化目标就是观看时长,而不是CTR 工程论文:Deep Neural Networks for YouTube Recommenders 大致流程:构建深度学习模型,预测用户观看某候选视频的时长,按照预测时长进行候选视频的排序,形成最终的推荐列表 淘宝首页:千人千面(即使是1%的CTR提高,也会到来数十亿元收入增加) 推荐系统逻辑框架:f(U,I,C), User, Item, Context 推荐系统数据部分:实时数据、准实时数据、离线数据 推荐系统模型部分:召回层、排序层、补充策略与算法层(排序层是工业界与学术界研究的核心) 第2章 前深度学习时代──推荐系统的进化之路 UserCF: 基于用户相似度进行推荐的协同过滤算法 互联网用户数的增长会导致矩阵维护复杂度急剧上升 用户的历史数据可能稀疏(导致UserCF不适用于酒店预订、大件商品购买等低频应用) 适用于发现热点、以及跟踪热点的趋势 ItemCF:基于物品相似度进行推荐的协同过滤算法 更适用于兴趣变化较为稳定的应用 协同过滤的天然缺陷:推荐结果的头部效应较明显 其它模型:矩阵分解、逻辑回归、FM、FFM、GBDT+LR、LS-PLM (细节已经要看不懂了) 第3章 浪潮之巅──深度学习在推荐系统中的应用 Google Play的推荐团队,基于对业务场景的深刻理解,提出了Wide&Deep模型 这张属于看不懂那种类型 第4章 Embedding技术在推荐系统中的应用 Not Interested 第5章 多角度审视推荐系统 从7个不同的角度切入推荐系统 推荐系统如何选取和处理特征 召回层的主要策略有哪些? 实时性的重要性体现在哪里?有哪些提高实时性的方法? 如何根据具体场景构建推荐模型的优化目标 如何基于用户动机改进模型结构 冷启动问题的解决方法有哪些 什么是探索与利用问题?有哪些主流的解决方法 第...

Bilibili Q2 2023 Earnings Call Transcript

Moving on to our community growth. Our DAUs increased by 15% year-over-year to 96.5 million in the second quarter, driving our DAU to MAU ratio up to 29.8%. In the second half of this year, we plan to shift our video watching metric from video views to video time spent, which will help our users discover more high-quality content on Bilibili. In addition, we are exploring new live broadcasting products to create more paying channels for our users, including live celebration events. We expect our ongoing integration activities to support our revenue growth in the second half of 2023. Our top five advertising verticals in the second quarter were games, e-commerce, digital products and home appliances, skincare and cosmetics, and food and beverage. 五大Top广告垂类 In the meantime, we have seven new titles that we plan to release in domestic and overseas markets in the second half of the year, including the highly anticipated game Pretty Derby 期待7款游戏能红火一波 We cut sales and marketing expenses by 2...

产品随想 | 陪读《芯片战争》:一、二章

作者其它书也值得读读 已出版《食用油营销第1书》《金龙鱼背后的粮油帝国》《鲁花:一粒花生撬动的粮油帝国》《手机战争》等财经书籍。 第一章 从晶体管到芯片 肖克利要创业的消息,就像17世纪的牛顿宣布要建立工场一样引起了轰动。那时候,美国还在草创时期的半导体产业主要集中在东部的波士顿和纽约长岛地区,许多科学家和工程师精英都慕肖克利之名前往美国西海岸,不远千里地聚集在肖克利旗下。可以这么说,肖克利给硅谷带来了最初的火种。 ——我也認可這個說法,不是斯坦福或其他校園,純粹是人才的原因 芯片发明后的六年间,政府对芯片项目的资助高达3200万美元,其中70%来自空军。同期美国半导体产业的研发经费有约85%的比例来自政府,政府的支持成就了美国在半导体领域的技术优势。“华盛顿通过支付技术研发费用和保证最终产品的市场份额,将原子弹最终制造成功的间隔缩短至六年,晶体管缩短至五年,集成电路缩短至三年。”不过,这些半导体企业实力壮大以后,往往不愿再参与美国政府出资的研发项目,因为那意味着专利权归政府所有,而且还得受保密条款的约束。 ——這纔是更合理的產業支持政策 诺伊斯采用激进的价格政策,将主要芯片产品的价格一举降到1美元,不仅是市场上的主流芯片价格的零头,还低于当时芯片的成本。这不是传统意义上的亏本倾销,而是第一个以反摩尔定律为定价依据的案例。反摩尔定律认为,同样的芯片在18个月后价格就会跌一半,所以按照几年后的价格为当前的芯片定价是有一定合理性的。市场被迅速打开,芯片很快在民用市场得到越来越广泛的应用,仙童的营收和利润都迅速上升,还带动了其母公司的股价上涨。摩尔后来评论:“诺伊斯以低价刺激需求,继而扩大产能、降低成本的策略,对于芯片产业的发展而言,其重要性堪比芯片的发明。” ——看到這裏的時候,真是非常震撼,好厲害的定價策略 东通工用磷渗透法研发出了高频的晶体管,于1957年做出世界上第一款袖珍收音机,并在这款产品上启用了索尼商标。盛田昭夫到美国去推销袖珍收音机的时候,德州仪器刚刚轻率地放弃了这个市场。美国人对盛田昭夫说:你们为什么要制造这种小收音机?美国人都想要大收音机。盛田昭夫回答:单单纽约就有20多家广播公司,同时就有20多套节目在播放,每人使用一台小收音机收听自己喜欢的节目,岂不更好?索尼用“一人一台”的宣传成功打破了美国人全家共用一台大型收音机的观念,成为全世界最畅销的收音机...