Cipher block chaining (CBC) is a method for encrypting large amounts of data with a block cipher that can only encrypt fixed length plaintexts. When used with an unpredictable initialization vector (IV), it is secure against chosen plaintext attacks (CPA-secure).

learn more… | top users | synonyms

4
votes
2answers
40 views

Is reusing keys for CBC and CBC-MAC secure when using encrypt-then-mac?

I know reusing keys is a bad idea, especially for CBC and CBC-MAC, but the example for why on Wikipedia seemed to use encrypt-and-mac. It seems obvious that the last block of encryption will be equal ...
0
votes
1answer
39 views

AES128 Decryption in Objective-C just slightly off

I have been asked to integrate a home-grown CRM system with a 3rd-party data service provider (DSP). The DSP has encrypted the information they are providing. I only have their decryption ...
9
votes
1answer
15k views

AES CBC mode or AES CTR mode recommended?

What are the benefits and disadvantages of CBC vs. CTR mode? Which one is more secure?
0
votes
2answers
72 views

Why IV does not have to be secret yet has to be random [duplicate]

The IV used in schemes such as CBC has to be random and unpredictable. But at the same time it does not have to be kept secret. If the IV does not have to be secret, why does it have to be random ...
4
votes
1answer
72 views

Should I be concerned about padding oracle attacks if the lifespan of my key is ~1 minute?

I'm using 4096-bit RSA to encrypt a 256-bit AES key generated client-side. The RSA ciphertext is then sent to the server, and the server decrypts the RSA ciphertext to acquire the AES key. ...
1
vote
2answers
103 views

AES key equal to IV (CBC mode)

Application uses AES in CBC mode with 128 bit key. In this implementation key is always same and is equal to IV. Can attacker get the key or decrypt data? If he knows: First and second blocks of ...
4
votes
2answers
90 views

Is it safe to use cipher block sizing instead of padding?

I'm using this kind of technique instead of padding of cipher buffer (here goes pseudo-code): ...
38
votes
7answers
43k views

Should I use ECB or CBC encryption mode for my block cipher?

Can someone tell me which mode out of ECB and CBC is better, and how to decide which mode to use? Are there any other modes which are better? Edit: This question was asked long back when I was ...
3
votes
1answer
115 views

Guessing the IV for CBC

If I have the key, the ciphertext under AES-CBC and the plaintext, then how can I guess the initialisation vector?
4
votes
3answers
747 views

Is there any area where AES-CBC cannot be used ? If so, why?

I would like to know the domains or specific applications where using AES-CBC is not advised due to any drawbacks like sequential encryption of AES-CBC ?
4
votes
1answer
119 views

Is it bad design to reuse an AES key?

The company I work for needs to develop a simple system where, for each client, we encrypt a token on our server, which is then transmitted to the client. The decryption is performed by the server ...
0
votes
1answer
97 views

Implementing AES-CBC (Matasano Crypto Challenge 10)

I am currently doing the Matasano Crypto Challenge to learn a bit about cryptography. In that specific challenge one had to implement AES in CBC mode. I did that and verified that encryption and ...
1
vote
0answers
103 views

bank websites using AES_256_CBC vs AES_128_GCM/CBC [duplicate]

Hello i have just recently started learning about cryptography, so i was doing some little research on what kind of encryption techniques and modes that were used in bank web pages. I have noticed ...
4
votes
1answer
131 views

What are the steps to decrypt a TLS 1.1 record?

My question is related to another question in Cryptography about TLS 1.1 and 1.2. I have read both RFC 2246 The TLS Protocol Version 1.0 and RFC 4346 The TLS Protocol Version 1.1. What I know is that ...
3
votes
1answer
50 views

How does padding oracle attack work with bytes larger than possible length?

I am trying to understand how the POODLE attack would actually be implemented. In the original security advisory from Möller, Duong and Kotowicz [POODLE 14] the following example is presented: ...
1
vote
3answers
61 views

Is it safe to use AES-CBC like this?

Is it safe to generate the IV for AES-CBC as the following? It's like the real IV is all zeros. The first block of data will be a low-entropy but unique data. Once the first block is encrypted, the ...
2
votes
1answer
94 views

