Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

ECC椭圆曲线详解

朋友一起走
75 0 0
前言8 [) S, `- C1 d& T( K
9 v7 F0 r5 O5 A( ]! r
ECC英文全称"Ellipse Curve Cryptography"0 g% S# {$ i: N- `2 W# h5 i

" u8 @' V, Y. _( Y与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥$ n, D1 @$ i( E0 x
; ^  e# U& _+ }+ a5 A( z
ECC164位的密钥产生一个安全级,相当于RSA 1024位密钥提供的保密强度,而且计算量较小,处理速度更快,存储空间和传输带宽占用较少。目前我国居民二代身份证正在使用 256 位的椭圆曲线密码,虚拟货币比特币也选择ECC作为加密算法。' T& j, M7 D* d# Z2 h% N% q

1 l+ l. [6 v$ y( j从射影平面讲起
, o* ~( u9 o( A6 w
7 `7 G' ~/ S6 J0 q古希腊数学家欧几里得的《几何原本》提出了五条公设。
) g: T. N$ T# z5 v% H+ [$ A0 s5 i+ k7 ?  _5 o7 s" X" d/ Y
1.由任意一点到任意一点可作直线。  P; v+ X' t! x

" G& R9 V' ?3 a2.一条有限直线可以继续延长。- v0 ]" j" b5 j& B( X6 N

* J0 _& G4 u" ~  k6 G0 K3.以任意点为心及任意的距离可以画圆。) E, ]- g5 z- M: S7 \( G# Y1 |

, N+ J0 E4 \* _. [  p  R' m4.凡直角都相等。
- ]* d, l1 M+ P7 f/ d
, o5 Z0 u; c: A9 @5.同一平面内一条直线a和另外两条直线b.c相交,若在a某一侧的两个内角的和小于两直角,则b.c两直线经无限延长后在该侧相交。
( s; g/ D2 N7 y7 m- T3 U9 t* ?. V
《几何原本》只有在第29个命题
+ b0 f, p* e7 g/ V( C/ n
4 _0 i( m; i- X% @一条直线与两条平行直线相交,则所成的内错角相等,同位角相等,且同旁内角之和等于两直角% O: I7 J8 m  n! o4 z

* T) ?* u) G6 v5 L- I中才用到第五公设,即《几何原本》中可不依靠第五公设而推出前28命题。因此,一些数学家提出,第五公设能不能不作为公设,而作为定理?能不能依靠前四个公设来证明第五公设?这就是几何发展史上最著名的,争论了长达两千多年的关于“平行线理论”的讨论1 h3 f' n8 ?! |; T
& |6 Q9 p. s# q9 @2 q7 p8 |/ f
1820年代,俄国喀山大学罗巴切夫斯基用“至少可以找到两条相异的直线,且都通过P点,并不与直线R相交”代替第五公设,然后与欧氏几何的前四个公设结合成一个公理系统,他经过细致深入的推理过程中,得出了一个又一个在直觉上匪夷所思,但在逻辑上毫无矛盾的几何体系。
& q, j( x' q6 n  X3 ~5 s4 ]! Y9 X4 V. A. D( e7 v
这种几何学被称为罗巴切夫斯基几何,简称罗氏几何。从罗氏几何学中,可以得出这样一个结论:逻辑上不矛盾的一些公理都有可能提供一种几何学。现存非欧几何的类型可以概括如下:
& [$ Y) z3 m* E( G, t/ ~1 o! A) ]2 D2 P2 T+ S: [
1.坚持第五公设,引出欧几里得几何。. [6 V( I* ~- ]* ~
( i8 v. O( t6 _# T
2.“可以引最少两条平行线”为公设,罗氏几何(双曲几何)。
$ S( ]) F7 |) y' ~0 K3 l
+ t3 i/ h  @1 p4 E3.“一条平行线也不能引”为公设,黎曼几何(椭圆几何): O. `) w; y3 |9 A4 l% S
' V+ |" W4 P) E: I5 I
左:双曲几何,即罗氏几何;中:欧几里德几何;右:椭圆几何,即黎曼几何/ j0 t* I+ m. G+ l, o& A+ v

: H5 g  ~, x" u. h# l' j了解非欧式几何,就可以理解平行线的交点。: N( G# m0 Q7 C6 X1 z$ K' W8 }
* P% s- a/ V! a
定义平行线相交于无穷远点P∞,使平面上所有直线都统一为有唯一的交点
; G( b" v4 |- }% V- y5 O
' p7 h5 M8 F  r性质:' o9 W" K; H3 r% p0 a) L
) h* {6 U2 C* l* e4 c0 L( c3 S
1.一条直线只有一个无穷远点;一对平行线有公共的无穷远点
# q) u3 k3 @& ~/ T( l- |. p
0 e; J; Z" k# v: x2.任何两条不平行的直线有不同的无穷远点(否则会造成有两个交点)- b5 p7 b9 h. ^+ G4 Q, I# V
5 X7 ]3 k, @# O0 ]" A
3.平面上全体无穷远点构成一条无穷远直线
$ t) {0 a5 k" }* ~* e0 _
  U& A" r( k4 p0 w射影平面:平面上全体无穷远点与全体平常点构成射影平面
- @# }; k/ v+ ~. x% n2 V3 s# t. r' R* u7 w8 F  S
射影平面点的定义
; _) q6 q1 d3 l5 b% Q2 G: i/ L) W8 m+ e' {: Q: ~' G
对普通平面上点(x,y),令x=X/Z,y=Y/Z,Z≠0,则投影为射影平面上的点(X:Y:Z)$ h$ u* s4 x8 E9 J, p

" E/ I  M5 P/ b4 u* d9 o求点(1,2)在新的坐标体系下的坐标! {; Z$ l3 t. G' }* j

, w# j6 o5 L+ i∵X/Z=1 ,Y/Z=2(Z≠0)/ R' Z9 |8 j/ {9 c

  @% R& J" w; w3 |# _. F4 e; M) J∴X=Z,Y=2Z ∴坐标为(Z:2Z:Z),Z≠0
# B0 z2 J$ U$ h- y5 L  ]
5 B7 H  \4 E& D+ G) G! n, T2 k- t1 k即(1:2:1)(2:4:2)(1.2:2.4:1.2)等形如(Z:2Z:Z),Z≠0的坐标都是(1,2)在新的坐标体系下的坐标/ U0 q6 R+ q- v! C0 c! t

- L, k6 X- \- ](2) 求平行线L1:X+2Y+3Z=0 与L2:X+2Y+Z=0 相交的无穷远点1 D$ X& a- d1 F; X  i
# H, A/ X' L1 M8 C) X
∵ L1∥L2 所以有Z=0, X+2Y=0: [1 m7 \0 N$ y/ N

' Q, T4 v5 W; O) K4 d∴坐标为(-2Y:Y:0),Y≠04 i9 }9 H! j1 H- D8 K
. j6 C& N  ~6 h
即(-2:1:0)(-4:2:0)(-2.4:1.2:0)等形如(-2Y:Y:0),Y≠0
) w* @# V& a  a/ N9 c
3 q& A) Z0 ^7 e; k椭圆曲线6 U( {& h3 W; k* C- I( ]0 a7 Z$ n. d

0 p( u# R$ k8 D4 |一条椭圆曲线是在射影平面上满足威尔斯特拉斯方程(Weierstrass)所有点的集合- _" ]! Y. E0 \) T3 [

) h; P8 \  e2 }# q; R5 xY2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z33 S( |$ f' V% n1 ?0 V& z
7 Y- F. a8 o  |3 V5 T/ B2 Y; x
1椭圆曲线方程是一个齐次方程
6 ^. E# g# P  h( V  Z
* H! C; Y- ^' w2 ?& P# e3 w2曲线上的每个点都必须是非奇异的(光滑的),偏导数FX(X,Y,Z)、FY(X,Y,Z)、FZ(X,Y,Z)不同为0
3 P- _5 _" E4 z3 U- k% @; F# ]9 R% p6 b& I* a& b0 ?
3圆曲线的形状,并不是椭圆的。只是因为椭圆曲线的描述方程,类似于计算一个椭圆周长的方程故得名
/ Z: [- L+ k, v1 A7 g2 g  o
4 W9 f" h! X, u9 V  h0 N. J椭圆曲线示例  z8 B$ c2 I) \

3 c; J& j; n) w0 s4 ~非椭圆曲线示例/ s) `( U3 |* k3 P5 q

1 R  a% ^; _4 V! R这两个方程都不是椭圆曲线,因为他们在(0:0:1)点处(即原点)没有切线,不满足椭圆曲线每个点都必须是非奇异的(光滑的),
6 ]  c2 J  l3 B7 q8 f9 d9 }  L
4 k' I1 k" ~9 W7 o8 `椭圆曲线普通方程$ d  O! G" ~* |8 L

