- 博客(23)
- 收藏
- 关注
翻译 Compact Group Signatures Without Random Oracles——翻译
群签名允许群中的任何成员代表群签署任意数量的消息,同时隐藏签名者的身份。在许多应用中,保护签名者的匿名性很重要,在这些应用中,签名者不想直接与签名的消息相关联。然而,也存在一些情况,在这些情况下,撤销签名者的匿名性可能是可取的。例如,如果签名认证了一个恶意程序,那么人们会希望确定做出恶意声明的实体。因此,在群签名中存在一个称为群管理员的特殊方,它具有跟踪任何给定签名的签名者的能力。几乎所有的群签名方案都只在随机预言机模型下可证明安全,我们只能对安全性做出启发式论证。
2025-01-17 16:22:40
36
翻译 分布式匿名证书颁发的阈值BBS+签名(Threshold BBS+ Signatures for Distributed Anonymous Credential Issuance)(2)
4. 阈值BBS+协议在我们正式描述签名协议之前,我们先概述其子协议。第1.2节中也提供了技术的非正式描述。密钥生成(Key Generation)在服务器可以开始签署消息之前,它们必须首先运行一次性设置阶段以联合生成密钥。这些参与方通过使用生成随机值的Shamir秘密共享的标准技术来实现:每个参与方生成一个随机多项式,并将多项式上的其他点发送给彼此。每个参与方PiP_iPi将自身多项式的一个点与接收到的点的总和相加,并将此值作为其秘密密钥xix_ixi的份额。为了生成与该秘密密钥对应的公钥,参
2024-12-30 21:30:04
105
原创 pyca/cryptography库的学习(7)中的RSA密钥保存
读取私钥的方式如下:from cryptography.hazmat.primitives.asymmetric import paddingfrom cryptography.hazmat.primitives import hashesfrom cryptography.hazmat.primitives.serialization import load_pem_private_key使用私钥解密消息:
2024-12-28 15:35:52
221
翻译 分布式匿名证书颁发的阈值BBS+签名(Threshold BBS+ Signatures for Distributed Anonymous Credential Issuance)(1)
Threshold BBS+ Signatures for Distributed Anonymous Credential Issuance摘要: 我们提出了一种针对 BBS+ 签名方案的安全多方签名协议;换句话说,这是一种具有门限发行功能的匿名凭证方案。我们证明,由于 BBS+ 签名的结构,仅需验证由一个半诚实协议生成的签名即可实现针对恶意攻击者的可组合安全性。因此,我们的协议极其简单高效:它涉及客户端(需要签名)向签名方的一次请求、签名方之间的两次消息交换,最后是签名方对客户端的一次响应;在某些部署
2024-12-28 14:23:39
212
原创 pyca/cryptography库的学习(7)——python
算法参数也可以设置为None,以恢复签名中存在的所有数据,而不管其格式或用于创建签名的哈希算法。目前1024及以下被认为是不安全的,而2048或4096是新密钥的合理默认密钥大小。RSA签名需要使用特定的哈希函数和填充。RSA加密很有趣,因为加密是使用公钥执行的,这意味着任何人都可以加密数据。如果您有公钥、消息、签名和使用的签名算法,则可以检查与给定公钥关联的私钥是否用于对特定消息进行签名。与对称密码学不同,在对称密码学中,密钥通常只是一系列随机字节,而RSA密钥具有复杂的内部结构和特定的数学属性。
2024-12-27 16:33:22
848
1
原创 pyca/cryptography库的学习(6)——python
deterministic_signing (bool) — 一个默认为False的布尔标志,指定签名过程是否应该是确定性的,如RFC 6979中所定义。然而,有一些担忧认为,NIST的素数域和二进制域曲线在生成过程中可能已经被削弱。通常,NIST素数域(“P”)曲线在签名和验证时比NIST建议的其他类型(如二进制域(“B”)曲线)要快得多。这允许将附加信息混合到密钥中,导出多个密钥,并破坏可能存在的任何结构。NIST出版物800-56A中标准化的椭圆曲线Diffie-Hellman密钥交换算法。
2024-12-26 16:56:56
650
原创 pyca/cryptography库的学习(5)——python
和。公钥可以给任何人,无论是否可信,而私钥必须保密(就像对称加密中的密钥一样)。和。使用非对称加密,可以用私钥对消息进行签名,然后任何拥有公钥的人都能够验证该消息是否由持有相应私钥的人创建。这可以与身份验证系统结合使用,从而了解哪个实体(个人或团体)实际拥有该私钥,实现认证。使用非对称加密的加密方式与对称加密有所不同。拥有公钥的人可以加密消息,提供保密性,然后只有持有私钥的人才能解密消息。
2024-12-26 11:29:36
806
原创 pyca/cryptography库的学习(3)——python
自签名证书是由证书持有者自己签署的证书,而不是由一个受信任的证书颁发机构(CA)签发的。创建证书签名请求(CSR)是向证书颁发机构申请证书的过程,通常包含公钥和其他身份信息。在线证书状态协议(OCSP)用于实时验证证书的有效性,检查证书是否已被撤销。创建一个证书颁发机构(CA)层次结构,用于组织和管理证书的签发和验证。载入证书颁发机构(CA)或其他服务的响应,通常用于处理证书请求。创建证书请求,通常由客户端或证书申请者生成,请求证书的签发。创建证书颁发响应,证书颁发机构批准证书请求后的响应。
2024-12-20 10:14:41
599
原创 pyca/cryptography库的学习(2)——python
Fernet 保证使用它加密的消息在没有密钥的情况下无法被篡改或读取。Fernet 是一种对称加密(也称为“密钥加密”)的认证加密实现。Fernet 还支持通过实现密钥轮换。
2024-12-19 16:31:46
1061
原创 pyca/cryptography库的学习(1)——python
包括了高层次的算法应用和常见加密算法的低层次接口,如对称加密算法、消息摘要算法和密钥派生函数。如果你有兴趣深入了解加密学领域,我们推荐和。
2024-12-19 15:36:36
901
翻译 BBS04—Short Group Signatures(2)翻译
5.1 群签名安全性我们现在转向证明该系统的安全性。Bellare等人[6]提出了群签名方案必须满足的三个性质:正确性,确保诚实生成的签名能够正确验证和追踪;完全匿名性,确保签名不会泄露签名者的身份;完全可追踪性,确保所有签名,即使是由多个用户和群管理者串通生成的签名,都能追踪到伪造联合体中的成员。有关定义的详细信息,请参见Bellare等人[6]。我们证明了方案的安全性,使用了这些性质的变种。在我们的证明中,我们放宽了完全匿名性要求。如[6, 第2节]所示,完全匿名性实验允许对手在接收挑战σ
2024-12-17 18:10:28
44
翻译 BBS04—Short Group Signatures(1)翻译
Short Group SignaturesAbstract我们构造了一个短群签名方案。我们方案中的签名大约是具有相同安全性的标准RSA签名的大小。我们的群签名的安全性基于强Diffie-Hellman假设和双线性群中的一个新假设,即决策线性假设。我们使用Bellare、Micciancio和Warinschi最近给出的群签名安全定义的变体,在随机预言模型中证明了系统的安全性。1.Intoduction群签名由Chaum和van Heyst [14]提出,为签名者提供了匿名性。群体中的任何成员都可以
2024-12-17 18:09:30
58
原创 Elgamal和RSA加密算法
ElGamal加密算法是一种基于的非对称加密算法,它的安全性建立在求解离散对数问题的困难性之上。假设Alice要向Bob发送一条消息m,Bob的公钥为(p, g, y)。随机选择整数k:Alice随机选择一个整数k,其中1 ≤ k ≤ p-1。计算密文c1:计算c1 =gkmodp。计算密文c2:计算c2 =m∗ykmodp。发送密文:Alice将密文(c1, c2)发送给Bob。Bob收到密文(c1, c2)后,使用自己的私钥x进行解密。αc1x−。
2024-12-04 11:20:37
603
原创 短群签名——Short Group Signatures
Linear Encryption(线性加密)决策线性问题产生了线性加密(LE)方案,它是ElGamal加密的自然扩展。与ElGamal加密不同,线性加密即使在存在DDH决定算法的群中也是安全的。在此方案中,用户的公钥是一个三组生成元u,v,h∈G1u,v, h \in G1u,v,h∈G1;用户私钥是指数x,y∈Zpx,y \in \Z_px,y∈Zp,使得ux=vy=hu^x = v^y = hux=vy=h。要对消息M∈G1M \in G1M∈G1进行加密,选择随机值a,b∈Zpa,b\in \Z
2024-11-08 11:28:43
345
原创 密码学中的常见困难问题
如果给定一个问题实例作为输入,在多项式时间内找到这个问题实例的正确解的概率是l的一个可忽略的函数,用ελ(简称ε)表示,那么用安全参数λ生成的计算问题是困难的。如果λ不够大,计算问题肯定很容易。下面给出一些计算难题,其中GG×G→GT。gga∈GG是一般的循环群,a∈Zpa给定gga∈G,在循环群上计算出指数a是困难的。(因为它涉及在有限群中通过逆运算(即对数)来找回指数a,这在一般情况下是计算上非常困难的。ggagb∈。
2024-10-18 21:31:53
876
原创 安全规约基础笔记《Introduction to Security Reduction》(写给自己防止忘记)
指的是一组基础的数学运算或算法,它们作为更复杂的密码系统和协议的构建模块。这些原语通常是基于特定的数学问题或假设而构建的,具有一些特定的安全性质,用来实现诸如保密性、完整性和身份认证等安全目标。对称加密、非对称加密、Hash函数、伪随机生成器、数字签名、密钥交换协议等密码学模块。一般我们使用基于数学难题的数学原语来构造密码方案。由于分析加密方案的安全性相比于分析数学难题更加困难,因此需要引入安全规约来分析密码方案的安全性。
2024-10-11 21:51:03
769
原创 SpringBoot中的注释使用(@Valid,@Size,@NotNull,@Max)
@Valid,@Size,@NotNull,@Max的简单使用
2022-02-09 14:47:27
11993
原创 @Valid无效怎么办
我用的springboot的版本是2.6.2,@Valid注解需要通过引入一下依赖才可以使用`<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <
2022-02-09 14:33:41
1239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人