Comments (5)
This is sorta intentional: a CBC padding attack occurs at the end of the ctext and you don't always control the IV. Your explanation hints at this somewhat, e.g.:
(Of course for the second block in the ciphertext, the first block should be used as ‘IV’.)
On page 70, the full expression is: D(Ci)[b] = 01 \xor r[b] as stated. In context (see p65 for a drawing) f you take R||Ci as the constructed ctext, you'll see that the IV is supplied (might be part of the ctext, might be fixed, whatever) -- but doesn't impact the target block. Does the expression make sense with the drawing?
from book.
GitHub seriously needs LaTeX support. 🙄
from book.
Oh.
This is sorta intentional.
Thanks for the explanation; I think I get your point. What I’d like to do now is, with your explanation as starting point, restate my original observation and see if the text could still be improved.
Does the expression make sense with the drawing?
So, the formula I complained about seems to me now, in a narrow sense, correct. When I complained that “[it] only [achieves us] the immediate output of D, not the plaintext”, well, the formula does certainly not promise otherwise. After all, it says D(Ci)[b]
, not Pi[b]
. Is this what you meant?
Still I think it would be great if the text would explain... how to get from D(Ci)[b]
to Pi[b]
(and to point out the difference in the first place!). This seems in order if the target of the attack is the plaintext. While it’s true this step can be deduced by comparing the image in §7.9 with the original images for CBC decryption in §7.4, I can’t think of a reason not to help the reader here.
This explanation on how to get Pi[b]
is useful even if the IV is not available, since it can be applied to every block except the first one. I think it could be added with no loss of generality? The text would just need to mention the difference between block 0, and the rest, with respect to the availability of the IV.
Does this at least make sense? “Help the reader” would be my main point.
from book.
Thanks for the explanation; I think I get your point. What I’d like to do now is, with your explanation as starting point, restate my original observation and see if the text could still be improved.
Yeah definitely: I didn't mean to sound dismissive of your issue, I do want to fix the text :)
I also agree the distinction between D(Ci) and Pi needs to be highlighted and particularly how you get from one to the other. How do you feel about writing prose?
from book.
I didn't mean to sound dismissive of your issue.
All is good. :)
How do you feel about writing prose?
Heh, I can look into if if you’d like. Should have time for it some time before the end of the month.
from book.
Related Issues (20)
- Confusing explanation of permutation HOT 1
- Citations not referenced warnings HOT 3
- undefined Citations HOT 1
- undefined Hyper references HOT 1
- Modular Arithmetic - Missing extended Euclidean Algorithm HOT 3
- Page 42 Figure 7.1
- Chapter 14 in depth look MersenneTwister confusing wording HOT 3
- Several figures seem to be wrong HOT 1
- build WARNINGs
- Chapter 6.1 (Block Ciphers | Description) is confusing HOT 3
- 自动驾驶更新笔记 Autopilot Updating Notes HOT 1
- Advanced admonition is broken in pdf. HOT 2
- Unwanted figure replacement in the PDF release HOT 2
- French translation is not in the released pdf
- Fix up CI auto-release
- Images and mathematical typography fills up screen on Kindle Paperwhite
- Build and pull translation from transifex HOT 1
- many thanks for your book HOT 1
- better wording for description? HOT 2
- Chapter 6 (Block Ciphers): Figures mixed up HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from book.