本体ddxf加密组件

ontology-ddxf-crypto的Python项目详细描述


本体论ddxf加密组件

英语中文

一。本体分布式身份框架(ont id)

本体did(又称ont id)是一种基于w3cdid规范的分布式身份识别协议。ont-id为每个实体建立了一个基于密码的数字身份,允许数据授权和所有权确认的自主权,这使得身份和数据真正成为用户可以控制的资产。

如果您对ont id感兴趣,可以找到详细的介绍here

2.基于ont id的加密服务

2.1条。加密过程

加密数据有三个主要步骤:

  • 查询公钥:访问本体区块链中的智能合约,根据数据请求者的ONT ID获取对应的公钥pk
  • 随机抽样:随机抽样256位数据以获得高级加密标准(aes)密钥key
  • 加密:AES256密钥使用公钥加密算法(PKE)加密以获得^{},明文数据^{}使用AES256-GCM加密以获得密文数据^{}。

2.2条。解密过程

  • 查询私钥:根据ONT IDPKIndex从私钥管理模块中找到对应的私钥sk
  • 解密对称密钥:使用私钥sk来解密加密密钥ekey,以获得aes对称密钥key
  • 解密数据:使用aes对称密钥key来解密密文数据c来获得明文数据m

三。基于密码的密钥派生函数(pbkdf)

在密码学中,pbkdf(password-based key derivation function,基于密码的密钥派生函数)是一种具有滑动计算代价的密钥派生函数,其目的是降低加密密钥对暴力攻击的脆弱性。

在分布式数据交换框架(简称ddxf)中,密钥派生算法使用的哈希函数是SHA256,算法如下:

  • 输入:seed,派生密钥长度dkLen(位)。
  • 输出:长度为dklen的派生键key
defpbkdf2(seed:strorbytes,dk_len:int)->bytes:key=b''index=1bytes_seed=str_to_bytes(seed)whilelen(key)<dk_len:key+=sha256(b''.join([bytes_seed,int_to_little_bytes(index)]))index+=1returnkey[:dk_len]

四。椭圆曲线综合加密方案(ecies)

椭圆曲线综合加密方案(ecies)是维克多·舒普于2001年提出的一种混合加密方案。shoup的提交可以在here找到。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么@DELETE REST不起作用?   带有JPA2的java表值参数。1和Hibernate,Sql Server   如何将Java类添加到Xamarin VS2017项目   绘制多边形时出现java空指针异常   java Apache WebClient 303状态未重定向   java如何用一组字符串数组从数据库中获取数据   java是否可以使用Google Drive API向文件中添加脚本?   java组织。阿帕奇。贾斯珀。JspC jar文件下载   java在整个JSON映射中将单个值作为JSON流   通过命令行将文件输入到java   java rs.next()总是返回false   java标记异常,通知调用方利用异常消息   java Spring YML数组属性为空