How do I generate MACt() to activate the SAM AV3?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How do I generate MACt() to activate the SAM AV3?

849 Views
Henry3
Contributor I

To active the SAM AV3, I receive a random number Rnd2 (12) bytes in length, returned from the SAM_LockUnlock() command with P1 set to ‘011.’  I now need to send SAM_LockUnlockPart2 with Rnd1 (which I generate) along with MACHost.  MACHost is 8 bytes, defined by MACt() of Kx, Rnd1, P1_Part1, plus 3 additional parameters and ZeroPad.

MACt(key,message) is the even numbered matrix state array elements of an AES computation, defined in section 10 of ds323531.  MACing references NIST Special Publication 800-38B, which I’m looking at.  Somehow, the definition of MACt() tosses out the 4 parameters and ZeroPad and introduces a 16 byte state array from AES128.

I don’t know how we make this leap.  I assume Kx is the default key of the SAM, I generate Rnd1,… then [something happens] and I’m taking 8 of the 16 byte transformed state array of AES128.  I’m missing the remaining steps to generate MACt().  I’m putting in 4 parameters, what I assume is the default SAM key, but this does not line up with the state array of AES… unless I run the AES128 encryption on… [something]?

Is there any way to activate the SAM without AES encryption and MACt generation?  If not, can someone tell me the missing steps? (assuming I'm a newb without much AES128 encryption experience)

Thanks

 

0 Kudos
Reply
0 Replies