digital signatures, font files, and recursion illustrated examples

29
Digital Signatures, Font Files, and Recursion Illustrated Examples

Post on 21-Dec-2015

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Digital Signatures, Font Files, and Recursion Illustrated Examples

Digital Signatures, Font Files, and Recursion

Illustrated Examples

Page 2: Digital Signatures, Font Files, and Recursion Illustrated Examples

Original signed file

0 1 2 3 4 5 6 7

red nodes indicate hash values in the signed file

Page 3: Digital Signatures, Font Files, and Recursion Illustrated Examples

Subsetted signed file

0 1 2 3 4 5 6 7

subsetted file contains glyphs 0, 1, and 2

Page 4: Digital Signatures, Font Files, and Recursion Illustrated Examples

Further subsetted file

0 1 2 3 4 5 6 7

further subsetted file contains just glyph 1

Page 5: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration of subsetting glyphs 0, 1, and 2

0 1 2 3 4 5 6 7

black highlightednodes indicate thecurrent recursive call

return h(0, 0).do not emit.

red: smallest glyph in file not processed yetblue: smallest glyph in output file not processed yet

Page 6: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 2)

0 1 2 3 4 5 6 7

return h(1, 1).do not emit.

Page 7: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 3)

0 1 2 3 4 5 6 7

return h(0, 1).do not emit.

Page 8: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 4)

0 1 2 3 4 5 6 7

return h(2, 2).do not emit.

Page 9: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 5)

0 1 2 3 4 5 6 7

return h(3, 3).emit h(3, 3).

Page 10: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 6)

0 1 2 3 4 5 6 7

return h(2, 3).do not emit.

Page 11: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 7)

0 1 2 3 4 5 6 7

return h(0, 3).do not emit.

Page 12: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 8)

0 1 2 3 4 5 6 7

return h(4, 4).do not emit.

Page 13: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 9)

0 1 2 3 4 5 6 7

return h(5, 5).do not emit.

Page 14: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 10)

0 1 2 3 4 5 6 7

return h(4, 5).do not emit.

Page 15: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 11)

0 1 2 3 4 5 6 7

return h(6, 6).do not emit.

Page 16: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 12)

0 1 2 3 4 5 6 7

return h(7, 7).do not emit.

Page 17: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 13)

0 1 2 3 4 5 6 7

return h(6, 7).do not emit.

Page 18: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 14)

0 1 2 3 4 5 6 7

return h(4, 7).emit h(4, 7).

Page 19: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 15)

0 1 2 3 4 5 6 7

copy h(0, 7) from original file to output file.

Page 20: Digital Signatures, Font Files, and Recursion Illustrated Examples

Subsetting

• Important: Note that the decisions to emit a hash value to the output file and whether to make recursive calls depend on the position of the red and blue arrows at the time the recursive call is made.

Page 21: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration of further subsetting to just glyph 1

0 1 2 3 4 5 6 7

return h(0, 0).emit h(0, 0).

Input file has glyphs 0, 1, 2,and hash values h(3, 3) andh(4, 7).Output file has just glyph 1.

Page 22: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 2)

0 1 2 3 4 5 6 7

return h(1, 1).do not emit.

Page 23: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 3)

0 1 2 3 4 5 6 7

return h(0, 1).do not emit.

Page 24: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 4)

0 1 2 3 4 5 6 7

return h(2, 2).do not emit.

Page 25: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 5)

0 1 2 3 4 5 6 7

return h(3, 3).do not emit.

Page 26: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 6)

0 1 2 3 4 5 6 7

return h(2, 3).emit h(2, 3).

Page 27: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 7)

0 1 2 3 4 5 6 7

return h(0, 3).do not emit.

Page 28: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 8)

0 1 2 3 4 5 6 7

return h(4, 7), which is in the original file.emit h(4, 7).

Page 29: Digital Signatures, Font Files, and Recursion Illustrated Examples

Illustration (slide 9)

0 1 2 3 4 5 6 7

copy h(0, 7) from original file to output file.