本体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对象数组   不支持java PageNotFound请求方法“GET”   java JDBC未选择任何数据库   java正在获取ssl。SSLHandshakeException在使用带有标头的REST客户端时发生,但在使用PostMan时可以正常工作   java测试与junit 5的接口   多线程Java Publisher服务器聊天程序   java编译错误已尝试修复,但没有成功   在TIBCO上安装java Https证书   java如何解析一个困难的问题。txt文件?   java如何使用ApachePOI3.6和ApachePOIOXML3读取pptx文件的内容。15罐?   java使用Gradle运行特定于Android的检测测试   人工智能回溯Java   用java制作螺旋桨动画   spring hibernate查询中的java日期   java读取HDFS小型分区?