The relationship between Ethereum password and private key
1. The mail cabinet is stolen (the database is stolen)
2. The key is stolen (the private key is stolen)
3. Knowing my home address (the public key is stolen), the mail cabinet lock is opened violently (the private key is cracked violently).
This question is very strange. I recommend you to see the introction of professional media
First of all, cracking RSA means ciphertext - & gt; The process of plaintext
Suppose plaintext m, ciphertext C, private key D, public key e, RSA encryption process is as follows:1, two large mutually unequal prime numbers P and Q
2, n = P * q
3, FN = (P - 1) * (Q - 1)
4, e and FN are mutually prime, and 1 & lt; e < FN
5, D satisfies de% FN = 1
6, encryption and decryption:
C = (m ^ E)% n
m = (C ^ D)% n
the above formula can be understood as encryption by public key and decryption by private key
the first case : the plaintext and public key are known to get the ciphertext encrypted by the private key. This is the encryption process, which has little to do with the private key D. the encryption process mainly depends on the value of n
suppose that there are countless kinds of plaintext m, public key e, private key D and ciphertext C
in the second case, : the private key is obtained by knowing the plaintext ciphertext and public key
given plaintext m, ciphertext C and public key e, find private key D, and insert the secondary formula: C = (m ^ E)% N, the value of n is not unique, so the value of private key D is not unique
when there are correct answers for comparison, I feel that the second situation is easier to find out
personal opinions, welcome to discuss
why don't we encapsulate these tedious and error prone things to simplify our development
so we have all kinds of development packages, all kinds of architectures, all kinds of libraries
in Java
keypairgenerator keygen = keypairgenerator. GetInstance (& quot; RSA");< br />KeyPair key = keyGen.generateKeyPair(); < br /> cipher.init(Cipher.ENCRYPT_ MODE, key.getPublic());< br /> cipher.init(Cipher.DECRYPT_ MODE, key.getPrivate());
this is a fragment of the code I wrote before. It is not continuous. In general, I get a RSA key pair and then call getpublic ()
getprivatekey () to get the public and private key.
it can be seen from the above definition that public key and private key are two different cryptosystems, not two different applications or two different keys. Therefore, public key and private key can be used in encryption and signature applications.
not a certificate developer password
this password is used as a protection password for enabling, exporting and importing
it is to steal the key by other illegal means, which is harmful to you.
digital certificates must also be unique and reliable. In order to achieve this goal, many technologies are needed. Generally, digital certificate adopts public key system, that is, a pair of matching keys are used to encrypt and decrypt. Each user sets a specific private key (private key) which is only owned by himself, and uses it to decrypt and sign; At the same time, a public key (public key) is set and disclosed by the user, which is shared by a group of users for encryption and signature verification. When sending a confidential file, the sender uses the public key of the receiver to encrypt the data, while the receiver uses its private key to decrypt the data, so that the information can arrive at the destination safely. The encryption process is an irreversible process by digital means, that is, only private key can be used to decrypt. Public key technology solves the management problem of key distribution. Users can publish their public key and keep their private key
the process of digital certificate issuing is generally as follows: users first generate their own key pair, and then transfer the public key and some personal identity information to the certification authority. After verifying the identity, the authentication center will perform some necessary steps to make sure that the request is actually sent by the user. Then, the authentication center will issue the user a digital certificate, which contains the user's personal information and his public key information, and also contains the signature information of the authentication center. Users can use their own digital certificate for various activities. The digital certificate is issued by an independent certificate authority. Digital certificates are different, and each certificate can provide different levels of credibility. You can obtain your own digital certificate from the certification authority
the current digital certificate types mainly include: personal digital certificate, company digital certificate, company employee digital certificate, server certificate, VPN certificate, WAP certificate, code signature certificate and form signature certificate
with the popularity of the Internet and the rapid development of various e-commerce and e-government activities, digital certificates have been widely used in various fields, mainly including sending secure e-mail, visiting secure sites, online bidding, online signing, online ordering, secure online document transmission, online payment, online tax payment, online stock speculation, etc Online shopping and online customs declaration
digital signature technology is a typical application of asymmetric encryption algorithm. The application process of digital signature is that the sender of data source uses its own private key to encrypt the data checksums or other variables related to the data content to complete the legal "signature" of the data. The receiver of data uses the public key of the other party to interpret the received "digital signature", and uses the interpretation results to test the integrity of the data, To confirm the validity of the signature. Digital signature technology is an important technology to confirm the identity in the virtual environment of network system. It can completely replace the "autograph" in the real process, which is guaranteed technically and legally. In the aspect of public key and private key management, the application of digital signature is just opposite to PGP technology. In digital signature applications, the sender's public key can be easily obtained, but his private key needs to be strictly confidential
digital signature includes ordinary digital signature and special digital signature. Common digital signature algorithms include RSA, elgmal, Fiat Shamir, Guillou quisquater, Schnorr, ong Schnorr Shamir digital signature algorithm, DES / DSA, elliptic curve digital signature algorithm and finite automata Digital signature algorithm. Special digital signature includes blind signature, proxy signature, group signature, undeniable signature, fair blind signature, threshold signature, signature with message recovery function and so on.
The principle of elliptic curve cryptosystem: let e be an elliptic curve defined over a finite field F
The set of rational points of elliptic curve E in every is e (F,), which is a finite group. Select a point "from e (F,), which is called base point or generator point,
let the order of" be n (usually n is a large prime number). that is. G = 0,
where 0 is infinity. Each user selects an integer e

the public key does not require a password, which has been set by default. Generally, there are some websites or shared resources with low security requirements, such as LAN
certificate is a kind of website encryption browsing mode, which can only be accessed if it is allowed. Generally, it is a website with high security, such as online banking; It can stop hackers from stealing customer information.
