Announcement

Collapse
No announcement yet.

CRC, Flip Flops and XOR. Oh' My

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CRC, Flip Flops and XOR. Oh' My

    For once, not a post of 'How do I get XP to do.....'

    I've been tinkering lately with a hardware product that uses a CRC based authentication system. My goal is to simulate the system in software as a proof of concept to it's insecurity since they claim you cannot duplicate the hardware (I have significant reason to believe otherwise).

    Without getting into specifics of the product (public forum after all), A challenge is issued, computed through a CRC algorithm incorporating some other 'secret' information and a response is generated. The challenger also computes this value and access is based on both values matching.

    Rolling timing, different serial numbers and secret seed values add and obvious level of possibilities to the resulting output. However, patent docs have provided me a map of the mechanics of the algorithm (though not the secret values, but it's a start). CRC's, XOR gates and bit shifting is not something I've messed around with before and reading the patent makes me go cross eyed trying to track where all the bits are going:

    The shift register 43 consists of the input data flip-flop 44, the internal flip-flops 52 and the output data flip-flop 60. These flip-flops, 44,52,60, represent the bit positions of the resulting encoded bit stream. A preferred embodiment according to this invention has sixteen XOR's and, except for 68, are labeled collectively as 50. All XORs 50 have one input tied to the output of one of the shift register 43 flip-flops 44, 52 or 60.
    I'm willing to admit I'm in over my head. I'm not very familiar with machine logic, gates, etc. However, I'd like to learn. Anyone have any resources for learning about all this bit shifting, CRC's, etc. I'd love to know about it. Most of the stuff I have found is usually way over a beginners head.

    Any old text books lying around form comp sci days?

    Big request, I know. Hopefully not to big.

    Render
    Never drink anything larger than your head!






  • #2
    Originally posted by renderman
    Anyone have any resources for learning about all this bit shifting, CRC's, etc. I'd love to know about it. Most of the stuff I have found is usually way over a beginners head.
    I have 2 or 3 titles at home, but will need to keep them. One is primarily targeted to an audience which has minimal programming experience, but math which should include a basic course of mathematical logic. Though you do not NEED such mathematical experience it will really help you a great deal. (I can try to provide the titles.)

    It will at least help you to understand something simple like P = (AB' + A'B) and how it could be mapped into a circuit even though there are several other notation schemes like A(BAR) etc.

    After (or better yet, while) you read a book like this, it is useful to have a breadboard to build some of the sample designs. (All I ever built was a simple calculator which could could addition and subtraction, notify you of overflow errors and only held 4 bits of data.)

    When I get home, I will try to find some of the titles and edit this message to include them here.

    [Edit: new content below here]

    I have looked through several boxes (recently moved) but have not been able to find these books. Over the next month, I'll unpack more boxes and see if I find it. Sorry, I can't remember the title. I remember is is not thich at all and goes over many basic concepts on FF, registers, buffers, XOR, NAND, AND, OR, NOR, NOT and building Adders as well as other simple circuits.

    It may take a few weeks but when I find it, I'll fllowup with a new post to "revive" this one.
    Last edited by TheCotMan; June 2, 2004, 11:38.

    Comment

    Working...
    X