5 f! F, h% K, I椭圆曲线普通方程:
$ S6 v8 S. @9 B- I% A& }6 u# T! P+ X8 V1 r. Z. v; \+ d
无穷远点 (0, Y, 0)/ G' x- |$ m1 H) U  y

: n& `& C- l+ ^" {; y- d平常点(x,y)斜率k:6 l& l# a9 J$ V' b9 W& Y

2 [" l4 M, L+ F椭圆曲线阿贝尔群1 \, y) |$ B1 ~+ P4 q* }5 U

( l# F2 H3 E/ E. i( K5 c) ^9 |5 z5 g! p我们已经看到了椭圆曲线的图象,但点与点之间好象没有什么联系。我们能不能建立一个类似于在实数轴上加法的运算法则呢?这就要定义椭圆曲线的加法群,这里需要用到近世代数中阿贝尔群。
' C2 y% p/ g- J( Y/ U8 ]' `7 C. W  E
在数学中,群是一种代数结构,由一个集合以及一个二元运算所组成。已知集合和运算(G,*)如果是群则必须满足如下要求# Q+ `1 u+ `4 k: m

" j4 n! [7 C( ]3 N: L封闭性:?a,b∈G,a*b ∈ G; M- v" H% H: }2 Z) a

0 A8 E/ N, f, M* M" K& Q结合性: ?a,b,c∈G ,有 (ab)c = a* (b*c)
( C3 z4 S  r% D9 r7 _5 V7 P! V" ^1 g) `3 d" G) v
单位元:ョe∈G, ?a ∈G,有ea = ae = a+ o$ w- V& j0 Y$ {3 O6 ?: [2 _

4 z0 X3 X+ f8 b/ @' t. @9 U' {& D逆元: ?a ∈G ,ョb∈G 使得 ab = ba = e4 t& ~. }( P/ Z1 f- |
" f5 g: @- q/ p! B, B
阿贝尔群除了上面的性质还满足交换律公理a * b = b * a
6 L$ h. X2 R9 ?: H; o7 m; D2 z
3 X# @2 `$ }. C- X. h5 q! V, A2 |2 i  p同样在椭圆曲线也可以定义阿贝尔群。7 L  P% k, B5 j2 ~

4 ^. R1 s; _$ N) ]/ y; N; \任意取椭圆曲线上两点P、Q(若P、Q两点重合,则作P点的切线),作直线交于椭圆曲线的另一点R’,过R’做y轴的平行线交于R,定义P+Q=R。这样,加法的和也在椭圆曲线上,并同样具备加法的交换律、结合律
; G9 N+ @+ V+ [5 ]; k$ g% l/ a( Z+ W3 J
同点加法. `) ^$ f; p( o7 V5 j: K% u: g& L

: I: j( _4 T4 t) G( b, N) o若有k个相同的点P相加,记作kP
+ F+ G2 L0 A/ }7 U' m& T* V$ w0 H" o9 u
P+P+P=2P+P=3P. b5 H% G8 l, E( ?+ ~# U, q8 l1 J

, t/ W6 I4 R" f6 ~3 Z9 S1 _有限域椭圆曲线2 F! [0 M' v& j$ h8 `
0 N: {' @+ d9 a% a7 n
椭圆曲线是连续的,并不适合用于加密;所以,我们必须把椭圆曲线变成离散的点,我们要把椭圆曲线定义在有限域上。2 K% x5 V/ P) |2 o! `9 u# B
6 S# v/ a4 u1 q
我们给出一个有限域Fp6 ?& h% F  @# s' S& W) Y) d
& m/ V4 X7 Q: \0 p+ n
Fp中有p(p为质数)个元素0,1,2,…, p-2,p-1. m1 ]/ E- h" Y4 m! p

) \% ?5 V5 y+ i9 _/ }# t" KFp的加法是a+b≡c(mod p)
2 A$ v! M' W8 b1 f( T+ ^! k7 Q7 Y" i8 }7 }  Z4 h- j
Fp的乘法是a×b≡c(mod p)
8 _# H0 M* G$ B; Y9 G! y+ s( h/ j& j" Q* H5 c% ^0 h8 W$ P
Fp的除法是a÷b≡c(mod p),即 a×b^(-1)≡c (mod p),b-1也是一个0到p-1之间的整数,但满足b×b-1≡1 (mod p)
* x4 s5 E! f: G3 x
% t& u0 ^$ I, IFp的单位元是1,零元是 0
0 M4 t0 O. Z1 `( r! F7 @& y+ x9 F$ g& h
Fp域内运算满足交换律、结合律、分配律
) D* W4 t; s7 |8 U3 x+ M# P1 l% [6 l. W1 }: D. v4 p
椭圆曲线Ep(a,b),p为质数,x,y∈[0,p-1]* Q* W4 M* [2 M9 f! J# w

' G' c' w5 }% }, l* a选择两个满足下列约束条件的小于p的非负整数a、b" m/ |( h( I; A0 U5 Z/ u
- k0 }4 w- T: z# T/ t! A; R; {( D% Z) U% ^( V
Fp上的椭圆曲线同样有加法
  C. b' \( i; Y7 _9 T/ `1 `, q# u% H  R, `# ?. y7 C6 L; K
1.无穷远点 O∞是零元,有O∞+ O∞= O∞,O∞+P=P7 J0 Y7 f- P* W7 E
9 p" i2 I( S7 R" ~
2.P(x,y)的负元是 (x,-y mod p)= (x,p-y) ,有P+(-P)= O∞
6 T4 S) y% T% J% H% q4 q- |
; y( X! W8 d1 A  R3.P(x1,y1),Q(x2,y2)的和R(x3,y3) 有如下关系:
5 i$ i: V0 n9 k- J/ O4 H0 I; W
$ a0 G: h5 b. g7 N4 Bx3≡k2-x1-x2(mod p)
( s/ o) A+ T4 P5 e$ k( h/ A, P- P! v% O
y3≡k(x1-x3)-y1(mod p)
; [; M! ?& S( t  Y. r; O( e, z$ E9 T. F* s; F  Q% y
若P=Q 则 k=(3x2+a)/2y1mod p8 I) ^  S: E7 C# I8 O0 O  f3 h" L
5 G, |  N. k( x# F
若P≠Q,则k=(y2-y1)/(x2-x1) mod p
" a& i" |4 V6 j; A9 Q/ V
+ w" K* W& H7 P2 C例题椭圆曲线已知E23(1,1)上两点P(3,10),Q(9,7),求(1)-P,(2)P+Q,(3) 2P& x) }3 i% h& A' y3 n& C$ A( t
6 Z0 i7 x$ y$ `" X3 H; M$ l
补充:
# B+ n, P! V1 T% z4 n$ b
- d" x' N8 d8 e' g-2^(-1) mod 23 进行两部分计算
1 c! [$ s8 ~/ \4 Y3 `: ~
3 b( @/ y( z( l- R' D+ U$ H6 x(1) 先算 2^(-1) 对应的数A, 在这里2^(-1)不是2的-1次方,而是2的逆元
3 g, k' U2 ?% |0 W3 {  a0 ^4 T5 `# U' Z1 C& @9 h# E
(2) 再算-A mod 23
* F" x: j9 m: z- A$ i' O" S, \2 K5 T, T
(1) 计算第一步9 Z3 J$ b$ r# N7 G5 D  c* U# P

! Y) O) {" l1 [0 Y2 x7 r3 e根据有限域除法规则 2 * 2^(-1) = 1 mod 230 v( g1 r! B9 p: `8 B) F& t+ v
: S: W0 }/ I, a6 Z/ N
即 2A = 1 mod 23 ==> 2A = 23 + 1 == > A = 12: }. z6 q" Q( q2 b" k, K5 r, g* X

" Y$ b( q2 a8 C& D(2) 计算第二步
. {& p3 X# P, L! J0 `" ~) h. U% z  c' E6 Z. i& [+ H
-A mod 23 ==> -12 mod 23 即 23 -12 = 112 a. N/ |& d6 f* f2 H; [9 n
6 T& Y8 A, q- e' d: d# ]3 M$ ?
所以有
! P: Q4 i; b) D+ v/ o6 w! m( ~9 g8 m' t/ [) n7 W2 ]& }# p
-2^(-1) mod 23 = 110 j) B  @! }9 E' b; T) F
" b. ^7 P' W5 n+ f! b
有限域椭圆曲线点的阶
$ x+ d7 V7 L( z1 G1 w' J1 @" G8 R5 X# B$ \% D
如果椭圆曲线上一点P,存在最小的正整数n使得数乘nP=O∞ ,则将n称为P的阶$ ^* u1 d' V, A& I7 @/ N$ u& m

% P  m4 G2 w6 M: m# J6 \若n不存在,则P是无限阶的1 W$ G# }* F; z# i9 e  c

, _. K4 w0 Z; \! J9 S2 w# A( ]计算可得27P=-P=(3,13)
% n$ t4 u, R9 h5 s
9 _3 o" q! {% ^+ R0 Q所以28P=O ∞ P的阶为28" t6 u$ `- Q7 c3 Y8 d/ \% K! ^* `

, D( n/ I& I- t3 X& Q/ C. K. ^这些点做成了一个循环阿贝尔群,其中生成元为P,阶数为29。显然点的分布与顺序都是杂乱无章
; |/ R& c8 l" a3 @& s+ k1 B$ u' N% \( E" M- E) {
椭圆曲线加密
3 |# T. t/ H: L, D/ o$ g' M4 e% ?, l6 n2 F  C
考虑K=kG ,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞ ),k为小于n的整数。则给定k和G,根据加法法则,计算K很容易但反过来,给定K和G,求k就非常困难。因为实际使用中的ECC原则上把p取得相当大,n也相当大,要把n个解点逐一算出来列成上表是不可能的。这就是椭圆曲线加密算法的数学依据6 j  E- c9 g  U

5 x4 m/ O/ r5 ]/ `0 Q! l$ J点G称为基点(base point)' [. {- Q: s: c1 X# f  `

  V; G% W/ V, kk(k8 ]9 J3 i3 a) \+ _! ?1 T/ ~1 x4 o

% b% v/ K2 e( R$ r6 gK为公开密钥(public key)
2 _7 T" }3 B# P& C5 x
" Z6 A" U2 v  {* hECC保密通信算法& _+ a7 |2 T! G1 r6 T/ V: N( U" B
2 L$ u, C7 x! @0 ]3 q. I& D
1.Alice选定一条椭圆曲线E,并取椭圆曲线上一点作为基点G 假设选定E29(4,20),基点G(13,23) , 基点G的阶数n=37
! S# C( w( ^% T! O& q
- G5 J* W" ?$ Q" T9 f2.Alice选择一个私有密钥k(k
$ {" W1 H! Z3 O7 ^" R" q* @  D$ q9 T/ O$ o0 _; i
3.Alice将E和点K、G传给Bob$ K6 D0 _1 l7 k3 c& q! t3 Z
& Z2 f+ R9 {( r+ k+ g
4.Bob收到信息后,将待传输的明文编码到上的一点M(编码方法略),并产生一个随机整数r(r
: A/ c- k" U: q# k1 E; B
8 ], J+ V0 U3 b4 K# h3 Y' I5.Bob计算点C1=M+rK和C2=rG C1= M+6K= M+625G=M+2G=(3,28)+(27,27)=(6,12) C2=6G=(5,7)
3 F( X  O8 r& v4 o* A- }# \2 w* [
  Y% ?  |, G- H% [4 O9 R9 w, s6.Bob将C1、C2传给Alice
7 I$ W8 U/ M; ]" p1 Y
& w' {+ I5 T5 U3 H! m/ X7.Alice收到信息后,计算C1-kC2,结果就应该是点M C1-kC2 =(6,12)-25C2 =(6,12)-25*6G =(6,12)-2G =(6,12)-(27,27) =(6,12)+(27,2) =(3,28)
/ @- I6 G8 s' g0 n  I. t) }# ~) O0 ^/ e$ s$ Z. B2 Y9 W7 C6 A5 B
数学原来上能解密是因为:C1-kC2=M+rK-krG=M+rkG-krG-M  w- A3 e- ^' T' j1 @9 ?4 y

2 y9 P  m2 g+ `1 tECC技术要求- I* M; [( T+ N1 I% U9 _# L
1 q$ w  M( z1 Z! A& V
通常将Fp上的一条椭圆曲线描述为T=(p,a,b,G,n,h)p、a、b确定一条椭圆曲线(p为质数,(mod p)运算)G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的商的整数部分: I) I+ G" `; }" [4 M

  k- z7 b; S# E, O参量选择要求:
1 V  K+ w9 d2 {; Y# s4 b
8 _, C" i2 o! \3 hp越大安全性越好,但会导致计算速度变慢200-bit左右可满足一般安全要求n应为质数h≤4;p≠n×h ;pt≠1(mod n) (1≤t<20)4a3+27b2≠0 (mod p)- i- X3 @! r: i

$ b0 a  y, g1 ^3 c/ wECC的应用
2 T" `, F7 V! w. p4 k2 G; S# H3 C7 _, I  p0 ~2 x  C
比特币系统选用的secp256k1中,参数为
% O% `3 E3 [$ Z& }# a; B5 Z1 k6 Y9 Z+ G+ Q3 O
p = 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F = 2^256 ? 2^32 ? 2^9 ? 2^8 ? 2^7 ? 2^6 ? 2^4 ? 1
/ R  U- l0 H% V* r! ~, K$ k2 O7 i3 U- r7 t
a = 0, b = 7
% i0 _/ o- d- f4 P2 |3 \
# t" g5 [* K; h/ OG=(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)! i/ n, X1 x5 C* W0 f6 f9 [+ }
9 j: c; ]+ n& `) v: f! V
n = 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141+ H% ~- V1 [) ?6 i9 L* o

: M2 `5 ]" c& s' Q) L# lh = 01
9 v6 y) b( A" N0 t$ B1 N
0 Q8 }+ G# h- |2 KECC vs. RSA - 优缺点& r6 W1 U" K2 ]- v( n+ y

: _# i7 z* g7 H& s8 ~. ~  d优点% Z& }0 F+ s# d1 g
8 a- C2 a0 Q2 ~; O5 ^! K( G
安全性能更高
! K1 \0 S8 b. |" B) g9 y; R. I3 f. k) R9 W/ X
160位ECC与1024位RSA、DSA有相同的安全强度# C0 s% \  |# `) z0 y

" c" w) M1 B4 O8 ~; T% v处理速度更快
: Q  N0 @7 k' s8 N
) J- a- `$ R% g2 A在私钥的处理速度上,ECC远 比RSA、DSA快得多- N; S& j9 n; L7 s
) l8 G! |& X* p* s" X+ }
带宽要求更低2 |* {+ f" |. ^; U( }& S

. o0 R; {  N0 N2 t, _存储空间更小
# B  a) B# u5 ]& H% F7 j" T" k) k+ Y1 V9 u9 {
ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多5 ^( ~7 \# V" K; d3 R$ Q

* X: b  Y6 `8 [9 d) p4 P缺点, O9 O! ?' X+ W8 d& E' A

5 s. z/ B' T) T  K设计困难,实现复杂7 G2 w: h# n% q7 z# |
) X( K+ c7 C9 s! S3 y
如果序列号设计过短,那么安全性并没有想象中的完善' L4 E* i5 K1 q& W! S8 H
- F9 A& N7 I0 g
标签: ECC 椭圆曲线
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16