对称密码体制
加密-对称技术
引言
保密是密码学的核心,加密是获得信息保密的实用工具。
把有意义区域中的消息和加密算法中的输入称为原文,而把加密算法不可理解的输出称为密文。为了恢复信息,加密变换必须是可逆的,逆变换称为解密。加密算法和解密算法再加上消息和密钥的形式描述就构成了密码体制。
密码体制
密码体制构成如下:
明文消息空间M:某个字母表上的串集
密文消息空间C:可能的密文消息集
加密密钥空间K:可能的加密密钥集;解密密钥空间K`:可能的解密密钥集
有效的密钥生成算法g:N→K∗K′N\rarr K * K^\primeN→K∗K′
有效的加密算法:M∗K→CM*K\rarr CM∗K→C
有效的解密算法:C∗K′→MC*K^\prime \rarr MC∗K′→M
对于整数1l1^l1l,g(1l)g(1^l)g(1l)输出长为 lll 的密钥对(ke,kd)。
加密变换:c=εke(m)c=\varepsilon _{ke}(m)c=εke(m) ,解密变换:M=Dkd(c)M=D_{kd}(c)M=Dkd(c)
由此可以得到: Dkd(εke(m))=mD_{kd}(\vare ...
论文阅读_Platypus
Platypus: A Central Bank Digital Currency with Unlinkable Transactions and Privacy-Preserving Regulation
论文地址:https://dl.acm.org/doi/10.1145/3548606.3560617
摘要
由于基于区块链的加密货币的普及,支付的日益数字化以及现金在社会中的作用不断减弱,各国央行对部署央行数字货币(CBDC)表现出越来越大的兴趣,这种数字货币可以作为数字现金的替代品。尽管大多数关于CBDC的研究都集中在区块链技术上,但这种技术选择是否提供了最优解决方案尚不明确。特别是,CBDC的集中信任模型为不同的设计提供了机会。在本文中,我们摒弃区块链设计,转而借鉴传统电子现金方案的思想。我们提出了一种新的构建数字货币的方法,将电子现金的交易处理模型与基于账户的资金管理模型相结合。我们认为,这种构建数字货币的方式特别适用于CBDC。我们还设计了第一个这样的数字货币系统,名为Platypus,它提供了强大的隐私保护、高可扩展性以及简单却具有表现力的监管,这些都是CBDC的 ...
环和域
环和域
定义1: 环(Ring)
一个同时有两种运算:加法和乘法的集合,如果满足如下性质,就称为环R:
R在加法+下是一个阿贝尔群,加法单位元记作0(称为零元)
R在乘法 ⋅\cdot⋅ 下满足封闭律,结合律和单位元律,乘法单位元记作1
∀a,b∈R,a⋅b=b⋅a\forall a, b \in R, a \cdot b =b \cdot a∀a,b∈R,a⋅b=b⋅a
∀a,b,c∈R,a⋅(b+c)=a⋅b+a⋅c\forall a,b,c \in R, a \cdot (b+c) = a \cdot b +a \cdot c∀a,b,c∈R,a⋅(b+c)=a⋅b+a⋅c
如果乘法还满足交换律,则是一个交换环。
例1:
在通常的加法和乘法运算下, Z,Q,R和C均是环
对 n>0, 在模n加法和模n乘法运算下,ZnZ_nZn是一个环
定义2: 域(Field)
如果一个环中的非零元在乘法运算下构成群,则该环就称为域。
域中乘法群(即非零元)满足封闭律,这表明域FFF不含零因子,即对任意的a,b∈F,ab=0a,b\in F,ab=0a,b∈F,ab=0可推出 ...
零知识证明
零知识证明
零知识证明(Zero Knowledge Proof)由S.Goldwasser、S.Micali 及 C.Rackoff于1985年在论文《The Knowledge Complexity of Interactive Proof Systems》(交互式证明系统中的知识复杂性)首次提出,是一种用于证明者在不泄露任何其他信息的情况下证明其掌握知识正确性的密码学协议。零知识证明目前有多种实现方式,如zk-SNARKS、zk-STARKS、PLONK以及Bulletproofs。每种方式在证明大小、证明者时间以及验证时间上都有自己的优缺点。
该协议的一方称为证明者(Prover),用PPP表示;另一方称为验证者(Verifier),用VVV表示。零知识证明指PPP试图使VVV相信某个论断是正确的,但却不向VVV泄露任何有用的信息,即PPP在论证的过程中VVV得不到任何有用的信息。零知识证明除了证明证明者论断的正确性外不泄露任何其他信息或知识。
零知识证明一般包含以下阶段:
承诺(Commit):证明者针对命题做出承诺,该承诺等待验证者提出挑战并进行验证。
挑战(C ...
数学基础-群
群
群是一个对象集合,在这个集合中任意两个对象之间定义了一种运算。
群的基本定义
定义1: 群,集合GGG和运算∘\circ∘一起称为群(G,∘)(G,\circ)(G,∘),运算满足下列条件:
∀a,b∈G,a∘b∈G\forall a,b \in G , a \circ b \in G∀a,b∈G,a∘b∈G
∀a,b,c∈G,a∘(b∘c)=(a∘b)∘c\forall a,b,c \in G, a \circ(b \circ c)=(a \circ b)\circ c∀a,b,c∈G,a∘(b∘c)=(a∘b)∘c
∃e∈G,st∀a∈G,a∘e=e∘a=a,e\exists e \in G, st \forall a \in G,a \circ e =e \circ a =a ,e∃e∈G,st∀a∈G,a∘e=e∘a=a,e被称为单位元
∀a∈G,∃a−1∈G,sta∘a−1=a−1∘a\forall a \in G, \exists a^{-1} \in G, st\quad a\circ a^{-1}=a^{-1}\circ a∀a∈G,∃a−1∈G ...
数论基础
同余和剩余类
对于整数n>1n>1n>1,同余关系(模n)具有自反性,对称性和传递性,即对任意的a,b,c∈Za,b,c\in Za,b,c∈Z,有:
a≡a(mod n)a \equiv a ( mod\ n)a≡a(mod n)
if a≡b(mod n)a\equiv b (mod\ n)a≡b(mod n), then b≡a(mod n)b \equiv a (mod\ n)b≡a(mod n)
if a≡b(mod n),b≡c(mod n)a\equiv b (mod\ n), b\equiv c (mod\ n)a≡b(mod n),b≡c(mod n), then a≡c(mod n)a\equiv c (mod\ n)a≡c(mod n)
一个集合上的等价关系把这个集合分成若干个等价类。这个关系定义在集合Z上,因此它把Z恰好分成n个等价类,每个类包含与某整数模n同余的所有整数。可以表示为:
a={x∈Z∣x(mod n)≡a}a = \{x\in Z| x(mod\ n )\equiv a\}
a={x∈Z∣x(mod n)≡a} ...
论文阅读_FedIPR
今天的论文题目是《FedIPR: Ownership Verification for Federated Deep Neural Network Models》
论文地址:https://arxiv.org/abs/2109.13236
FedIPR: Ownership Verification for Federated Deep Neural Network Models
FedIPR: 联合深层神经网络模型的所有权验证
为了解决联合学习模型开发和部署过程中,面临的非法复制,再分配,滥用等风险,本文提出一种联合深度神经网络(FedDNN)所有权验证方案,允许嵌入和验证私人水印,以保证联合学习模型知识产权(IPR)。本文所做的主要工作在不透露其私人水印的情况下证明训练模型的所有权。
考虑到水印和联合学习中的威胁模型,本文提出了名为FedIPR的统一框架,它由两个独立的过程组成:1)水印嵌入过程,允许多方嵌入它们基于特征和后门的秘密水印。2)验证过程,允许每一方独立验证模型的所有权。
技术挑战
挑战A:如何确保不同的客户嵌入到同一个FedDNN模型中的私人水印不会相互诋毁?
挑 ...
LLM
LLM
大语言模型(large language model,LLM)是一种语言模型,由具有许多参数的人工神经网络组成,使用自监督学习或半监督学习对未标记文本进行训练。
大型语言模型被训练来解决通用(常见)的语言问题,如文本分类、问答、文档总结和文本生成等。
(1)文本分类:大型语言模型可以通过对输入文本进行分析和学习,将其归类到一个或多个预定义的类别中。例如,可以使用大型语言模型来分类电子邮件是否为垃圾邮件,或将推文归类为积极、消极或中立。
(2)问答:大型语言模型可以回答用户提出的自然语言问题。例如,可以使用大型语言模型来回答搜索引擎中的用户查询,或者回答智能助手中的用户问题。
(3)文档总结:大型语言模型可以自动提取文本中的主要信息,以生成文档摘要或摘录。例如,可以使用大型语言模型来生成新闻文章的概要,或从长篇小说中提取关键情节和事件。
(4)文本生成:大型语言模型可以使用先前学习的模式和结构来生成新的文本。例如,可以使用大型语言模型来生成诗歌、短故事、或者以特定主题的文章。
大语言模型特征
Large(大):在"大语言模型"的上下文中,"大&q ...
联邦学习综述
本文将介绍当前人工智能面临的挑战以及联邦学习可以作为一个有效的解决方案,并介绍联邦学习的分类和发展。
人工智能面临的挑战
在过去的十年,我们见证了机器学习(Machine Learning,ML)在人工智能(Artificial Intelligence,AI)应用领域中的迅猛发展,如计算机视觉,自然语言处理,推荐系统。近些年的产品,如AlphaGo,ChatGpt已经深深地影响着人类的生活。这些技术的成功,尤其是深度学习,都是建立在大量的数据基础上的。通过使用这些数据,深度学习系统能够在许多领域执行人类难以完成的任务。
随着社会的不断发展,人们逐渐意识到主权的重要性,也会刻意选择去保护自己的隐私,这带来这样的意识问题:什么人或者组织能够拥有和使用数据建立人工智能技术应用的权力。在一般的产品服务中,商家都会要求获取产品数据和购买者记录的使用权,这种请求是不明确的。最近更是有许多互联网企业由于泄露用户数据而被重罚,垃圾邮件制作者和不法的数据交易也常常被曝光和处罚。例如Meta数据泄露,拼多多用户数据非法收集。
在法律层面,法规制定者和监管机构正在考虑出台新的法律法规来规范数据的管理和 ...
隐私计算
隐私计算
什么是隐私计算
百度百科:隐私计算(Privacy compute 或Privacy computing)是指在保护数据本身不对外泄露的前提下实现数据分析计算的技术集合,达到对数据“可用、不可见”的目的;在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
简单来说:隐私+技术=数据可用不可见
隐私计算前景
隐私数据相关法律法规
目前,随着智能化社会的日益推广,许多人都意识到隐私和数据的重要性,各国政府和组织机构,从政策法规层面进行了规范,如下:
GDPR全称General Data Protection Regulation,中文是通用数据保护条例,是在欧盟法律中对所有欧盟个人关于数据保护和隐私的规范,主要目标为取回个人对于个人数据的控制,以及为国际商务而简化在欧盟内的统一规范。
2021年8月,美国通过UPDPA,《统一个人数据保护法》,是旨在统一州隐私立法的示范法案。
2021年6月《中华人民共和国数据安全法》(以下称《数据安全法》)历经三审三读,于2021年6月10日经第十三届全国人民代表大会常务委员会第二十九次会议通过。
行业前景
隐私计 ...
一个简单的通信游戏
从本文开始,我们将开启密码学的历程。
一个简单的通信游戏
第一个应用实例
我们给出密码学的第一个应用实例
这是个简单的问题,两个朋友Alice和Bob,他们在玩一个叫做抛硬币的游戏。
如果Alice对Bob说,“你选一面,我抛硬币并告诉你结果”,显然Bob不能同意,因为他不能验证抛硬币的结果。
为了解决这个问题,便有了这样的想法:
为此我们先了解一个奇妙函数f(x)f(x)f(x)
123奇妙函数f1) 对任意整数x计算f(x)是容易的,给出f(x)计算x是不可能的2) 不可能找到一对整数(x,y),满足x!=y且f(x)=f(y)
在这个基础上,我们可以得到第一个密码协议:
安全性分析
首先,由于性质2)Alice无法找到两个数x和y,其中一个是奇数另一个是偶数,满足f(x)=f(y)f(x)=f(y)f(x)=f(y),因此,一旦Alice告诉Bobf(x)f(x)f(x)的值,她就完成了抛硬币的过程。
其次,由于fff具有性质1),Bob不能判断Alice使用的x是奇数还是偶数,因此他不得不把其猜测真是地给出。
虽然这个协议听上去十分简单,但它的确是一个合格的密码协议,因为 ...
crypto
密码学
什么是密码学
百度百科:密码学是研究编制密码和破译密码的技术科学。 研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学
本博客密码学参考教程:《现代密码学:理论与实践》
本密码学系列仅用来回顾我的密码学心得历程,如有错误,还请联系我jhuaiyu3@gmail.com
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment