在1984年,Shamir [27]要求采用公共密钥加密方案,其中公钥可以是任意的字符串。In such a scheme there are four algorithms: (1) setup generates global system parameters and a master-key , (2) extract uses the master-key to generate the private key corresponding to an arbitrary public key string ID ∈{ 0 , 1 } ∗ , (3) encrypt encrypts messages using the public key ID , and (4) decrypt decrypts messages using the corresponding private key.Shamir基于身份的加密的最初动机是简化电子邮件系统中的认证管理。当爱丽丝通过bob@hotmail.com向鲍勃发送邮件时,她只是使用公共钥匙字符串“ bob@hotmail.com”对她的消息进行加密。爱丽丝无需获得鲍勃的公钥限制。当鲍勃收到加密的邮件时,他会联系第三方,我们将其称为私钥生成器(PKG)。鲍勃以同样的方式将自己身份验证到PKG上,他将自己身份验证到CA并从PKG中获得了私钥。鲍勃可以阅读他的电子邮件。请注意,与现有的安全电子邮件基础架构不同,即使鲍勃尚未设置其公共密钥证书,爱丽丝也可以向鲍勃发送加密邮件。还要注意,密钥托管是基于身份的电子邮件系统固有的:PKG知道鲍勃的私钥。我们在下一节中讨论了关键撤销以及IBE计划的几个新应用程序。自1984年提出了该问题以来,已经提出了有关IBE计划的几个建议(例如[7,29,28,21])。但是,这些都不是完全令人满意的。某些解决方案要求用户不勾结。其他解决方案要求PKG为每个私钥生成请求花费很长时间。一些解决方案
⎼ML-DSA上下文(CTX)⎼ML-DSA和ML-KEM私钥 - 种子与扩展的⎼直接种子与派生的种子⎼杂种-KDF(MLKEM || ec)vs KDF(EC || MLKEM)
Φ(n):我们需要计算 Φ(n) = (P-1)(Q-1) 使得 Φ(n) = 3016 现在让我们计算私钥 d:d = (k*Φ(n) + 1) / e,其中 k 为某个整数,当 k = 2 时 d 的值为 2011。
它是如何工作的?密码学使用一系列称为“密钥”的字符来保护敏感数据,这些密钥可以是公开的,也可以是私有的。发送者和接收者使用密钥来锁定(加密)和解锁(解密)传输的数据。密码学主要有三种类型:私钥、公钥和数字签名。专家们普遍认为,私钥密码学的加密方法不易受到 CRQC 的攻击,而且通过使用更大的密钥更容易提高安全性。相反,专家们普遍认为,目前公钥密码学和数字签名中常用的加密方法容易受到 CRQC 的攻击。公钥密码学包括电子邮件和其他数字交易的加密,数字签名包括文档的虚拟签名和认证(见图 2)。
注意:ID-SHA512或ID-Shake256用作私钥签名操作的一部分。但是,私有密钥签名操作并未采用用这些算法之一计算的消息消化作为输入。(RFC 8419)
证书机构是一个可信赖的第三方,用于通过为所有不同实体的公共密钥证书(数字证书)发出公共密钥证书(数字证书)来验证参与消息交换的实体。该证书通常包含上述实体的公钥,有关配对私钥所有者的其他信息,一个时间窗口,指示证书有效的时间以及CA自己的数字签名。每个用户都必须与它建立信任关系,因为必须使用CA的私钥签名每个有效的证书。但是,当局还必须发布某种列表,以跟踪因折衷或取消而被撤销的证书。注册机构的作用是跟踪新用户并验证其对CA [3] [4]的身份。通过使用上述CA的证书,可以确保用户正在与正确的方通信。
在基于数字证书的PKI应用程序中,私钥在非对称加密术中起着重要作用。Fortitoken 310是一个基于PKI的高安全性令牌,可确保在安全芯片中生成,存储和内部使用私钥,这意味着这些钥匙永远不会被盗。Fortitoken 310代币经过FIPS 140-2的验证并获得了全面认证,以确保这种保护水平达到最高标准。Fortitoken 310代币是一种USB互换设备,不需要大多数操作系统(包括Windows,MacOS和Linux)的驱动程序(即无人驾驶)。它是由OS本地识别的,因此无需插件就可以易于使用。加密应用程序可以根据Microsoft Cryptography Applicationming界面(CAPI)*和公共键加密标准(PKCS)#11 **的Fortitoken 310代币进行身份验证。
iii。建模和分析用户模块1。generatersakeys():此功能启动生成RSA键对的过程。b。它将调用KeyGenerationModule生成公共和私钥。c。它将处理在密钥生成过程中可能发生的任何错误,例如随机性不足或无效的关键参数。2。filepath():此功能提示用户输入需要加密的FilePath。b。它将验证输入以确保其处于预期格式并处理任何无效输入。3。Encrypt():此功能将:1。使用生成的公共密钥调用加密模块加密授权。2。调用DataTransmissionlayer将网络通过网络传输加密的密文将其传输到接收器。4。解密():此功能将:1。从网络接收加密的密文。2。使用私钥调用解密模块以解密密码。3。向用户输出解密的明文。