Proxmark3 community

Research, development and trades concerning the powerful Proxmark3 device.

Remember; sharing is caring. Bring something back to the community.


"Learn the tools of the trade the hard way." +Fravia

You are not logged in.

Announcement

Time changes and with it the technology
Proxmark3 @ discord

Users of this forum, please be aware that information stored on this site is not private.

#1 2012-09-28 11:21:17

alain
Member
Registered: 2011-02-18
Posts: 4

how to get ks4=0

Hi guys,  continue the good work
I would have a question , has anybody a clue about getting ks4 ,ks5, ... equal to 0

is there a "simple" relation between these authentication values and may be ks2 ks3
in order to get ks4 = 0     (I mean without going as far as searching the key)

uid = 0xa245e4f2
authentication:
7d  57  da  ea 
dc  6a  b5  b1  d0  dd  5c  80 
b9  72  3b  58
this gives for ks2 , ks3, and ks4 respectively:  b6665447   aaa2aee8   00000000

thank you

Offline

#2 2012-09-29 09:33:37

rule
Member
Registered: 2008-05-21
Posts: 417

Re: how to get ks4=0

The crypto1 cipher produces contiguously zeros if the complete internal state (LFSR) is zero. To make the LFSR zero just before ks4 is generated you can just set the LFSR to 0 and roll back the linear relation (or start from origin and calculate linear difference while running the cipher forward). There are approximately 2^16 different possibilities for each nt and nr per key to get the LFSR to zero. If you want to be compliant to the original (tag)prng, it could get tricky, since you have less flexibility to choose your values.

Can you explain your problem a bit more in detail? I may can put some code together that actually performs what you need.

Offline

#3 2012-10-02 18:29:42

alain
Member
Registered: 2011-02-18
Posts: 4

Re: how to get ks4=0

Thanks a lot for your answer

Most of all I would like to program the recovery of the real key in cases like that (ks4=0)
From the example above , lfsr_recovery64(ks2, ks3) ....  crypto1_get_lfsr(revstate, &lfsr)
give me the key [7c d2 3a 00 79 f8]
which is wrong because going forward :
state = crypto1_create(my_key) ....
ks2 = crypto1_word(state, 0,0) ---> ks2=0 which is wrong

You said it has to do with nonce_distance() but I don't figure how to program

Thank you

Offline

Board footer

Powered by FluxBB