前の日 / 次の日 / 最新 / 2009-02

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

2009-02-03 Tue

preimage table を作る

ZIP Attacks with Reduced Known Plaintext

Given a stream byte si+1, we can find sixty four values for bits 2..15 of key2i.
It’s easy to see why: fourteen bits of key2i produce eight bits of si+1, so there
are six left over. We can create a table of 256 x 64 bytes such that given si+1 and
bits 10..15 of key2i, we can look up bits 2..9 of key2i. We call this the preimage
table.

ubyte decrypt_byte()
{
    uint temp =  key2 | 3;
    return (((temp * (temp ^ 1)) >> 8) & 0xFF);
}

c_i(0x00-0xFF) = p_i(0x00-0xFF) ^ s_i(0x00-0xFF)
s_i = c_i ^ p_i

preimage[s_i+1(0x00-0xFF)][crc32(key2,0)[10..15](0x00-0x3F)] = crc32(key2,0)[2..9]

どうやって作るんだろう?