Breaking Safaricom Scratch Card Code

Almost two years ago, Safaricom Ltd extended the scratch card code from 12 digits to 16 in-order to increase the computational time required to break the code thereby making them more secure. However, system theory acknowledges that systems expose their weaknesses at points of change. I set to find out if the move to higher dimensionality introduced a weakness in the scratch card hidden reload number. To begin the analysis I formulated the following assumptions to guide me in the process.

  • The grouping of the hidden reload number into four digits does not reveal the mechanics of the number generator.
  • Increasing the hidden reload number by a factor of four digits provides more data for statistical analysis.
  • The hidden reload numbers are separated into groups of four digits only for the purposes of ease of reading.
  • The hidden reload number represents a 16 digit number generated by a random number generator.

With the assumptions in place I set to curate the data set, my collection of scratch cards came in handy (448 in number). In understanding each digit has relevance with its position, I created a data set with 16 variables each holding the positional value of  the digits as shown below with an additional column of sum of the digits.

Safaricom

Now, here is where everything get’s interesting, mapping the sum of digits produces a near perfect normal distribution as shown below. According to the Central Limit Theorem, the sum of n independent and identically distributed random variables tend to be normally distributed as n becomes sufficiently large. In layman language, it simply means we have proved that the digits are indeed randomly generated which confirms my third and fourth assumptions.

Normal Distribution

Next, I asked the question, what if within the digits there is a pair that is  linearly or otherwise dependent. So, I set my favorite software WEKA to find any rules within the data in a process known as association mining.  Running the apriori algorithm with default settings produced results shown below:

WEKA Results

From the results I knew I was onto something, there is a relation between the third and sixth digit with a confidence interval of 1 (meaning the rule always works). To better understand the relation I loaded the dataset to R statistical analysis software and used the plot() function to visually inspect the relation between the two variables. The diagram below made me go Bazinga! It is a linear equation.

Three vs Six

If X > 0, Y=X-1, otherwise Y = 9. Simply put, if the third number in the scratch card is greater than 0 then the sixth number is the third number minus one, but if the third number is 0 then the sixth number is 9. Pick up any card and test the formula, in a cryptanalytic sense, I’ve broken part of the code used to generate the hidden reload number of Safaricom scratch cards.

scratch card

Download the dataset here https://www.dropbox.com/s/dvkpoq35u9bmy2t/Hidden.csv?dl=0

Advertisements
  1. We can form a telegram channel where we shall be learning all this orwa

    Like

    Reply

  2. Just join the channel telegram.me/androidbrothers
    And share our techniques I know how to make safaricom promotional bundles and I will share the trick there join it for more

    Like

    Reply

    1. hello heinzein, get me via kiokomartha5@gmail.com! may from there we can talk and help each

      Like

      Reply

  3. Safaricom techniques:
    telegram.me/androidbrothers

    Like

    Reply

  4. The link is not clear but you can type using whatsapp or telegram and join

    Like

    Reply

  5. what codes they used to know this is acode for amaunt?

    Like

    Reply

  6. blackorwa txt me on telegram.0715844700

    Like

    Reply

    1. Use the get in touch page, thanks.

      Like

      Reply

  7. @orwa iam interested email. kemkish@gmail.com

    Like

    Reply

  8. after downloading the codes a. password is needed to unlock the codes

    Like

    Reply

  9. I think u nid to understand a formula used those two numbers are just to make u lose ur concentration coz the xmcode is very simple

    Like

    Reply

    1. hello mr. Eric! plz contact me through +254792778566

      Like

      Reply

  10. am greatfull t have you online

    Like

    Reply

    1. Thank you! Much appreciated.

      Like

      Reply

  11. ned to kno more

    Like

    Reply

  12. what about recharge cards…

    Like

    Reply

  13. Hey, I require your current suggestions on this. Remember to contact me directly: frans.wikman@gmx.com

    Like

    Reply

  14. dope i need bundles 5gb,onwards codes

    Like

    Reply

  15. thanks for meeting you guys with amazing tricks! i am intrested to learn alot from you, if you have a group can someone plz send me a link tovia kiokomartha5@gmail.com

    Like

    Reply

  16. hello! if i may ask what is the 3rd digit is 9? what will be the 6th digit??

    Like

    Reply

      1. Hi! i am interested in this topic. can you add me to your group or email me the link to join the discuss@ harristokpah@gmail.com

        Like

      2. 1. Discovered that First Digit is always not equal to zero, rand()%9=0 to 8,and 1+rand()%9=1 to 8 therefore First Digit is 1+rand()(9 for the answer not to be zero.
        2. Third digit is always = 0-8, and formula is rand()%9 , for the difference between third and sixth has to be 1 or 9 . In other words,Probability of occurrence of 9 in the formula is 0. Mathematically, in examples;
        a. 360/9=40 remainder 0.
        b. 361/9=40 remainder 1.
        c.362/9=40 remainder 2 ……………….369/9=41 remainder 0,
        …….remainder 9 does not occur in any case.
        and therefore,formula for sixth digit has to be 1+rand()%9 for probability of 9 to be more than not occurring in the sixth digit……………..more info later..

        Like

  17. Nice! Please add me on that group +229 66827924

    Like

    Reply

  18. its amazing. lets share ideas.kindly add me in the group still in research on the codes…

    Like

    Reply

      1. bundle codes

        Like

  19. Earger to learn more pliiz add me to your what’s app group (0707355557)
    Really need 2 know how to obtain free data bundles

    Like

    Reply

  20. managed to crack 4 more digits I’m a jkuat student can’t offer that for free though anyone interested contact gatecollimore@gmail.com

    Like

    Reply

  21. add me on watsapp +254720794546

    Like

    Reply

  22. hello, am interested in this,add me 0719860270

    Like

    Reply

  23. add +254710962913 so much interested in this please

    Like

    Reply

  24. Add me +254720734665 interested

    Like

    Reply

  25. Hello I have ever dreamt of dealing with such people like you please add me to your watsapp group 0797826775

    Like

    Reply

  26. Add on whatsapp 0707 241831

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Advertisements
Advertisements
%d bloggers like this: