From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.236.7.14 with SMTP id 14mr17098257yho.34.1409617325527; Mon, 01 Sep 2014 17:22:05 -0700 (PDT) X-Received: by 10.140.95.7 with SMTP id h7mr656619qge.4.1409617325492; Mon, 01 Sep 2014 17:22:05 -0700 (PDT) Path: border2.nntp.dca1.giganews.com!nntp.giganews.com!dc16no408976qab.1!news-out.google.com!q8ni9qal.1!nntp.google.com!m5no5044856qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 1 Sep 2014 17:22:05 -0700 (PDT) In-Reply-To: <7hu90a5d028n1mhjv3f9kd3gm2oj0jr67t@4ax.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=75.178.36.13; posting-account=bDZo8goAAADwRO71ouDFRMCIZ96XBCK3 NNTP-Posting-Host: 75.178.36.13 References: <077c3724-0a8e-41ba-b01f-c81fe92fe3a8@googlegroups.com> <65fa0c3d-e5d1-4067-978a-74ea3c2e5aea@googlegroups.com> <18cd3437-c6b0-4d9d-a8ca-2470d4d1eae2@googlegroups.com> <7hu90a5d028n1mhjv3f9kd3gm2oj0jr67t@4ax.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: In the pipeline. From: gdotone@gmail.com Injection-Date: Tue, 02 Sep 2014 00:22:05 +0000 Content-Type: text/plain; charset=ISO-8859-1 Xref: number.nntp.dca.giganews.com comp.lang.ada:188794 Date: 2014-09-01T17:22:05-07:00 List-Id: On Monday, September 1, 2014 7:06:40 PM UTC-4, Dennis Lee Bieber wrote: > That situation shouldn't require explicitly referencing ad-hoc memory. > If the data was held in an Ada variable, then you can do whatever you want > with it without having to know where that variable was located. Just make > sure you run a secure erase on the variable. In pseudo-code > myDecryptionBuffer : FixedMemoryBuffer; > for i in myDecryptionBuffer'range loop > myDecryptionBuffer(i) := someRandom(); -- randomize > end loop; > for i in myDecryptionBuffer'range loop > myDecryptionBuffer(i) := not myDecryptionBuffer(i); -- bit invert > end loop; > for i in myDecryptionBuffer'range loop > myDecryptionBuffer(i) := someRandom(); -- different randomize > end loop; > If you really want to be paranoid, you'll save a copy of the random > pattern, and do a comparison loop after each of the above loops to ensure > the data changed to the pattern that was written. that is really, really cool!