Why is there a citizens right to full security through encryption?

Hits: 1063

For our safety and security. The opportunity for misuse is not limited, at all. Please watch the movie “Enemy of the State” to learn about what’s possible, as a training operation.

Read me: https://codereview.stackexchange.com/questions/261315/squeak-code-generating-c-code-for-performant-reed-solomon-error-correction

For example, I had a fake court date inserted into the docket, and at the time I was in the VA mental health facility, involuntarily. When I got out a kind Durham sheriff came by and arrested me explaining there was a warrant out for failure to appear. After 4 days in Durham jail, I was transferred to Hillsborough jail for 2 more days, then I went in front of the Judge through video. He had no record of my having missed a court appearance and the warrant got tossed out and I was able to catch the bus home. Nobody apologized. So this shit happens, folks!

This is why the government cannot restrict the people from using any encryption they damn well please. Thank you very much.


UPDATE on ParrotTalk. Fits and starts, folks. I got side-tracked into implementing Reed-Solomon FEC in Squeak, partway there. I need to implement generating polynomials for the parity computation. Then I will interleave 4 RS(15,9) such that 12 contiguous 4-bit symbols canwithstand corruption. All protocol headers in ParrotTalk v4.0 must fit within 18 bytes, the rest in payload, 4 way interleaved RS(256, 223) or similar.

Future ParrorTalk Plans include per connection settings, specifying thunks in the thunk stack, some transient, some optional, for

  1. services ( Network Control )
  2. distributed object-capabilities ( RemotePromises )
  3. encoding ( ASN.1 )
  4. compression ( ZIP )
  5. authentication ( MAC-SHA256 )
  6. encryption ( 256-bit AEScbc )
  7. authorization ( MAC-SHA256 )
  8. login (20+ digit passphrase)
  9. session operations ( ParrotTalk v4.0 )
  10. forward error correction ( ReedSolomon: error correction (t/2 symbols)
    4*RS(15,9) <18 bytes header>
    + 4 n*RS(256,223) <892 bytes per payload segment> )
  11. addressing ( IP | Freq+ )
  12. connection/transmission ( Socket | TTY )

I passed my Technicians Ham Radio exam Saturday (YAY!) and I have a new call sign: KO4PYS. Then I try for first contact. I need to learn how to transmit/receive digital data with my packets.

Encryption is banned in Amateur Radio…thusly optional…


I ported the RS Erasure code to Squeak. All tests are green!

Find this port in the Cryptography repository, loadable in Squeak: http://www.squeaksource.com…. The package names are CryptographyRSErasure and CryptographyRSErasureTests.

I refactored the codingLoops, in a significant way. They are all implemented with single coding & checking loops. The difference between table lookup and Galois computation are isolated to nee compute methods in each of two new superclasses: RAErasureTableCodingLoop & RSErasureExpCodingLoop. The crux of a good implementation is that some codingLoops require to store accumulated values in the output array for subsequent retrieval in adding the old value to the new value component.

It is very slow (~ 5 MB/s, although some isParityCorrect benches at 100 MB/s).

RSErasureOutputInputByteTableCodingLoop encodeParity 3.0 MB/s

RSErasureOutputInputByteTableCodingLoop isParityCorrect 101.15 MB/s

Wow, check these numbers!

TEST: RSErasureOutputByteInputTableCodingLoop isParityCorrect
warm up…
200000 bufferSize, 6 MBs, 2 Seconds, 2 passes, 3.0 MB/s
200000 bufferSize, 6 MBs, 2 Seconds, 2 passes, 3.0 MB/s
testing…
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s
200000 bufferSize, 571 MBs, 2 Seconds, 168 passes, 285.5 MB/s

AVERAGE: 285.5 MB/s

So I am working on a plugin for the Galois operations. I am also looking to zxing to implement an error correction version, for use over radio and SATCOM.


I am feeling the dopamine high from finally finishing (mostly) my ZXing’s Reed Solomon implementation. I got decoding working correctly, with dataMatrix256 and QRCode, including corruption repair, within t/2 errors. It is VERY SLOOOW, way to slow to use yet. There are speedups possible in writing a plugin for the hot spots, which are on the decode side: GFPoly evaluateAt (40.1%), Decoder runEuclideanAlgorithm(38.5%), Decoder findErrorLocations(12.6%) and Decoder find ErrorMagnitudes(2.3%).

It is written in Squeak, my favorite all-time language environment. I have used it for over 20 years. It is so beautiful! The rule of development is #GetItWorking, #GetItWorkingRight #GetItWorkingFast.

If you are interested in checking out the code, go to http://squeak.org and grab squeak. Once you have it running, right click for the World Menu and select open…Monticello Browser. Add a new repository of type HTTP and enter the Cryptography repository.

MCHttpRepository
    location: 'https://www.squeaksource.com/Cryptography'
    user: 'squeak'
    password: 'squeak'

Open a Workspace (World Menu -> Workspace) & run this code (paste into Workspace, select it and right click do it.):

Installer ss
    project: 'Cryptography';
    install: 'ProCrypto-1-1-1';
    install: 'ProCryptoTests-1-1-1'.

Now you can open a Browser to look at the code (categories: CryptographyRSFEC & CryptographyRSFECTests) or open a TestRunner to test it (World Menu -> *).

One thought on “Why is there a citizens right to full security through encryption?”

  1. I got Reed Solomon erasure coding passing all tests. Green!!

    I’m implementing a benchmark for different looping strategies. Then I’ll move to implementing full error correction. Erasure coding repairs the original message when parts of the message is missing. Error correction will repair corrupted data, much more likely in radio communication or SATCOM.

Leave a Reply

Your email address will not be published. Required fields are marked *