06.11.2014 Views

A User Centric Security Model for Tamper-Resistant Devices

A User Centric Security Model for Tamper-Resistant Devices

A User Centric Security Model for Tamper-Resistant Devices

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C.11 Implementation Helper Classes<br />

184 }<br />

185 public s t a t i c void i n s t a l l ( byte bArray [ ] , short bOffset , byte<br />

186 bLength ) {<br />

187 new PrngSHA256 ( bArray , bOffset , bLength ) ;<br />

188 }<br />

189<br />

190 byte [ ] generateMACPrng ( ) {<br />

191 apduBuffer [ 0 ] = ( byte ) 0x02 ;<br />

192 CyclicSeedFileRead ( apduBuffer ) ;<br />

193 SHA256 . doFinal ( apduBuffer , ( short ) 0 , ( short ) (RECORD_SIZE + 1) ,<br />

194 Buffer , ( short ) 0) ;<br />

195 Xor ( apduBuffer , ( byte ) 1) ;<br />

196 apduBuffer [ 0 ] = ( byte ) 0x03 ;<br />

197 SHA256 . doFinal ( apduBuffer , ( short ) 0 , ( short ) (RECORD_SIZE + 1) ,<br />

198 Buffer , ( short ) 0) ;<br />

199 Xor ( apduBuffer , ( byte ) 1) ;<br />

200 C y c l i c S e e d F i l e W r i t e ( apduBuffer ) ;<br />

201 Adjuster ( ) ;<br />

202 }<br />

203 byte [ ] generateMACPrng ( byte [ ] I n p u t B u f f e r ) {<br />

204 CyclicSeedFileRead ( I n p u t B u f f e r ) ;<br />

205 SHA256 . doFinal ( inputBuffer , ( short ) 0 , ( short ) (RECORD_SIZE + 1) ,<br />

206 Buffer , ( short ) 0) ;<br />

207 Adjuster ( inputBuffer , B u f f e r ) ;<br />

208 }<br />

209<br />

210 byte [ ] generateMACPrng ( byte [ ] InputBuffer , byte [ ] OutputBuffer ) {<br />

211 CyclicSeedFileRead ( I n p u t B u f f e r ) ;<br />

212 SHA256 . doFinal ( inputBuffer , ( short ) 0 , ( short ) (RECORD_SIZE + 1) ,<br />

213 Buffer , ( short ) 0) ;<br />

214 Adjuster ( OutputBuffer ) ;<br />

215 }<br />

216 }<br />

449

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!