写给开发人员的实用密码学(六)—— 对称密钥加密算法 (thiscute.world)

【简介】

在密码学里面,最容易搞混的词估计就是「密码」了,cipher/password/passphrase 都可以被翻译成「密码」,需要注意下其中区别。

点击查看原文 >>

@技术头条 2024-01-14 19:01 / 0个评论
要不要再学学下面的文章?
大众点评内容搜索算法优化的探索与实践 (tech.meituan.com)
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
by @技术头条 2024-03-31 21:14 查看详情
B树、B+树索引算法原理(下) (www.codedump.info)
在上一篇文章中,介绍了数据库索引的简单概念,以及B树的结构及核心算法,这一篇将继续介绍B树的变形B+树。
by @技术头条 2024-03-21 23:02 查看详情
B树、B+树索引算法原理(上) (www.codedump.info)
这一段时间由于在阅读boltdb代码的缘故,找机会学习了B树及B+树的算法原理,这个系列会花两个篇幅分别介绍这两种数据结构的实现,其用于数据库索引中的基本原理。
by @技术头条 2024-03-21 23:01 查看详情
实用密码学之数字证书与 TLS 协议 (thiscute.world)
现代人的日常生活中,HTTPS 协议几乎无处不在,我们每天浏览网页时、用手机刷京东淘宝时、甚至每天秀自己绿色的健康码时,都在使用 HTTPS 协议。

作为一个开发人员,我想你应该多多少少有了解一点 HTTPS 协议。 你可能知道 HTTPS 是一种加密传输协议,能保证数据传输的保密性。 如果你拥有部署 HTTPS 服务的经验,那你或许还懂如何申请权威 HTTPS 证书,并配置在 Nginx 等 Web 程序上。

但是你是否清楚 HTTPS 是由 HTTP + TLS 两种协议组合而成的呢? 更进一步你是否有抓包了解过 TLS 协议的完整流程?是否清楚它加解密的底层原理?是否清楚 Nginx 等 Web 服务器的 HTTPS 配置中一堆密码学参数的真正含义?是否知道 TLS 协议有哪些弱点、存在哪些攻击手段、如何防范?
by @技术头条 2024-03-13 13:35 查看详情
nginx 防火墙模块开发总结 (www.addesp.com)
那段时间我的站点有时会打不开,起初以为是网络问题,后来越来越严重,进入后台才发现数据库 IO 拉满了。看了看 nginx 的日志才发现站点被疯扫,于是打算做点什么。

然后在 Github 上看了几个防火墙模块,要不然功能不全,要不然使用复杂,于是萌生了自己写模块的想法。
by @技术头条 2023-12-26 22:24 查看详情
D-H 密钥交换—即使被窃听也能安全地交换密钥 (www.addesp.com)
是的,即使通信全程都被窃听,你依然可以和对方安全地协商出密钥来进行加密通讯。
by @技术头条 2023-12-26 22:23 查看详情
从零实现 AES 加密算法 (sxyz.blog)
这篇文章介绍从零实现一个简单的 AES-128-ECB,其中 128 指采用 128 位密钥块,ECB 指采用 Electronic codebook 分组模式,并为长度不足 128 位的数据块填充 0x00。

本文代码部分选择使用 Python,因为其语法简单而强大,我想把更多时间、精力花在加解密流程上,而非语法细节上。本文所有代码仅供学习研究之用,不要用在生产环境!生产环境请使用流行、成熟的专用密码库,否则可能导致潜在的 Side-channel attack 和其它安全问题。
by @技术头条 2023-12-11 23:21 查看详情
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF (thiscute.world)
我们都更喜欢使用密码来保护自己的数据而不是二进制的密钥,因为相比之下二进制密钥太难记忆了,字符形式的密码才是符合人类思维习惯的东西。

可对计算机而言就刚好相反了,现代密码学的很多算法都要求输入是一个大的数字,二进制的密钥就是这样一个大的数字。
by @技术头条 2023-11-06 23:05 查看详情
写给开发人员的实用密码学(二)—— 哈希函数 (thiscute.world)
更好的哈希函数可以使用这样的方案:它将第一个字节作为状态,然后转换状态(例如,将它乘以像 31 这样的素数),然后将下一个字节添加到状态,然后再次转换状态并添加下一个字节等。 这样的操作可以显着降低碰撞概率并产生更均匀的分布。
by @技术头条 2023-11-06 23:04 查看详情
写给开发人员的实用密码学(一)—— 概览 (thiscute.world)
从开发人员的角度理解密码学概念不需要你是一个厉害的数学家。 这个系列的文章将尽量以最浅显的方式教你应用密码学的基础知识,而且包含大量循序渐进的代码示例和实践练习——就像你学习 Web 开发、数据库或 APP 开发一样。
by @技术头条 2023-11-06 23:03 查看详情