Thanks - we have concensus: Re: DES key parity bits. What is the correct story?



Thank You.

1. I think we pretty well have consensus on the core matters.

2. Even a "doubt" I had about exactly where the parity bits were
has been made clear.

3. I know exactly where there are now:
a. I have checked the simple implementation that I got from,
"mastering algorithms with c". It does indeed select the
correct 56 bits according to that DES key bit selection table

static const int DesTransform[56] = {
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18,
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36,
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22,
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
};
and it clearly identifies the parity bits by not using them
in this 56 bit set (see: 8, 16, 24 .. are not used).
Although the implementation has the start 64 bits in an array
numbered as usual from 0 - 63. The selection code
carefully accounts for the difference in cell numbering
between the normal c language array and that selection
table, which refers to the same data from 1 - 64.
So the code carefully ignores cells (7, 15, 23, ..) in the
array holding the starting 64-bit key data.
So all seems in order.
b, I also trialed a "test-DES idea" that Prof Rivest posted
at some point in time. Without taking any
time to fully understand all of the principles
behind the test system.
(Possible did not include parity checks).

// des test
/* Start: 94 74 B8 E8 C7 3B CA 7D
http://people.csail.mit.edu/rivest/Destest.txt
Expected: 1B 1A 2D DB 4C 64 24 38
*/







"ping pong" <mosescuadro@xxxxxxxx> wrote in message news:4d71fc15$0$22468$afc38c87@xxxxxxxxxxxxxxxxxxxxxxx
1. Do you "have to" set the parity bits after generating a random 64 bit value for the DES key?
2. Or can the key be used leaving the parity bits 7, 15, 23, ... , 63
in that randomly selected state.
3. Or can you even set them to anything you like.

Obviously if someone in the key distribution network is going to check these parity bits
the the answer is 1.

But what I am asking is:
When analysis of the cipher is performed which of the cases 1 - 3 is normally assumed?



.



Relevant Pages

  • Re: dynamically dimension array
    ... It's an idea for a file parity scheme that I've been thinking about ... redim a ... same number of dimensions as they have elements in each dimension? ... The array will be filled from the filea bit ...
    (comp.lang.basic.visual.misc)
  • Re: IOPS from RAID units
    ... IOPS the array can deliver is the aggregate of all the drives in the raid ... group less the hot spares and parity drives. ... cross a stripe-segment boundary in which case it'll be three reads and three writes. ...
    (comp.arch.storage)
  • Re: RAID5 gets a bad rap
    ... requires that the entire block that's being written be read from every drive in the array, parity calculated, and then the data and parity written out. ... the array has to do N reads plus two writes. ... the OP's comments about database updates), ... Real-world experience with many production systems and many workloads has convinced me to use RAID 5 as rarely as possible. ...
    (Fedora)
  • Re: limits on raid
    ... When mdadm asks the kernel to create a raid array the most noticeable activity is what's called the "initial resync". ... It then marks spare disks as 'rebuilding' and starts to read from the 'good' disks, calculate the parity and determines what should be on any spare disks and then writes it. ...
    (Linux-Kernel)
  • Re: RAID5 gets a bad rap
    ... requires that the entire block that's being written be read from every drive in the array, parity calculated, and then the data and parity written out. ... the array has to do N reads plus two writes. ... the OP's comments about database updates), ... Real-world experience with many production systems and many workloads has convinced me to use RAID 5 as rarely as possible. ...
    (Fedora)