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

0
votes
1answer
35 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 ...
0
votes
1answer
121 views

Why is there an extra block when encrypting?

I am passing input data 20 bytes long and java AES-CBC returns 48 bytes instead of 32 which is what I think it should output because of padding. My key is 16 bytes long. ...
3
votes
0answers
219 views

Increasing the diffusion of the AES-CBC encryption algorithm in pycrypto for python

When encryption is done using the AES-CBC algorithm, the encryption can be thought of as chaining the cipher texts with the previous ones and an IV. However, if its on CBC mode, we give our cipher ...
2
votes
0answers
72 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 ...
2
votes
0answers
68 views

Cracking an appliance's network protocol

I'm trying to crack my thermostat's network protocol. I've captured several rounds of network traffic and here is what I've got to work with. Communicating via HTTP POST The POST data is JSON ...
0
votes
0answers
52 views

NRPAD and FPAD padding schemes (Korean Seed?)

I've got an API spec that specifies NRPAD and FPAD as possible padding schemes. I see these being used together with the Korean SEED algorithm. The SEED specification however is void of any padding ...