最近踩的一个坑,X.509 的证书,是可以签发出不同公钥算法的子证书的。
每个证书有两个签名相关的属性:
*
*
比如 Google 的 HTTPS 证书,就是由 RSA 签发的 ECDSA 证书。
每个证书有两个签名相关的属性:
*
public_key_algorithm
: 当前证书所使用的公钥算法*
signature_algorithm
: 父证书签发本证书时所使用的签名算法比如 Google 的 HTTPS 证书,就是由 RSA 签发的 ECDSA 证书。
'Attention Mechanism' 详细介绍了 Attention 机制的起源和原理。以前也简要描述过 RNN、Attention Transformer 的关系。
'Attention? Attention!' 则是更详细地介绍了 Attention 的不同种类和用途。Attention 的关键在于使用 alignment score 从 input 中提取 context vector 作为辅助信息,所以不同的 alignment score 计算方式也就诞生了不同的 attention 类型:
1. self-attention: 每一个输入都和之前的输入计算相关性
2. global/soft attention: 每一个输出都和所有输入计算相关性
3. local/hard attention: 先计算一个输入范围,然后输出只和这个范围内的输入计算相关性
以前介绍过实现 GPT 的 transformer 是用 multi-head attention heads 完全取代 RNN 实现了 seq2seq 的功能。文中还介绍了 attention 的其他一些应用,比如在 Pointer Network 中,让 decoder 可以利用 attention 选择下一轮迭代的 encoder,从而实现让神经网络可以循环迭代解决 irreducible computation 问题。
'Attention? Attention!' 则是更详细地介绍了 Attention 的不同种类和用途。Attention 的关键在于使用 alignment score 从 input 中提取 context vector 作为辅助信息,所以不同的 alignment score 计算方式也就诞生了不同的 attention 类型:
1. self-attention: 每一个输入都和之前的输入计算相关性
2. global/soft attention: 每一个输出都和所有输入计算相关性
3. local/hard attention: 先计算一个输入范围,然后输出只和这个范围内的输入计算相关性
以前介绍过实现 GPT 的 transformer 是用 multi-head attention heads 完全取代 RNN 实现了 seq2seq 的功能。文中还介绍了 attention 的其他一些应用,比如在 Pointer Network 中,让 decoder 可以利用 attention 选择下一轮迭代的 encoder,从而实现让神经网络可以循环迭代解决 irreducible computation 问题。
https://youtu.be/2d8j_q2tl9c?si=qcFxhjBXkmJ2IKo1
FT 关于拼多多的报道,非常有趣。
你粗略看去,拼多多/TEMU 正在疯狂地抢占市场,其商品和广告在身边无处不在,其美国公司也在 NASDAQ 上市,看上去似乎一切都很正常。
但是随着 FT 的财经记者深入挖掘,就会发现拼多多和你所以为的“上市公司”完全不一样,这公司的中国公司起源于一家法人为一名老太的皮包公司,而其在美国上市的公司则是一家注册在开曼群岛的公司,这家公司的股权结构和公开信息都一塌糊涂,名义上和中国的拼多多实际上根本没任何关系,毕竟拼多多根本没有在香港上市,也并不是人们过去所熟悉的 VIE 结构。简而言之,美股的拼多多根本就是一家空壳,FT 的记者发出了灵魂拷问:请问在美股上购买拼多多的人,究竟在买什么?
最近 PDD 还告知美国 SEC 其将总部搬到了爱尔兰,但其爱尔兰办公室实际上只是一个空壳办公处,在该地址注册的是一家名为 WhaleCo 的公司,PDD 声称 WhaleCo 是自己的全资子公司,负责其全球拓展业务。
TEMU 也是疑云重重,它的起源故事一再更换,最新的版本是这是一家 2022 年成立于波士顿的“本土企业”。TEMU 的低价来于美国对低价邮包的免税政策,而对该政策的滥用显然会引起地缘政治冲突。
此外还介绍了 PDD 的商业模式,通过 Factory to Consumer (F2C) 的模式,PDD 提供市场营销、广告、设计等环节,让企业直接给终端消费者发货,同时给企业提供市场反馈和进一步的改进建议,大部分建议都是放弃一部分的品质换取大幅降价。简而言之,通过放弃品牌,从而大幅压缩成本,最终构成了 PDD 的极致低价。但是其品质往往非常低劣,一些消费者也表示不会从 PDD 购买重要的商品。
FT 关于拼多多的报道,非常有趣。
你粗略看去,拼多多/TEMU 正在疯狂地抢占市场,其商品和广告在身边无处不在,其美国公司也在 NASDAQ 上市,看上去似乎一切都很正常。
但是随着 FT 的财经记者深入挖掘,就会发现拼多多和你所以为的“上市公司”完全不一样,这公司的中国公司起源于一家法人为一名老太的皮包公司,而其在美国上市的公司则是一家注册在开曼群岛的公司,这家公司的股权结构和公开信息都一塌糊涂,名义上和中国的拼多多实际上根本没任何关系,毕竟拼多多根本没有在香港上市,也并不是人们过去所熟悉的 VIE 结构。简而言之,美股的拼多多根本就是一家空壳,FT 的记者发出了灵魂拷问:请问在美股上购买拼多多的人,究竟在买什么?
最近 PDD 还告知美国 SEC 其将总部搬到了爱尔兰,但其爱尔兰办公室实际上只是一个空壳办公处,在该地址注册的是一家名为 WhaleCo 的公司,PDD 声称 WhaleCo 是自己的全资子公司,负责其全球拓展业务。
TEMU 也是疑云重重,它的起源故事一再更换,最新的版本是这是一家 2022 年成立于波士顿的“本土企业”。TEMU 的低价来于美国对低价邮包的免税政策,而对该政策的滥用显然会引起地缘政治冲突。
此外还介绍了 PDD 的商业模式,通过 Factory to Consumer (F2C) 的模式,PDD 提供市场营销、广告、设计等环节,让企业直接给终端消费者发货,同时给企业提供市场反馈和进一步的改进建议,大部分建议都是放弃一部分的品质换取大幅降价。简而言之,通过放弃品牌,从而大幅压缩成本,最终构成了 PDD 的极致低价。但是其品质往往非常低劣,一些消费者也表示不会从 PDD 购买重要的商品。
以前写过一篇用 CFSSL 签发根证书和叶子证书的水文 https://blog.laisky.com/p/cfssl/
有人问了关于签发 CRLs 的问题,正好查了些资料。
简而言之,CRLs 是一个证书列表,用来列举已经被吊销的证书。证书中有个属性叫做 CRL Distribution Points,用来指定对应 CRLs 的下载地址。
每个 CRLs 都有一个 scope,即定义它所管辖的证书。一般来说,CRLs 应该由某个 CA 来签发,这个 CA 称为它的 issuer,而这个 CRLs 的 scope 就是这个 issuer 所签发的其他证书。
但是,CRLs 的 scope 并不一定需要和其 issuer 相关,当 CRLs 的 scope 超出其 issuer 所签发的证书时,这个 CRLs 就称为 indirect CRLs。甚至于,indirect CRLs 其实可以没有 issuer,这种情况使得可以在不动用 CA 私钥的情况下生成 CRLs。但是,很多客户端默认情况下不一定支持 indirect CRLs,所以并不常见。
具体可见 https://www.rfc-editor.org/rfc/rfc5280#page-55
有人问了关于签发 CRLs 的问题,正好查了些资料。
简而言之,CRLs 是一个证书列表,用来列举已经被吊销的证书。证书中有个属性叫做 CRL Distribution Points,用来指定对应 CRLs 的下载地址。
每个 CRLs 都有一个 scope,即定义它所管辖的证书。一般来说,CRLs 应该由某个 CA 来签发,这个 CA 称为它的 issuer,而这个 CRLs 的 scope 就是这个 issuer 所签发的其他证书。
但是,CRLs 的 scope 并不一定需要和其 issuer 相关,当 CRLs 的 scope 超出其 issuer 所签发的证书时,这个 CRLs 就称为 indirect CRLs。甚至于,indirect CRLs 其实可以没有 issuer,这种情况使得可以在不动用 CA 私钥的情况下生成 CRLs。但是,很多客户端默认情况下不一定支持 indirect CRLs,所以并不常见。
具体可见 https://www.rfc-editor.org/rfc/rfc5280#page-55
https://youtu.be/8Vmv10p9Y44?si=1RFFOpoHqZwLfrY8
之前披露了 3M 和 Dupont 的黑料,这次来黑一把强生(Johnson & Johnson)。
多年以来,强生的爽身粉一直是美国家庭的必备品,也是安全和干爽的代名词,人们会将其用在任何地方,包括婴儿和成人。1999 年,部分家庭怀疑自己家人的癌症是因为强生公司生产的爽身粉中包含石棉,但是强生公司矢口否认,此案不了了之。
2018 年,路透社披露强生公司的内部文件显示,早在 1957 年强生就发现了其产品中包含石棉,并且有潜在的健康风险。1976 年 FDA 曾打算限制爽身粉中的石棉含量,但是强生公司的律师成功地说服了 FDA,假称爽身粉中不包含任何石棉,但实际上强生公司已经从多个实验室得知它的产品中石棉含量“相当高”。
这事儿还有另一个令人震惊的事实,强生在 1971 年为了测试石棉对人体的影响,聘用 Albert Kligman 从监狱(Philadelphia County Prison)中挑选了 50 名囚犯做活体实验,其中 44 人为黑人。在未告知风险的情况下,直接将石棉制品注射或涂抹到囚犯的皮肤上。如今我们知道石棉的致癌作用主要在肺部,所以当年的皮肤试验并未发现特别严重的副作用。此外,Kligman 声称自己并未违反当时的道德标准,至死也拒绝道歉。
* 路透社关于石棉和爽身粉的报道
* Bloomberg 关于监狱人体实验的报道
之前披露了 3M 和 Dupont 的黑料,这次来黑一把强生(Johnson & Johnson)。
多年以来,强生的爽身粉一直是美国家庭的必备品,也是安全和干爽的代名词,人们会将其用在任何地方,包括婴儿和成人。1999 年,部分家庭怀疑自己家人的癌症是因为强生公司生产的爽身粉中包含石棉,但是强生公司矢口否认,此案不了了之。
2018 年,路透社披露强生公司的内部文件显示,早在 1957 年强生就发现了其产品中包含石棉,并且有潜在的健康风险。1976 年 FDA 曾打算限制爽身粉中的石棉含量,但是强生公司的律师成功地说服了 FDA,假称爽身粉中不包含任何石棉,但实际上强生公司已经从多个实验室得知它的产品中石棉含量“相当高”。
这事儿还有另一个令人震惊的事实,强生在 1971 年为了测试石棉对人体的影响,聘用 Albert Kligman 从监狱(Philadelphia County Prison)中挑选了 50 名囚犯做活体实验,其中 44 人为黑人。在未告知风险的情况下,直接将石棉制品注射或涂抹到囚犯的皮肤上。如今我们知道石棉的致癌作用主要在肺部,所以当年的皮肤试验并未发现特别严重的副作用。此外,Kligman 声称自己并未违反当时的道德标准,至死也拒绝道歉。
* 路透社关于石棉和爽身粉的报道
* Bloomberg 关于监狱人体实验的报道
前文介绍了 AC(Anonymous Credential) 的概念和基于 RSA 的 CL-Signature。这篇笔记则介绍了基于 ECC 的 BBS+ Signature,从性能上来说会比 CL-Signature 更好。
我此前对 AC 的理解存在一些偏差,Anonymous 最侧重保护的不是被签名的隐私数据(witness),而是数据拥有者(Holder)的身份。其应用场景是,当 Holder 为自己的 witness 提供 statement,Verifier 在验证这个 statement 的时候,也无法揭露 Holder 的身份。
拿传统的非对称签名来举个例子,会有三个角色:根证书持有者(Issuer),隐私数据拥有者(Holder),验证者(Verifier)。Holder 需要从 Issuer 获取自己的个人证书,用自己的私钥对 witness 进行签名生成 statement,然后将
为了提高隐私性,上述描述中有两个需要改进的需求:
1. 匿名性:Holder 的公钥证书暴露了自己的身份信息(attributes)
2. 零知识:Holder 为了验证向 Verifier 披露了 witness 的明文
这两个需求分别对应密码学的两个方向,前者是 anonymous credential,后者是 ZKP,分别有不同的协议家族和应用。虽然这两者的实现和应用很多时候互相交织,但是核心目的是不一样的。
我此前对 AC 的理解存在一些偏差,Anonymous 最侧重保护的不是被签名的隐私数据(witness),而是数据拥有者(Holder)的身份。其应用场景是,当 Holder 为自己的 witness 提供 statement,Verifier 在验证这个 statement 的时候,也无法揭露 Holder 的身份。
拿传统的非对称签名来举个例子,会有三个角色:根证书持有者(Issuer),隐私数据拥有者(Holder),验证者(Verifier)。Holder 需要从 Issuer 获取自己的个人证书,用自己的私钥对 witness 进行签名生成 statement,然后将
(公钥证书链、statement、witness)
一起提交给 Verifier。Verifier 预先已信任了 Issuer 的根证书,从而验证了 Holder 的公钥可信,然后用 Holder 的公钥验证 statement,最终确认 witness 的真实性。为了提高隐私性,上述描述中有两个需要改进的需求:
1. 匿名性:Holder 的公钥证书暴露了自己的身份信息(attributes)
2. 零知识:Holder 为了验证向 Verifier 披露了 witness 的明文
这两个需求分别对应密码学的两个方向,前者是 anonymous credential,后者是 ZKP,分别有不同的协议家族和应用。虽然这两者的实现和应用很多时候互相交织,但是核心目的是不一样的。
P ≠ NP
以前我对 P ≠ NP 理解是有点偏感性的,以为就是描述只能被暴力搜索求解的问题是否能够被快速求解。
实际上 NP(Nondeterministic Polynomial time)这个词是描述了一类特殊的问题,这些问题的解可以被迅速证实,但是不能够被快速求解。
比如一副拼图,拼好后你可以短时间内验证拼图是否正确,最差情况下你挨个看一遍也足够了(多项式时间内)。但是没有一个简单的办法让你去从头完成一副拼图。P ≠ NP 描述的就是,能够在多项式时间内被证实的问题,是否也能够在多项式时间内被求解?
另一个经典的 NP 问题就是旅行家问题(Traveling Salesman Problem),找到一条路径,能够不重复地遍历所有的城市并回到起点。你可以很容易地验证某个路径的正确性,却很难找到这个路径。
不同的 NP 问题有不同的求解难度。其中最难的一些 NP 问题被称为 NP-completeness。这些最难的 NP 完备问题互相等价,预示着 NP 问题的一些核心本质,一旦有任何一个 NP 完备问题被破解,就意味着所有的 NP 问题都能被迅速求解。
以前我对 P ≠ NP 理解是有点偏感性的,以为就是描述只能被暴力搜索求解的问题是否能够被快速求解。
实际上 NP(Nondeterministic Polynomial time)这个词是描述了一类特殊的问题,这些问题的解可以被迅速证实,但是不能够被快速求解。
比如一副拼图,拼好后你可以短时间内验证拼图是否正确,最差情况下你挨个看一遍也足够了(多项式时间内)。但是没有一个简单的办法让你去从头完成一副拼图。P ≠ NP 描述的就是,能够在多项式时间内被证实的问题,是否也能够在多项式时间内被求解?
另一个经典的 NP 问题就是旅行家问题(Traveling Salesman Problem),找到一条路径,能够不重复地遍历所有的城市并回到起点。你可以很容易地验证某个路径的正确性,却很难找到这个路径。
不同的 NP 问题有不同的求解难度。其中最难的一些 NP 问题被称为 NP-completeness。这些最难的 NP 完备问题互相等价,预示着 NP 问题的一些核心本质,一旦有任何一个 NP 完备问题被破解,就意味着所有的 NP 问题都能被迅速求解。
密码学里经常看到 Random Oracle Model 这个名字。这是一种假想中的完美 Hash Function,具有如下特性:
1. 接收一个从未见过的输入,返回一个唯一且不可预测的输出。
2. 接收一个曾经见过的输入,返回和上次相同的输出。
ROM 这样的完美 Hash Function 在现实中并不存在,但是现实中的 Hash 都是在尽可能的接近它。经常举的一个例子就是 SHA-1,它不是 ROM 的原因就是有 length extention attack 的风险。
假设有一个消息
1. 接收一个从未见过的输入,返回一个唯一且不可预测的输出。
2. 接收一个曾经见过的输入,返回和上次相同的输出。
ROM 这样的完美 Hash Function 在现实中并不存在,但是现实中的 Hash 都是在尽可能的接近它。经常举的一个例子就是 SHA-1,它不是 ROM 的原因就是有 length extention attack 的风险。
假设有一个消息
m
,H = SHA1(m)
。如果已知 H 和 m 的长度,那么就可以伪造 H' = SHA1(m || m')
。也就是说,即使不知道 m,我也可以计算出 m + m'
的哈希值。这就违背了 ROM 不可预测性的原则。我一直是 macbook air 的鼓吹者,推荐利用 macbook air 作为随身移动办公的 GUI,然后远程连接性能强大且廉价的 PC 服务器。而 tailscale 则充当网络的连通者。
拿我自己来说,我家里有一台不关机的 windows PC,作为我的主力娱乐机。上面通过 vmware player 运行了一台 linux 服务器作为我的主力开发机。然后随身携带一台 macbook air 作为我的移动办公机。
mba 轻便,UI 友好,而且没有风扇不会积灰,Apple Silicon 的性能足够强大。因为负载都在远程,本地极为节能,续航时间超长。
有越来越多的人对 tailscale 感兴趣,我整理了一下以前的笔记:
1. 关于 tailscale 的安装与配置 https://blog.laisky.com/p/tailscale/
2. 关于 tailscale 的网络穿透 https://blog.laisky.com/p/tailscale-nat/
Vmware Pro 个人用户免费啦! https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html
拿我自己来说,我家里有一台不关机的 windows PC,作为我的主力娱乐机。上面通过 vmware player 运行了一台 linux 服务器作为我的主力开发机。然后随身携带一台 macbook air 作为我的移动办公机。
mba 轻便,UI 友好,而且没有风扇不会积灰,Apple Silicon 的性能足够强大。因为负载都在远程,本地极为节能,续航时间超长。
有越来越多的人对 tailscale 感兴趣,我整理了一下以前的笔记:
1. 关于 tailscale 的安装与配置 https://blog.laisky.com/p/tailscale/
2. 关于 tailscale 的网络穿透 https://blog.laisky.com/p/tailscale-nat/
Vmware Pro 个人用户免费啦! https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html
openai 套皮站的相关信息另建了一个 channel,发布更新信息,就不再在这里发了。这个频道还是专注做有价值信息的笔记,这是最后一条了。
前文介绍了 ECC 和 ECDH。本来想接着写一篇 ECDSA 和 Schnorr Signature 的笔记的,但是内容有点长,干脆写了篇博客,介绍 ECC、ECDH、ECDSA、Schnorr、MuSig。
因为最近薅到一些羊毛渠道,我在我的套皮站上也做了处理,请求会优先匹配到折扣最大的渠道上,近期各位充值用户的请求应该有很大概率能折扣甚至免费(可以看日志中的分组倍率)。无需任何改动,会根据我薅羊毛的情况动态调整。