Is it an overkill to add external integrity check to the AES-GCM encoding?

There is a java library for android which implements integrity checking to predefined encrypting mode(which can be found here). Short class description from author page to avoid further questions ...
-1
votes
1answer
64 views

what problem happen if we always use IV Zero in CBC Mode? [duplicate]

i have a question about CBC operating mode. what problem happen if we always use IV Zero in CBC Mode?
0
votes
1answer
60 views

If PRF is non invertible, why does Ctr-mode work?

I am currently taking Dan Boneh's Cryptography I course online. I have just finished the segment discussing the Cipher Block Chaining and Counter-Mode. I am having difficulty understanding why ...
2
votes
1answer
37 views

Alter plaintext in block cipher AES in CBC mode

How can I alter the plaintext before decryption by changing the IV? I know what the value of the plaintext should be. I also know the value of the IV (initial vector). The IV and the AES block are ...
2
votes
1answer
84 views

Single bit error in CBC

Why does a single bit error when using the CBC block cipher mode of operation affect the decryption of a block (Oj) with a probabilty of 50%? And in the following block, why is the one bit error in ...
3
votes
1answer
56 views

Implementing 5 modes of operation with a hash function

Is it possible to implement any of the 5 modes of operation (ECB, CBC, OFB, CFB, CTR) with a hash function?
1
vote
1answer
333 views

Precisely how does CBC mode use the initialization vector? [duplicate]

As I understand it, AES in CBC mode does an XOR of the 128-bit initialization vector and the first 128 bits of plain text. Is this correct? I am using the PHP 5.3 openssl extension in aes-256-cbc ...
2
votes
2answers
568 views

Usage of different size chunks during AES encryption/decryption

I want to encrypt user's files on our server. For this purpose I decided to use the PHP Mcrypt library. I chose to use the Rijandel-128 algorithm and CBC mode for encryption. Since files are quite ...
1
vote
2answers
247 views

Triple-DES DUKPT CBC PIN variant vs Data variant

Does any know the difference between triple des dukpt decryption algorithm with PIN variant and Data variant? I have done Triple DES DUKPT PIN variant, which generate session key from KSN and BDK. ...
1
vote
1answer
28 views

Encrypted Data length in a CBC Block Cipher

The RFC5246 states the following: The encrypted data length (TLSCiphertext.length) is one more than the sum of SecurityParameters.block_length, TLSCompressed.length, ...
4
votes
1answer
211 views

POODLE attack on TLS 1.2

The POODLE attack uses the way block ciphers in CBC mode are decrypted in combination with the packet's padding to determine some byte's value. From what I understand, even TLS 1.1 can be vulnerable ...
3
votes
1answer
119 views

Secure method of encrypting data within a database

I'm designing a program which makes queries to a database stored locally which could potentially contain a lot of sensitive information. As such the information must be kept secure as possible from ...
1
vote
1answer
88 views

Padding size with a CBC Block cipher in TLS

I'm currently looking at an encrypted Client Finished message in Wireshark from a TLS session. The cipher suite that was agreed on in previous messages was ...
4
votes
1answer
83 views

AES storing the length within the encrypted data versus storing it outside

I need to strip off padding after decrypting AES(CBC)-encrypted data (I have control over encryption and data transmission), so have looked at adding the length of the original data to the payload ...
4
votes
2answers
224 views

Implementing CBC Encryption Using Decryption

I've implemented this algorithm, which, working from the end of the message backwards, creates a valid CBC ciphertext from any plaintext, using the block cipher's decryption operation instead of the ...
17
votes
2answers
3k views

Why should I use an Initialization Vector (IV) when I have unique keys?

I took a look at “Why, or when, to use an Initialization Vector?” but my question is not the same. I have unique keys encrypting each plaintext (in CBC mode, AES-256) and I do not use a key to ...
5
votes
1answer
1k views

Reusing keys with AES-CBC

I heard that key/IV pairs must not be reused in AES-CTR, or when using any stream cipher for that matter. Yet the attacks described do not seem to apply to AES-CBC. Is reusing the same key several ...
3
votes
1answer
576 views

Why does “2xAES-256” provide “99.99%” security strength whereas “1xAES-128” provides “40%”? [closed]

