Italian Translation Report: Node.js [Part 42 - 3075TW/1137CW]
Welcome to my 42nd translation report for the Node.js project!
Today I continued long crypto.md translation, facing a rather demanding situation!
Keep reading to check out more about this new translation report!
Given its importance, its translation into many languages is almost due.
I'll use my skills to make an high quality translation and maybe to learn something more about Node.js world.
This is my 42nd translation for the Node.js project.
Today I continued the crypto.md translation and as I said in the previous report I decided to increase the quantity level to bring it at the same level of quality.
I spent several hours there and I faced many new words that I studied in depth and, at the same time, I had to handle many words and strings similar to each other that were repeated several times.
It was a demanding job and proof of this the great final result: 3075 total words and 1137 clean words.
In this 42nd part I have translated several classes with different characteristics, specifically I did the Decipher Class, the DiffieHellman Class, the ECDH Class, the Hash Class, the HMAC Class and the Sign Class.
Words left in English
This is a list of words I considered to left in English in order to give a more understandable translation.
My choice is based both on the project owners guidelines and on the web research carried out by myself.
Difficult words/sentences to translate in Italian
In this report I have not met words or sentences which put me in serious difficulty or which I have not been able to translate properly.
What did I learn new?
- Diffie-Hellman Key Exchange - What is the Diffie-Hellman Key Exchange and what is its function as class in crypto.md: it is a method of securely exchanging cryptographic keys over a public channel and was one of the first public-key protocols as originally conceptualized by Ralph Merkle and named after Whitfield Diffie and Martin Hellman. DH is one of the earliest practical examples of public key exchange implemented within the field of cryptography.
Traditionally, secure encrypted communication between two parties required that they first exchange keys by some secure physical channel, such as paper key lists transported by a trusted courier. The Diffie–Hellman key exchange method allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher.
- Elliptic-Curve Diffie-Hellman Key Exchange - What is the ECDH Key Exchange and how it works as a class in crypto.md: it is an anonymous key agreement protocol that allows two parties, each having an elliptic-curve public–private key pair, to establish a shared secret over an insecure channel. This shared secret may be directly used as a key, or to derive another key. The key, or the derived key, can then be used to encrypt subsequent communications using a symmetric-key cipher. It is a variant of the Diffie–Hellman protocol using elliptic-curve cryptography.
- Elliptic-Curve Cryptography - What is the Elliptic-Curve Cryptography and how it works in crypto.md with ECDH Class: it is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC requires smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide equivalent security.
Elliptic curves are applicable for key agreement, digital signatures, pseudo-random generators and other tasks. Indirectly, they can be used for encryption by combining the key agreement with a symmetric encryption scheme. They are also used in several integer factorization algorithms based on elliptic curves that have applications in cryptography, such as Lenstra elliptic-curve factorization.
- Cryptographic Hash Function - What is a Cryptographic Hash Function and how it works as a class with hash digest in crypto.md: it is a special class of hash function that has certain properties which make it suitable for use in cryptography. It is a mathematical algorithm that maps data of arbitrary size to a bit string of a fixed size (a hash) and is designed to be a one-way function, that is, a function which is infeasible to invert. The only way to recreate the input data from an ideal cryptographic hash function's output is to attempt a brute-force search of possible inputs to see if they produce a match, or use a rainbow table of matched hashes. Bruce Schneier has called one-way hash functions "the workhorses of modern cryptography".
The input data is often called the message, and the output (the hash value or hash) is often called the message digest or simply the digest.
- HMAC - What is the HMAC Class and how it works in crypto.md: it is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secret cryptographic key. It may be used to simultaneously verify both the data integrity and the authentication of a message, as with any MAC. Any cryptographic hash function, such as SHA256 or SHA-3, may be used in the calculation of an HMAC; the resulting MAC algorithm is termed HMAC-X, where X is the hash function used (e.g. HMAC-SHA256 or HMAC-SHA3). The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, the size of its hash output, and the size and quality of the key.
- Salt - What is the Salt and how it works in crypto.md: it is random data that is used as an additional input to a one-way function that "hashes" data, a password or passphrase. Salts are closely related to the concept of nonce. The primary function of salts is to defend against dictionary attacks or against its hashed equivalent, a pre-computed rainbow table attack.
Salts are used to safeguard passwords in storage. Historically a password was stored in plaintext on a system, but over time additional safeguards developed to protect a user's password against being read from the system. A salt is one of those methods.
A new salt is randomly generated for each password. In a typical setting, the salt and the password (or its version after Key stretching) are concatenated and processed with a cryptographic hash function, and the resulting output (but not the original password) is stored with the salt in a database. Hashing allows for later authentication without keeping and therefore risking the plaintext password in the event that the authentication data store is compromised.
Suggestions/Revisions for Project Owners (Pull Requests etc.)
None in this report.
- Source Language: English
- Target Language: Italian
- Experience: You can check my experiences into my translator application
- Total Words: 3075
- Clean Words: 1137
Proof of Authorship
Feedback & Conclusion
I keep improving and learning new things every day, I hope I can do better and better.
What do you think about it? Did you know what I learned today?
Let me know, leave a comment below!
Thank you very much for your time and see you in the next post!