找到约 15 条结果

文章 区块链中的数学-用Cipolla算法求解二次剩余方程

## 写在前面 上一节讲了[原根及其定理](https://learnblockchain.cn/article/1523),可以看出,原根通常也用来表示为循环群的生成元。 本节继续二次剩余方程的解法。回顾下二次剩余方程如下: $x^2 \equiv n(mod \ p)$ 求出满足条件的x...

文章 区块链中的数学 - RSA运算中的快速幂模运算

## 写在前面 上一节介绍了[RSA的共模攻击和低指数攻击](https://learnblockchain.cn/article/1563),这一节我们继续说RSA的计算方面的注意的问题。 由于RSA主要计算过程是幂运算和模运算,但是RSA参数选取都是很大的整数, 没有概念的...

文章 Mastering Time in TON Smart Contracts: An In-Depth Look at the STON.fi Time Utility Library

> The TON blockchain has rapidly gained traction as a leading platform for decentralized applications, offering unparalleled speed, scalability, and security. Among the many innovative projects within the TON ecosystem, [STON.fi](http://ston.fi/) stands out as a decentralized automated market make...

文章 区块链中的数学-抽象的椭圆曲线密钥协商 & Miller Rabin素数判定法

## 写在前面 上一节说了[sm2的密钥协商过程](https://learnblockchain.cn/article/1506),是针对特定的sm2曲线的, 可以抽象地考虑对于一般的椭圆曲线如何做密钥协商? 从一般意义上讲,反而更加简单,也更能看清本质所在。 ## 一...

文章 区块链中的数学 -- Accumulator(累加器)

## 写在前面 上一篇介绍了[merkle承诺原理](https://learnblockchain.cn/article/2290), 最近几篇的主题围绕密码学承诺,可以来一个总结了。 有一个比喻说的很好,承诺就像把一封信放在保险箱内上锁并发给接收方,由于保险箱在接收...

文章 Go以太坊内部:Golang如何驱动以太坊节点层

...Fatal(err) } address := common.HexToAddress("0x742d35Cc6634C0532925a3b844Bc454e4438f44e") balance, err := client.BalanceAt(context.Background(), address, nil) if err != nil { log.Fatal(err) } fmt.Println("ETH Balance:", new(big.Float).Quo(new(big.Float).SetInt(balance...

文章 OpenZeppelin Uniswap Hooks v1.1.0 RC 2 审计报告

## 目录 - [目录](#table-of-contents) - [总结](#summary) - [范围](#scope) - [系统概述](#system-overview) - [AntiSandwichHook](#antisandwichhook) - [LiquidityPenaltyHook](#liquiditypenaltyhook) - [LimitOrderHook](#limitorderhook) - [与 v1.0 的差异](#differences-from-v10) - [...

文章 格密码学进阶之三:基于格的Identity-based Encryption(身份加密)

### 上期回顾 上一期,我们了解了Lattice Trapdoor的具体构造。基于Trapdoor,我们可以有效的逆向计算基于SIS与LWE的两个单向函数$f_\mathbf{A}, g_\mathbf{A}$。 我们再来快速的回顾一下Lattice Trapdoor的构造。 首先,我们需要选择一个...

文章 椭圆曲线配对

...多方密钥交换和用于零知识简洁非交互式知识论证(zk-SNARK's)的多项承诺方案。尽管对密码学领域产生了深远影响,但它们在很大程度上仍笼罩在神秘之中。通常被称为“月球数学”,它们的实现细节被藏在一个黑盒中。非退...

文章 攀登高塔:域扩张

## 引言 有限域是每个密码学和 [zk-SNARKs](https://learnblockchain.cn/article/22822/) 的核心组成部分。实践中最常见的有限域是具有素数阶的 **FpFp** 域。定义它们的方法有很多种。一种常见的方法是将 **FpFp** 视为集合 ``` {0,1,⋯,p−1}{0,1,...

文章 进阶篇-闭包

...定义时所在作用域中的值。 # 闭包的语法 ```rust fn main() { let add = |x: u32, y: u32| -> u32 { x + y }; } ``` 可以从示例上看出,闭包的语法跟函数很像。三个部分如下: |参数1, 参数2, ...| ->返回值类型 {...

文章 SlowMist:探索法iat-Shamir方案中的Frozen Heart漏洞

![](https://img.learnblockchain.cn/2025/03/09/39147971_image.jpg) **背景** Frozen Heart 漏洞最早是由 Trail of Bits 团队命名的。“Frozen”代表零知识证明的铸造,而“Heart”则表明 Fiat-Shamir 转换是许多证明系统的核心。该漏洞指的是使用“弱 Fiat-S...

文章 解读Solidity中的用户定义运算符

... ✍🏻 在本文的其余部分,我将它们称为以下内容:**a. 用户定义运算符 - UDOsb. 用户定义值类型 - UDVT** 在学习 UDO 之前,我们需要了解 UDVT。 #### 什么是用户定义值类型 UDVT 是 Solidity 中预定义值类型之上的 gasless 值类型...

文章 理解静默支付(一)

> _作者:benma & Sebastian_ > > _来源: [https://blog.bitbox.swiss/en/understanding-silent-payments-part-one/](https://blog.bitbox.swiss/en/understanding-silent-payments-part-one/)_ ![silentpayments-1](https://img.learnblockchain.cn/2025/08/08/silentpayments-1.png) 我们骄傲地宣布, B...

文章 深入探讨Espresso共享序列市场的设计

...,以及与该设计空间相关的一些挑战。你可以在 [https://learnblockchain.cn/article/13364](https://learnblockchain.cn/article/13364) 阅读原始 Espresso 的设计文章。 **注意**:非常感谢 Terry @ EclipseLabs 分享关于 Espresso 的笔记。我的分析在很大程度...