I recently was "directed" to FlipsCloud, a company selling security solutions (as far as I can tell). In particular I've investigated their page and found a page on their "encryption features". This ...
-1
votes
1answer
81 views

Problems implementing AES in CBC+CTS mode

I'm trying to implement an AES cipher in CBC+CTS mode, but I'm unable to get the second last plaintext block to decrypt properly. I've attached my code, it's based on the steps listed under CBC ...
1
vote
1answer
86 views

AES-CBC pre-determined IV vs. null IV

Is there any security advantage to using a pre-determined IV in CBC mode over a null IV? I'm implementing a license key system similar to this article on CodeProject, but I'm confused by the authors ...
2
votes
2answers
711 views

AES + CBC encryption for a stream of UDP packets

I am developing an application that is based on UDP, and I need to send a stream of packets. As you can imagine, packets can get lost or corrupted. I need to make sure that the content of those ...
1
vote
1answer
79 views

Modes of Operations Exercise

I am currently stuck at an exercise for my Cryptography Class in University which is: Alice wants to send a message $M = (M_1,M_2) =$ "Pay Bob \$100 from bank accout $12345$" to her bank (encrypted). ...
1
vote
2answers
186 views

Is CBC theoretically harder to brute force when compared with ECB?

Theoretically – is CBC mode harder to bruteforce when compared with ECB when assuming: we ignore computational cost for the XOR operations, and the IV is made public?
7
votes
2answers
1k views

Strength of CBC with Ciphertext Stealing

Is CBC with Ciphertext Stealing (CTS) considerably weaker than CBC with padding such as PKCS7? I would imagine the most common situation where CTS is necessary would be due to some size constraint of ...
1
vote
1answer
114 views

poodle padding multiple blocks?

I'm quite new to the topic and read a bit about poodle and padding oracle. I quite understand the "regular" padding oracle attack, substituting the last byte of block(n-1) to determine the last byte ...
-1
votes
4answers
136 views

One time pad in CBC mode?

I have been searching about if it is more secure to use CBC mode in OTP but I can't find anywhere where people have sad that it is more secure. Question: Is CBC mode in OTP more secure? Because I ...
1
vote
1answer
156 views

Can AES in CBC mode be parallelized?

Is there any way to parallelize AES running in CBC mode? (The plan is to parallelize it using OpenMP)
2
votes
1answer
110 views

Attacking CBC with predictable but encrypted IV

Let P be a secure block cipher, eg AES-128. Let's say a server has a CBC encryption oracle which uses an attacker-selected yet unique nonce to generate the IV for each message = P(key, nonce). The ...
3
votes
3answers
2k views

How to break AES/CBC/PKCS5 when key and IV are reused?

I'm doing a code review for a crypto solution that reuses the same key with a constant IV. I want to demonstrate that this is not the right way to do things by figuring out the key and decrypting all ...
2
votes
1answer
97 views

Plaintext block chaining, bad idea why?

Ahead of the question, little warning. Question is not about what are the better options. Question is why it is bad idea? Ok, suppose we have plaintext $p$, which divided into blocks: ...
5
votes
1answer
1k views

What are the constraints for an IV using AES in CBC mode?

I'm designing a protocol for use into a VPN software. The VPN frames are encapsulated into AES-256 CBC encrypted frames. I understand that IVs must be uniquely used for each message encrypted with ...
1
vote
1answer
60 views

Are there equivalent IVs in DES/CBC?

I'm playing around with the CryptoPP library with DES/CBC and I've noticed that for some sets of data, if I decrypt the ciphertext with Key1, IV1, I get a good cleartext result -- but if I decrypt the ...
0
votes
1answer
48 views

if using cbc+hmac dealing with small size of data(less than 128bit) , will it cause any problem?

if use AES-cbc,HMAC-SHA256, and there is some txt needed to be enc, and I divide this txt into small packages with variable length, then enc them. some of these package can be less than 128bit. Is ...
2
votes
3answers
454 views

Is the 1st Encrypted Block Less Secure Than Subsequent Ones?

It's my understanding that Electronic Code Book (ECB) produces similar cypher text for similar plaintext inputs which is not a good thing. To get around that, Cypher Block Chaining (CBC) can be used ...