cryptography and copy protection

Cryptography and copy protection

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: D Naccache Cryptography and Copy Protection Cryptography (are algorithms sufficient?) Typical s/w protection problem two bytes chess software 2 chess player Rennes presentation Typical s/w protection problem two bytes chess software 3 chess player Rennes presentation Typical s/w protection problem two bytes chess software 4 chess player Rennes presentation Typical s/w protection problem two bytes chess software 5 chess player Rennes presentation Typical s/w protection problem two bytes chess software 6 chess player Rennes presentation A solution s Code the chess algorithm inside a smart card. x The user exchanges the moves with the card through the PC. s Install the display, hall of fame and user interface parts on the PC. x These are useless for playing chess without the card 7 Rennes presentation Typical use of card for s/w protection user I/F hall of fame etc. {xu,yu} chess player chess software 8 Rennes presentation Typical use of card for s/w protection user I/F hall of fame etc. chess player {xu,yu} chess software 9 Rennes presentation Typical use of card for s/w protection user I/F hall of fame etc. chess player {xc,yc} chess software 10 Rennes presentation Typical use of card for s/w protection user I/F hall of fame etc. {xc,yc} chess player chess software 11 Rennes presentation What if the code is much bigger? s Execute it by chunks! x For instance, if the function to protect consists in computing the 3D distance between a destroyer and a target in the course of a naval simulation, then encrypted assembly code of the function sqrt[(x-x’)2+(y-y’)2] will be downloaded into the card; x the card will then decrypt the received string and install the code in RAM. x Finally, the card will get from the PC an input (say {x=3, y=12} and {x’=11, y’=6}), execute the function on this input and output the result (in our specific example “10 Km”). x When a new function will have to be executed (say compute the time it would take to get to the target, sailing at 12 Km/hour) the RAM will be reset, the code t =x/v (encrypted) will be sent into the card and the process would repeat itself (eventually resulting in the output “50 minutes”). x etc 12 Rennes presentation Typical...
View Full Document

Ask a homework question - tutors are online