Mike Blog on FPGARelated.com
https://www.fpgarelated.com/blogs-1/nf/Mike_.php
Mike Blog on FPGARelated.com
https://www.fpgarelated.com/blogs-1/nf/Mike_.php
https://d23s79tivgl8me.cloudfront.net/user/profilepictures/55496.jpgen-USTue, 01 Dec 2020 15:25:27 +00001606836327Running Average
https://www.fpgarelated.com/showarticle/917.php
The running average filter is a useful way to reduce noise in a system. One project I recently worked on required a 4 times frequency output from an encoder input. The problem was the encoder is mounted to the wheel of an old truck and bearing noise was making the original algorithm generate way too many pulses. The original algorithm worked, but the noise on the input made...]]>Mon, 15 Feb 2016 16:39:20 +0000Mike Ancient History
https://www.fpgarelated.com/showarticle/907/ancient-history
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.fpgarelated.com/showarticle/904.php
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.fpgarelated.com/showarticle/891.php

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.fpgarelated.com/showarticle/889.php
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.fpgarelated.com/showarticle/883.php
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.fpgarelated.com/showarticle/873.php
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.fpgarelated.com/showarticle/867.php
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.fpgarelated.com/showarticle/857.php
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.fpgarelated.com/showarticle/841.php
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