Implementing Crytography Flashcards
A software developer is selecting a key agreement for an organization’s authentication. Which agreement type should the developer use?
The developer should use Elliptic-Curve Diffie-Hellman (ECDH). The operation of ECDH is similar to standard Diffie-Helman (DH) but utilizes math based on elliptic curves instead of discrete logs (as is the case for DH).
Why would a developer not use DH, RSA, or DSA for authentication?
Diffie-Hellman (DH) by itself does not provide any authentication mechanism and cannot adequately identify if the other party is really who they claim to be without utilizing an authentication mechanism in parallel.
Rivest, Shamir, and Adleman (RSA) is for signing. RSA is a widely used asymmetric algorithm based on factoring large prime numbers.
Digital Signature Algorithm (DSA) is also for signing and operates similarly to RSA but based on logarithmic and modulus math.
A college developer is working on a research project and wants to start developing for bitcoin programming. Which hashing algorithm does bitcoin use?
Secure Hash Algorithm-256 (SHA-256) is used within the bitcoin network for proof-of-work (mining) and also in the creation of bitcoin addresses.
A software developer is setting up a symmetric encryption block cipher that uses an initial chaining vector for the first round of encryption. Which of the following will the software developer use?
Output Feedback (OFB) uses an initial chaining vector (ICV) for the first round of encryption and combines the output of all previous rounds as input for all subsequent rounds.
What is CBC susceptible to?
Cipher Block Chaining (CBC) is a very simple mode of operation. It should not be used and is susceptible to the padding-oracle attack.
A network technician is setting up Extensible Authentication Protocol (EAP) but wants to ensure using the most common and widely supported type. Which type should the network technician choose?
EAP Transport Layer Security (EAP-TLS) is one of the strongest types of authentication and is very widely supported.
A software developer is troubleshooting cipher issues and sees the output “ECDHE-RSA-AES128-GCM-SHA256.” Which portion is the part regarding HMAC?
256-bit secure hash algorithm (SHA) is the specification for HMAC functions. A hash-based message authentication code (HMAC) is a mechanism where the system can verify both the source and the content of a message without using any other means.
An auditor for a federal agency is reviewing encryption. Which standard is the auditor most likely using?
Advanced Encryption Standard (AES) is the current U.S. federal government standard for symmetric encryption that is widely supported and efficient.
A developer is looking for a solution that will provide confidentiality and check its integrity and authenticity for encrypted plaintext. Which solution should the developer use?
Authenticated Encryption with Associated Data (AEAD) is a form of encryption that, in addition to providing confidentiality for the encrypted plaintext, provides a way to check its integrity and authenticity.
A security professional is discussing the weaknesses of RC4. An RC4 is an example of what?
RC4 is an example of a stream cipher, which encrypts each digit of data in the plaintext, one at a time, using a stream of pseudorandom values. However, RC4 was originally developed in 1984 and contains multiple vulnerabilities.
A developer needs an authentication coding mechanism that supports older iPhone/iPad and Android devices. Which of the following would work best for the developer?
Poly1305 is a message authentication code (MAC) focused on speed and efficiency. It operates very well on devices that do not include advanced encryption standard (AES) hardware acceleration, such as older iPhone/iPad and Android devices.
A system administrator wants to send an email with an attachment through encrypted means. Which of should the sysadmin use?
To use Secure/Multipurpose Internet Mail Extensions (S/MIME), the user gets issued a digital certificate containing the public key, signed by a CA. The user keeps the public key and private key secret.
Describe MD5.
Message Digest Algorithm (MD5) produces a 128-bit output. Hashing is sometimes used as a method to represent passwords. Passwords should be protected with more complicated methods than simple direct hashing, and this is especially true for MD5 because it’s short outputs can be easily brute-forced. Additionally, MD5 has a high chance of collision.
Describe SHA.
Secure Hash Algorithm (SHA) has a few variants: the original SHA-1 generates 160-bit output, SHA256 (which is widely used) generates 256-bit output. Both SHA-1 and SHA-256 use internal mathematical techniques similar to MD5. SHA-256 is used within the bitcoin network for proof-of-work (mining) and also in the creation of bitcoin addresses.
What is SHA-3’s original name?
Keccack