Position: Home page » Blockchain » Elliptic algorithm blockchain

Elliptic algorithm blockchain

Publish: 2021-05-21 17:44:11
1. They are both encrypted virtual digital currencies. The difference is that bitcoin was born early, has a large audience, and is highly accepted (Dell and Microsoft both accept bitcoin payment). Bitcoin is the representative and originator of cryptocurrency, and has a high market value. Bitcoin is also a small-scale social experience. Ethereum is the second generation of digital currency, and IOT is the follow-up currency, It is also developed based on the smart contract of Ethereum. Last time I saw their founder Zhang Feng's roadshow, it was good
2. The basic algorithm of ellipse is transformed into programming language according to ellipse equation.
3.

Comparison between elliptic curve algorithm and RSA algorithm
elliptic curve public key system is a strong competitor to replace RSA. Compared with RSA, ECC has the following advantages:
(1) higher security performance, such as 160 bit ECC has the same security strength as 1024 bit RSA and DSA
(2) ECC is much faster than RSA and DSA in the processing speed of private key (decryption and signature)< (3) compared with RSA and DSA, ECC has much smaller key size and system parameters, so it takes much less storage space
(4) the low bandwidth requirement makes ECC have a wide application prospect
ECC will replace RSA and become a general public key encryption algorithm. For example, the maker of set protocol has taken it as the default public key cryptography algorithm in the next generation of set protocol

4. In the simplest description, k = kgthe author redefines the addition and multiplication of elliptic curves. And it's irreversible. After a series of complex calculations, the public key and encryption algorithm are calculated. For example, y ^ 2 = ax ^ 3 + BX ^ 2 + CX + D, and then Alice calculates a parameter (x1, Y1) to tell a, B, C, D to Bob, and Bob calculates the corresponding parameter (X2, Y2). Then the two sides communicate and can use the public key and private key to encrypt and decrypt. PS: sorry. I gave the book to the teacher. There is no information on hand to check PS: when I started to understand this algorithm, I also read the introction to ECC encryption algorithm. I still don't know. I'm not a math major, either. PS: I regret that I didn't write down the contents of this book at that time. Now it's just a little rough. The book is cryptanalysis in simple terms: Principles and applications of common encryption technology (classic translations of security technology), written by (US) pal, (US) peltzer, translated by Ma Xiaoting PS: at last, I hate very simple things and say very complicated things. In the above book, we can solve the problem by adding the most basic calculation examples of no more than two digits. It's just super complicated.
5.

br/>Importjavax.swing.*;< Cannot initialise Evolution's mail component.br/>Importjava.awt.event.*;< br/>publicclassLipse
{
publicstaticvoidmain(String[]args)
{
newMainFrame();}
}

