Mike Blog on EmbeddedRelated.com
https://www.embeddedrelated.com/blogs-1/nf/Mike_.php
Mike Blog on EmbeddedRelated.com
https://www.embeddedrelated.com/blogs-1/nf/Mike_.php
https://d23s79tivgl8me.cloudfront.net/user/profilepictures/55496.jpgen-USSun, 23 Apr 2017 11:51:30 +00001492948290Ancient History
https://www.embeddedrelated.com/showarticle/907.php
The other day I was downloading an IDE for a new (to me) OS. When I went to compile some sample code, it failed. I went onto a forum, where I was told "if you read the release notes you'd know that the peripheral libraries are in a legacy download". Well damn! Looking back at my previous versions I realized I must have done that and forgotten about it. Everything...]]>Mon, 18 Jan 2016 14:15:28 +0000Mike Dealing With Fixed Point Fractions
https://www.embeddedrelated.com/showarticle/904/fixed-point-fraction-representation
Fixed point fractional representation always gives me a headache because I screw it up the first time I try to implement an algorithm. The difference between integer operations and fractional operations is in the overflow. If the representation fits in the fixed point result, you can not tell the difference between fixed point integer and fixed point fractions. When integers...]]>Tue, 05 Jan 2016 15:52:45 +0000Mike Mathematics and Cryptography
https://www.embeddedrelated.com/showarticle/891/mathematics-and-cryptography

The mathematics of number theory and elliptic curves can take a life time to learn because they are very deep subjects. As engineers we don't have time to earn PhD's in math along with all the things we have to learn just to make communications systems work. However, a little learning can go a long way to helping make our communications systems secure - we don't need to know...]]>
Mon, 14 Dec 2015 15:53:29 +0000Mike Elliptic Curve Digital Signatures
https://www.embeddedrelated.com/showarticle/889/elliptic-curve-digital-signatures
A digital signature is used to prove a message is connected to a specific sender. The sender can not deny they sent that message once signed, and no one can modify the message and maintain the signature. The message itself is not necessarily secret. Certificates of authenticity, digital cash, and software distribution use digital signatures so recipients can verify they are getting what...]]>Wed, 09 Dec 2015 13:24:00 +0000Mike Elliptic Curve Key Exchange
https://www.embeddedrelated.com/showarticle/883/elliptic-curve-key-exchange
Elliptic Curve Cryptography is used to create a Public Key system that allows two people (or computers) to exchange public data so that both sides know a secret that no one else can find in a reasonable time. The simplest method uses a fixed public key for each person. Once cracked, every message ever sent with that key is open. More advanced key exchange systems have...]]>Thu, 03 Dec 2015 16:45:53 +0000Mike Polynomial Inverse
https://www.embeddedrelated.com/showarticle/873/polynomial-inverse
One of the important steps of computing point addition over elliptic curves is a division of two polynomials. When working in $GF(2^n)$ we don't have large enough powers to actually do a division, so we compute the inverse of the denominator and then multiply. This is usually done using Euclid's method, but if squaring and multiplying are fast we can take advantage of these...]]>Mon, 23 Nov 2015 16:51:06 +0000Mike One Clock Cycle Polynomial Math
https://www.embeddedrelated.com/showarticle/867/optimal-normal-basis
Error correction codes and cryptographic computations are most easily performed working with $GF(2^n)$ polynomials. By using very special values of $n$ we can build circuits which multiply and square in one clock cycle on an FPGA. These circuits come about by flipping back and forth between a standard polynomial basis and a normal basis representation of elements in $GF(2^n)$....]]>Fri, 20 Nov 2015 19:56:34 +0000Mike Elliptic Curve Cryptography
https://www.embeddedrelated.com/showarticle/857/elliptic-curve-cryptography
Secure online communications require encryption. One standard is AES (Advanced Encryption Standard) from NIST. But for this to work, both sides need the same key for encryption and decryption. This is called Private Key encryption. Public Key encryption is used to create a private key between two sides that have not previously communicated. Compared to the history...]]>Mon, 16 Nov 2015 13:47:01 +0000Mike Polynomial Math
https://www.embeddedrelated.com/showarticle/841/polynomial-math
Elliptic Curve Cryptography is used as a public key infrastructure to secure credit cards, phones and communications links. All these devices use either FPGA's or embedded microprocessors to compute the algorithms that make the mathematics work. While the math is not hard, it can be confusing the first time you see it. This blog is an introduction to the operations of squaring and...]]>Tue, 03 Nov 2015 15:24:16 +0000Mike Number Theory for Codes
https://www.embeddedrelated.com/showarticle/831.php
Everything in the digital world is encoded. ASCII and Unicode are
combinations of bits which have specific meanings to us. If we try to
interpret a compiled program as Unicode, the result is a lot of garbage
(and beeps!) To reduce errors in transmissions over radio links we use
Error Correction Codes so that even when bits are lost we can recover
the ASCII or...]]>Thu, 22 Oct 2015 20:01:21 +0000Mike