Hi Good morning,
I am trying to port java code implementing Reed-Solomon encoding with a GaloisField and polynomial system. I am currently testing the easiest Mode, which is 9 data symbols, 15 code symbols and 3 symbols of error. Theer's 2 nibbles to a byte, so a split and join is needed. This all has to do with iteration where the base indexing changes from 0 to 1. I screwed it up in there somewhere and I am struggling to find teh issue. It looks like a complete code review... Since this is core crypto code, it would be an extra blessing if someone else's eyes were on this code in detail.More tests always help too. Would someone be willing to crawl into the java and squeak code to review, learn and qualify/validate? Also, you would be helping me understand all this polynomial math and where my indexing issue may be. The failure in Squeak is in the GenericGFPoly>>#divide: method. It runs forever and the quotient/remainder never reduces it's degree. So one of teh math operations is broken & failing. You can run the EncodingTests I am including a zip of the Java classes I use. This core Reed-Solomon code was written at Google and released open-source. I wrote a test and they pass, so code is working. The latest Cryptography package in the crypto repo is version 48. Please load that and run the CryptoReedSolomonTest to see the infiniteLoop of the polynomial divide. Let me know if you can help. Thanks, Robert reedsolomon-java.zip (32K) Download Attachment |
Sorry, forgot to mentionthe test I am using is
CryptoReedSolomonTest>>#testEncodeAndDecodeRS_15_9. The other 2 encodeAnd Decode tests have teh wrong sized data at the level they are testing. This data needs to be the size of an interleaved block of 4 chunks that fit the algorithm. Just to inform you, in RS(9)(15) ,the data block is 4 times 9 nibbles or 36 nibbles/18 bytes. Foir some reason I am adding 4 bytes of lenght in there, I think to differentiate use of different sized RS algorithms. Robert On 12/07/2015 07:20 AM, Robert Withers wrote: > Hi Good morning, > > I am trying to port java code implementing Reed-Solomon encoding with > a GaloisField and polynomial system. I am currently testing the > easiest Mode, which is 9 data symbols, 15 code symbols and 3 symbols > of error. Theer's 2 nibbles to a byte, so a split and join is needed. > This all has to do with iteration where the base indexing changes from > 0 to 1. I screwed it up in there somewhere and I am struggling to find > teh issue. It looks like a complete code review... > > Since this is core crypto code, it would be an extra blessing if > someone else's eyes were on this code in detail.More tests always help > too. Would someone be willing to crawl into the java and squeak code > to review, learn and qualify/validate? Also, you would be helping me > understand all this polynomial math and where my indexing issue may be. > > The failure in Squeak is in the GenericGFPoly>>#divide: method. It > runs forever and the quotient/remainder never reduces it's degree. So > one of teh math operations is broken & failing. You can run the > EncodingTests > > I am including a zip of the Java classes I use. This core Reed-Solomon > code was written at Google and released open-source. I wrote a test > and they pass, so code is working. The latest Cryptography package in > the crypto repo is version 48. Please load that and run the > CryptoReedSolomonTest to see the infiniteLoop of the polynomial divide. > > Let me know if you can help. > > Thanks, > Robert > |
Free forum by Nabble | Edit this page |