{
JPanelpane=newJPanel();
JTextFieldT_a,T_b;< br/>JButtonDraw,Show;< br/>JLabelL_a,L_b;< until,b;< br/>MainFrame()
{
super(" DrawLipseWindow "< br/>Containercon=this.getContentPane();< con.setLayout(zero);< br/>
pane.setBounds(20.20,850.550);< br/>pane.setBackground(newColor(100,156,200);< con.add(pane);< br/>
L_a=newJLabel(" Invitation into long-term penalties: a "; br/>L_a.setBounds(180,580,100,20);< con.add(L_a);< br/>
L_b=newJLabel(" Insertion into short-term diameters:b " ; < br/>L_b.setBounds(180,630,100.20);< con.add(L_b);< br />

T_a=newJTextField();
T_a=newJTextField();< br/>T_a.setBounds(300,580,50,20);< con.add(T_a);< br />
T_b=newJTextField();< br/>T_b.setBounds(300,630.50.20);< con.add(T_b);< br/>
Draw=newJButton(" elliptical "< br/>Draw.setBounds(550.580,90.30);< Draw.addActionListener(this);< con.add(Draw);
Show=newJButton(" Dispersion of eyesight " ; < br/>Show.setBounds(550,620.90.30);
this.addWindowListener(newCloseWindow();< br/>this.setBounds(20.20,900,700);this.setVisible(true);this.setResizable(false); br/>b=Integer.parseInt(T_b.getText().trim();< br/>Lineline=newLine(this);< Lipse(a,b);< br/>}
if (e.getSource()==Show)
{
Graphicsg1=this.pane.getGraphics();
Color(Color.PINK);< br/>g1.drawLine(0.300,920,300)/---- x---
g1.drawLine(410.0.410.720); /---- y---
g1.dispose();<
}

}/*methodactionPerformed*/
}
classLine
{
MainFramejb;
br/>Line(MainFramejb)
{
this.jb=jb;
br/>}
publicvoiddrawLipse(inta,intb)
{
intx,y;doubled1,d2;< br/>x=0; y=b;< br/>d1=b*b+a*a*(-b+0.25);Graphicsg=jb.pane.getGraphics();< Color(Color.red);< br/>g.drawLine(x+410.y+300.x+410.y+300);< br/>g.drawLine(-x+410,y+300,x+410,y+300);< br/>g.drawLine(-x+410.y+300.x+410;y+300);< br/>g.drawLine(x+410,y+300,x+410;y+300);<
try
{
while(b*b*(x+1)< a*a*(y-0.5)
{
(d1<= 0)
{
d1+=b*b*(2*x+3);
d1+=b br/>x++;<
}
{
d1+=(b*b*(2*x+3)+a*(-2*y+2);< br/>x++;< br/>y--;< br/>}
g.drawLine(x+410,y+300,x+410,y+300) br/>g.drawLine(-x+410,y+300,x+410,y+300);< br/>g.drawLine(-x+410.y+300.x+410;y+300);< br/>g.drawLine(x+410,y+300,x+410;y+300);< br/>Thread.sleep(30);< br/>}/topofwhile
}catch(Exceptione){}

d2=b*b*(x+0.5)*(x+0.5)+a*(y-1)*(y-1)-a*b*b*b;< Try
{
while(y> 0)
{
(d2 <= 0)
{
d2+=b*b*(2*x+2)+a*(-2*y+3);< br/>x++;< br/>y--;< br/>}
else
{
d2+=a*a*(-2*y+3);
br/>y--;< br/>}
g.drawLine(x+410,y+300,x+410,y+300) br/>g.drawLine(-x+410,y+300,x+410,y+300);< br/>g.drawLine(-x+410.y+300.x+410;y+300);< br/>g.drawLine(x+410,y+300,x+410;y+300);< br/>Thread.sleep(30);< Browse br/>}
}

6. 设已知一长轴为len,及另一长轴的端点坐标x1,y1和(x2,y2)
求椭圆步骤:
1、求a,b: a=len/2 b=sqr((x1-x2)^2+(y1-y2)^2)
2、求旋转角α :求出(y1-y2)/(x1-x2)的反正切值即为α
3、求椭圆中心坐标x0,y0: x0=(x1+x2)/2 y0=(y1+y2)/2

3、计算椭圆上点的坐标x,y:
x=acosθ , y=bsinθ ( 0<=θ< 2*π)
4、计算图形绕原点旋转α 弧度后的坐标(xx,yy):
xx=x*cos(-α )+y*sin(-α )
yy=-x*sin(-α )+y*cos(-α )
5、计算椭圆中心从原点平移到x0,y0后椭圆上点的坐标xxx,yyy:
xxx=xx+x0
yyy=yy+y0
6、在坐标xxx,yyy处画一各点
7、在( 0<=θ< 2*π)范围内,按一定间隔取值,重复3-7步骤,即得所要求的椭圆

以下是vb写的简单示例,新建一各工程,把代码粘贴进去替换原来的所有代码,运行即可看效果

Option Explicit
Dim X1, Y1, X0, Y0, X2, Y2 As Double
Dim A, B, PI As Double
Dim F As Boolean

Private Sub Form_Load()
PI = 3.14159265358979
F = False
DrawWidth = 2
Width = 10000
Height = 8000
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
X1 = X
Y1 = Y
B = 1000
F = True

End Sub

Public Sub tuoYuan()
Dim Jiao As Double
Dim i, m, n, m1, n1 As Double

Cls
X0 = (X1 + X2) / 2
Y0 = (Y1 + Y2) / 2
A = Sqr((X0 - X2) ^ 2 + (Y0 - Y2) ^ 2)

If X1 <> X2 Then
Jiao = Atn((Y1 - Y2) / (X1 - X2))
Else
Jiao = PI / 2
End If

Form1.PSet (X1, Y1), RGB(255, 0, 0)
Form1.PSet (X0, Y0), RGB(255, 0, 0)
Form1.PSet (X2, Y2), RGB(255, 0, 0)

For i = 0 To PI * 2 Step 0.01
m = A * Cos(i)
n = B * Sin(i)
'Form1.PSet (m + X0, n + Y0), RGB(255, 0, 0)

m1 = m * Cos(-Jiao) + n * Sin(-Jiao)
n1 = -m * Sin(-Jiao) + n * Cos(-Jiao)

Form1.PSet (m1 + X0, n1 + Y0), RGB(0, 255, 0)

Next i

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If F = True Then
X2 = X
Y2 = Y
Call tuoYuan
End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
F = False
X2 = X
Y2 = Y
Call tuoYuan
End Sub
7. Unknown_Error
8.

Elliptic curve cryptosystem comes from the study of elliptic curve. The so-called elliptic curve refers to the plane curve determined by Weierstrass equation:
Y2 + a1xy + a3y = X3 + a2x2 + a4x + A6 (1)
. The coefficient AI (I = 1,2,..., 6) is defined in a certain field, which can be a rational number field, a real number field, a complex number field, or a finite field GF (PR). The elliptic curve used in elliptic curve cryptosystem is defined in a finite field
all the points on the elliptic curve plus a special point called infinity constitute an Abelian group together with a defined addition operation. In the equation
MP = P + P +... + P = q (2)
it is easier to find point Q when m and P are known, but it is rather difficult to find point m when Q and P are known. This problem is called the discrete logarithm problem of point groups on elliptic curves. Elliptic curve cryptosystem is designed based on this difficult problem. The application of elliptic curve to cryptography was first proposed by Neal Koblitz and Victor Miller in 1985
elliptic curve cryptosystem is one of the most powerful public key cryptosystems in the world. The best algorithm for solving the discrete logarithm problem on elliptic curve is Pollard Rho method, which has a time complexity of, and is of completely exponential order. Where n is the number of bits of binary representation of m in equation (2). When n = 234, about 2117, it takes 1.6x1023 MIPS years. RSA, as we all know, uses the difficult problem of large integer decomposition. At present, the time complexity of the best algorithm for factorization is sub exponential order. When n = 2048, it takes 2x1020mips years. That is to say, when RSA's key uses 2048 bits, ECC's key uses 234 bits, and the security strength is much higher. The difference of key length between them is 9 times. When ECC's key is bigger, the difference between them will be bigger. Moreover, the advantage of ECC key is very obvious. With the increase of encryption strength, the key length does not change much
many cryptography research groups and some companies in Germany, Japan, France, the United States, Canada and other countries have implemented elliptic curve cryptosystem, and some cryptographers in China have done this work. Many standardization organizations have made or are making standards on elliptic curve, and many manufacturers have developed or are developing procts based on elliptic curve. The research on elliptic curve cryptography is also in the ascendant, which can be seen from the special ECC column in Asia cryptoྞ
IEEE, ANSI, ISO, IETF and ATM have done a lot of work on the standardization of elliptic curve cryptosystem. The documents of elliptic curve standard developed by them are: IEEE p1363 p1363a, ANSI x9.62 x9.63, ISO / IEC 14888, etc
the new WAPI (WLAN authentication and privacy infrastructure) security mechanism is included in the national standard for WLAN (gb15629.11) issued by China on May 12, 2003, which can provide comprehensive security protection for users' WLAN system. This security mechanism is composed of Wai and WPI, which can identify the user's identity and encrypt the transmitted data respectively. Wai uses public key cryptosystem, and uses certificate to authenticate users and AP in WLAN system. The certificate contains the public key and signature of the certificate issuer (ASU) and the public key and signature of the certificate holder. The signature here uses elliptic curve ECC algorithm
certicom is the most famous ECC cryptography company in the world, which has authorized more than 300 enterprises to use ECC cryptography technology, including Cisco Systems Co., Ltd., Motorola, palm and other enterprises. Microsoft embeds certicom's VPN into Microsoft Windows Mobile 2003 system
the following information is extracted from: http://www.hids.com.cn/data.asp

9.

Give the starting point and ending point:

? Include & lt; stdio.h>

#include < stdlib.h>

#include < math.h>

#include < graphics.h>

void swap_ start_ end(int & x1,int & y1,int & x2,int & y2);

void s_ line(int x1,int y1,int x2,int y2);

main()

void swap_ start_ end(int & x1,int & y1,int & x2,int & y2)

{

int mid;

mid=x1;

x1=y1;

y1=mid;

mid=x2;

x2=y2;

y2=mid;

if(x2-x1>= 0)

tx=1;

cury+=ty;

putpixel(i,j,2);

outtextxy(320,245," 0"); /* Origin coordinates * /

outtextxy (320-5 * 20245, & quot- 5"); circle(320-5*20,240,2); /* Abscissa value * /

outtextxy (3205 * 20245, & quot; 5"); circle(320 5*20,240,2);

outtextxy(320-10*20,245,"- 10"); circle(320-10*20,240,2);

outtextxy(320 10*20,245," 10"); circle(320 10*20,240,2);

outtextxy(320-15*20,245,"- 15"); circle(320-15*20,240,2);

outtextxy(320 15*20,245," 15"); circle(320 15*20,240,2);

outtextxy(320,240-5*20,"- 5"); circle(320,240-5*20,2); /* Ordinate value * /

outtextxy (320240 5 * 20, & quot; 5"); circle(320,240 5*20,2);

outtextxy(320,240-10*20,"- 10"); circle(320,240-10*20,2);

outtextxy(320,240 10*20," 10"); circle(320,240 10*20,2);

outtextxy(20,10," The center of the circle is (0,0) "); /* A prompt message * /

SetColor (red) is displayed in the upper left corner of the coordinate axis/* Mark the coordinate axis * /

line (20240620240); outtextxy(320 15*20,230," X");

line(320,20,320,460); outtextxy(330,20," Y");

extended data:

C + + programs are compiled because they want to embody high performance. But its development environment, in order to facilitate testing, makes the debugging environment interpretive. That is to say, in the process of development, the program is debugged in the way of explanation statement by statement execution, and the final execution code is generated in the way of compiling and running out of the development environment

generating program refers to the process of converting the source code (c + + statements) into a running application. If the program is written correctly, then usually just press a function key to complete the process. The process is actually divided into two steps

the first step is to compile the program, which requires a compiler. The compiler converts C + + statements into machine code (also known as object code); If this step is successful, the next step is to link the program, which requires a linker. The linker merges the compiled machine code with the code in the C + + library

10.

Compared with the classical RSA, DSA and other public key cryptosystems, elliptic cryptosystem has the following advantages: ECC algorithm is faster than RSA and DSA in the speed of private key encryption and decryption
the storage space is small
low bandwidth requirement.

Hot content
Inn digger Publish: 2021-05-29 20:04:36 Views: 341
Purchase of virtual currency in trust contract dispute Publish: 2021-05-29 20:04:33 Views: 942
Blockchain trust machine Publish: 2021-05-29 20:04:26 Views: 720
Brief introduction of ant mine Publish: 2021-05-29 20:04:25 Views: 848
Will digital currency open in November Publish: 2021-05-29 19:56:16 Views: 861
Global digital currency asset exchange Publish: 2021-05-29 19:54:29 Views: 603
Mining chip machine S11 Publish: 2021-05-29 19:54:26 Views: 945
Ethereum algorithm Sha3 Publish: 2021-05-29 19:52:40 Views: 643
Talking about blockchain is not reliable Publish: 2021-05-29 19:52:26 Views: 754
Mining machine node query Publish: 2021-05-29 19:36:37 Views: 750