View Full Version : BCH Codes

March 24th, 2008, 12:01

Has anyone dealt with BCH codes data protection. I need to protect internet packets (in wireless application) with some codes to be able to recover BER (bit error rate) of 10-03. I implemented Simon Rockliff algo for BCH codes, but even with quad core under 2.4GHz and all four cores utilisation I cant get satisfied speed. The main problem is that BCH codes are binary codes, and if you have MTU size of packet of 1500 bytes, it is 15000*8 bits that must be transformed into ints to be appropriate for BCH encoding/decoding algo.

BCH codes are intereset for me, because they eat just 2% of packet size (about 28 bytes) and are capable to recover BER of 10-03. With RS (Reed Solomon) codes with same recovery capability, there is no problem with speed (with RS (255, 223) codes), but the efficiency is only 85 %.

Has anyone some optimized algo (maybe MMX, SSE) for fast BCH encoding/decoding.

I tried many methods. Natively my BCH algo was written in c#, then I displaced it into win32 dll compiled with microsoft c compiler, after that I used Intel c++ compiler and did multithread optimization but no satisfied results in speed.

July 15th, 2008, 16:36
Forget about this post, i missed your last block

Probably you should also consider to take another compiler. If written in C/C++ it sounds like job for "Intel Compiler"



PS: I used the intel compiler before for some krypto-performance related computations and the intel compiler increased the speed of the application about 3 - 5 %. Just an idea....

July 21st, 2008, 16:00
what performance is dissatisfying you more?
encode_bch()? decode_bch()?

July 24th, 2008, 05:50
The problem is with decode_bch(), because algorithm for decoding. Encoding can be done using lookup table.