PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 随着信息技术的飞速发展,数据已成为现代社会最宝贵的资产之一。然而,数据的快速增长也带来了安全风险,包括数据泄露、篡改和滥用等。数据加密技术作为保护数据安全的重要手段,其重要性日益凸显。 数据加密技术概述 数据加密是一种将原始数据(明文)通过算法转换成只有授权用户才能解读的格式(密文)的过程。这一过程的关键在于密钥,它是加密和解密过程中不可或缺的元素。 对称加密与非对称加密 数据加密技术主要分为两大类:对称加密和非对称加密。 对称加密 对称加密使用相同的密钥...
新建函数,并确定返回值 functionNew1()publicpurereturns(uint,bool){ return(98,true); } functionNew2()publicpurereturns(uintx,boolb){ return(5,false); } functionNew3()publicpurereturns(uintx,boolb){ x=64; b=true; } 常规写法如上,如果想通过一个函数返回值给另一个函数 //承接函数的多种写法 functionNew4()publicpurereturns(uintx,boolb){ (x,b)=New1(...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 RSA(Rivest–Shamir–Adleman)加密算法是一种基于大素数分解难题的非对称加密算法,由RonRivest、AdiShamir和LeonardAdleman于1977年提出。RSA算法广泛应用于数字签名、数据加密和密钥交换等领域,其安全性依赖于两个大素数的乘积难以分解的特性。RSA算法的核心是利用一对密钥:公钥和私钥。本文将详细介绍RSA算法中的密钥对生成与传输过程,并分析其在实际应用中的重要性和方法。 RSA算法简介 基本原理 RSA算法...
两者都是用于异常处理的语句中,都需要满足条件才可以进行其他操作。类似于”if()" 对于”assert()“ 该关键字常用于结尾处用来,为了防止发生任何非常糟糕的事情 检查溢出(上溢出或者下溢出) 检查不变量 更改后验证状态 预防永远不会发生的情况 如果使用则将消耗掉所有剩余的gas,并恢复所有的操作并意味着发生了代码层面的错误事件。 对于"require()" 该关键字可随意用,用途广泛,通常应用于函数的开头,用来检查条件的功能 验证一个用户的输入是否合法:require(input<20); 验证一个外部协议的响应:require(external.send(am...
类似于Java中的多态,也是子继承父,孙继承父再继承爷。重写部分方法。 关键字: virtual//父类 override//子类 对于父类合约中的函数,在函数性质定义完之后可以加上“virtual“的关键字,这样代表这个函数到子类合约中需要被重写 contractJCA{//充当父合约 functionfoo()publicpurevirtualreturns(stringmemory){ return"A"; } //添加了“virtual”代表该函数可以被重写 functionbar()publicpurevirtualreturns(stringmemory){ return"...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 在数字时代,隐私保护已成为全球关注的焦点。隐私计算作为解决数据隐私问题的关键技术,其核心目标是在不泄露个人或敏感信息的前提下,实现数据的计算和分析。在这一领域,零知识证明(Zero-KnowledgeProof,ZKP)和同态加密(HomomorphicEncryption,HE)扮演着至关重要的角色。本文将深入探讨这两种技术如何在隐私计算中发挥作用,以及它们之间的异同。 零知识证明:隐私与验证的平衡艺术 零知识证明是一种精妙的密码学构造,它允许一方向另一...
密码学区块链通过密码学算法想要实现的性质有:机密性完整性身份认证和不可否认性对称密钥算法:通过安全的方式或者信道去共享加密密钥但是没有解决不可否认性,意味着所有拥有密钥的人都能加密每当有成员离开时,密钥需要进行更新常见的对称密码算法: 公钥密码算法&非对称密钥算法每个用户都有公私钥对常见算法 散列函数根据消息内容得出唯一的有固定长度输出值的函数如SHA-1SHA-2MD5等,通常又称杂凑算法可以用于数字签名和文件校验等,只能单向运算数字签名的两个明显作用:向接收方保证信息来自声明的发送者且过程中不可否认;向接收方保证传输过程中不会被改变同态加密:在不透露出元数据的情况下,对同态加密的数...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 隐私保护和身份验证是现代社会中的关键问题,尤其是在数字化时代。零知识证明(Zero-KnowledgeProofs,简称ZKP)提供了一种独特的解决方案,它允许个体在不泄露任何额外信息的情况下,证明某个陈述的真实性。以下是零知识证明在隐私保护和身份验证中的一些潜在应用。 1.身份验证 1.1匿名认证 在匿名认证系统中,用户可以证明他们是某个特定群体的成员,而无需透露自己的身份。例如,一个用户可以证明他拥有某个银行账户,而无需向验证者透露账户的具体信息。 1...
先定义一个事件 eventLog(stringmessage,uintvall); 然后规定一个函数来调用它 functionexample()external{ emitLog("foo",123);//触发事件:"emit事件名(信息);",按定义好的数据类型输出括号内的信息 } 此时部署后点击合约中名为”example“的按钮时,则会将函数括号内的数值赋给事件内的变量。 如果想通过输入数值的方式来给这个事件中的变量赋值则 eventMessage(addressindexed_from,addressindexed_to,stringmessage);//定义一个索引,最多三个...
1.概述 本次需要把量化金融交易系统从GCP迁移到AWS。 绿海数字交易公司是一家致力于为全球用户提供安全、高效的数字资产交易服务的公司。管理和运营区块链,实施有效的风险管理策略,保障用户资产安全,同时不断创新和优化交易系统和服务,提升用户体验。致力于探索区块链技术的应用,并严格遵守国际金融监管法规,确保交易平台的合法性和透明度。 1.1.项目目标&痛点 GCP托管服务迁移:客户技术团队深度使用GCP托管服务,在迁移至AWS时需要专业的技术服务商帮助客户匹配到对应的AWS服务,分别对GCP到AWS的服务适配、迁移可行性研究、迁移方法验证等工作;由于两个厂商的产品差异、系统架构...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 在现代信息社会,密码学在保护信息安全中扮演着至关重要的角色。而归约证明(ReductionProof)作为密码学中的一个重要工具,通过将一个问题的安全性归约为另一个已知问题的难解性,从而证明新问题的安全性。本文将详细介绍归约证明的概念、步骤及其在密码学中的应用,并通过具体实例和图示来帮助读者更好地理解这一重要技术。 归约证明的基本概念 归约证明的定义 归约证明是一种证明方法,通过将一个待证明的问题(目标问题)转换为另一个已知难解的问题(基准问题),来证明目...
ERC-721是以太坊区块链上的一种智能合约标准,专门用于创建和管理不可替代代币(NFT)。这些代币与ERC-20代币不同,ERC-20代币是同质化代币,每个代币都是相同的,可以互换。而ERC-721代币则是独一无二的,每个代币都具有独特的属性和价值 1.什么是ERC-721? ERC-721(EthereumRequestforComments721)是一种标准,用于在以太坊区块链上创建和管理不可替代代币(NFT)。ERC-721由DieterShirley等人在2017年提出,旨在提供一个标准接口,使得开发者可以轻松地创建、交易和管理独特的数字资产。 2.不可替代代币(NFT) NFT是一...
在Solidity中,assembly是一个内嵌的低级语言,它允许开发者直接编写EVM(以太坊虚拟机)字节码。这种能力使得开发者可以更精细地控制智能合约的行为,并且在某些情况下可以提高性能和减少gas费用。然而,使用assembly也增加了代码的复杂性和出错的可能性,因此应谨慎使用。 为什么使用Assembly 性能优化:某些操作使用Solidity本身可能效率不高,直接使用汇编语言可以更高效。 精细控制:提供对EVM的精细控制,可以执行一些在高级语言中无法直接实现的操作,比如精细的内存操作和特定的EVM指令。 节省Gas:在某些情况下,可以通过assembly减少合约的字节码大小,从而减少...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 随着智能城市建设的快速推进,各种数据采集技术和设备在城市管理中的应用越来越广泛。这些技术和设备在提升城市管理效率、优化资源分配和提高公共安全方面发挥着重要作用。然而,广泛的数据收集也引发了对个人隐私的担忧。本文将深入探讨隐私计算技术在智能城市中的应用,特别是如何在保障公共安全的同时保护个人隐私。 隐私计算技术概述 隐私计算是一种在数据处理过程中保护数据隐私的技术集合。其核心目标是在不泄露敏感信息的情况下实现数据的有效利用。以下是隐私计算的几种关键技术: ...
Merkle树是一种用于高效且安全地验证大数据结构完整性和一致性的哈希树。它在比特币网络中起到至关重要的作用。Merkle树是一种二叉树结构,其中每个叶子节点包含数据块的哈希值,每个非叶子节点包含其子节点哈希值的组合哈希。 比特币网络中的Merkle树 在比特币区块链中,每个区块包含多个交易。为了高效地验证区块内的交易,比特币使用了Merkle树。区块头包含一个Merkle根(MerkleRoot),代表了该区块内所有交易的哈希摘要。 Merkle树的构建 叶子节点:每笔交易的哈希值被用作叶子节点。 非叶子节点:每对叶子节点的哈希值被组合并哈希,形成上一级节点。这个过程递归进行,直到形成唯一...
交易流程 比特币的交易流程涉及多个步骤和参与方,包括发送方、接收方、矿工和比特币网络中的节点。以下是比特币交易的详细流程: 创建交易: 生成比特币地址:比特币地址是一个由公钥生成的字符串,用于接收比特币。每个用户在创建比特币钱包时,都会生成一对公钥和私钥。公钥通过哈希算法生成比特币地址,私钥用于签名交易。 创建交易信息:交易信息包括以下几个部分: 输入(Inputs):包含发送方的比特币地址和之前交易的输出(即发送方要花费的比特币)。 输出(Outputs):包含接收方的比特币地址和发送的比特币数量。 交易额外信息:包括交易费等。 签名交易:发送方使用私钥对交易信息进行签名。签名的目...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 在现代密码学中,椭圆曲线加密算法(EllipticCurveCryptography,ECC)因其高效的加密速度、较小的密钥尺寸和较高的安全性而受到广泛关注。ECC基于椭圆曲线数学,利用椭圆曲线上的点构成的阿贝尔群和相应的离散对数问题来实现加密和数字签名。ECC的安全性依赖于椭圆曲线离散对数问题(EllipticCurveDiscreteLogarithmProblem,ECDLP)的难解性。本文将深入分析ECC中公钥与私钥的互换性问题,探讨这种互换在理论...
1项目简介 NodeOpenMiningPortal(简称NOMP)是一个由Node.js编写的高效、可扩展的加密货币挖矿池软件,专为经验丰富的系统管理员和开发者设计。它包含了Stratum挖矿池服务器、奖励处理与支付功能以及一个响应式前端网站,提供实时统计和管理中心。NOMP基于node-stratum-pool模块,支持动态难度调整(vardiff)、工作证明(POW)和权益证明(POS)。它的安全特性包括DDoS攻击防护、IP禁止列表,并采用了Redis进行内存中的数据存储以优化性能。此外,其多币种挖掘和负载均衡能力使得管理多个币种的矿池变得简单。该项目的安装配置不再进行详细介绍,感兴趣...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 RSA密码系统作为当前最广泛使用的公钥加密算法之一,其安全性依赖于大整数分解问题的困难性。然而,随着计算能力的提高和算法优化,特别是Coppersmith方法的出现,使得在特定条件下对RSA系统进行密钥恢复成为可能。本文将深入探讨Coppersmith方法的原理,以及如何应用于针对RSA的特定密钥泄露攻击。 1.RSA密码系统基础 RSA算法基于一个简单的数论事实:对于大的合数\(n\),其因数分解是计算上不可行的。RSA的安全性依赖于以下两个假设:一是大...
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 RSA算法中,为什么需要的是两个素数? RSA算法是一种广泛使用的非对称加密技术,基于大数分解的困难性。本文将探讨为什么RSA算法需要两个素数,并以通俗易懂的例子解释其原理,同时提供专业分析和必要的数学背景。 在现代通信中,数据的安全性至关重要。RSA算法,由RonRivest、AdiShamir和LeonardAdleman在1977年发明,提供了一种强大的加密手段。其安全性基于一个简单的事实:将两个大素数相乘相对容易,但反过来,将它们的乘积分解为原始素...