comp.lang.ada
 help / color / mirror / Atom feed
* The Case for LaTeX to be used as a Bridging Surrogate for ASCII While Running in Ada as Encrypted Text.
@ 2014-12-11 19:43 Austin Obyrne
  0 siblings, 0 replies; only message in thread
From: Austin Obyrne @ 2014-12-11 19:43 UTC (permalink / raw)



Running in Ada is incidental here because in theory at least this could be done in any programming language but Ada is in my experience the ideal language for encrypting secure communications and is the language in which my experiments has been done so here goes in Ada-95.

Preamble.

I think it is true to say that personal cryptography is high on the agenda of many more home computer owners now than say before the Snowden revelations and the revelation that NSA can pressurise software manufacturers and ISP's to give them a side door into people's personal computers.  Apart from that, personal security in home computing is something that was always going to come anyway just as a natural outcome of ambitious progress so it is sensible to treat it as a progressive need rather than invasive protection.

My knowledge is that Ada (20 anything) compilers  are being  hosted on the recent hand-held tablets by Microsoft i.e. Surface Pro 2 and 3. I have developed several theoretically unbreakable forms of cryptography for the Ada programming language that will run on these tablets and the objective here is to optimize the scope of what a private user may do in a lunch break say by way of encrypting private email, secure archiving, temporary storage or whatever else one needs to do.  The accent is on convenience thorough scope and portability.  The encrypted message-text is immune to anything that the NSA can do.

There are limitations to what ASCII can do in terms of flowery text and encrypting mathematics is out of the question altogether unless one is prepared to divert to Unicode in the middle of an ASCII based communication but this to-ing and fro-ing between ASCII nad Unicode is considered just not acceptable for practical reasons.  For instance many Greek symbols such as 'pi' say are used in everyday English language  It can be rightly claimed that between the two of them i.e. ASCII and Unicode together any character of any sort in the languages of the entire known world is possible but the claim is weak when the practical limitations are taken into account.

Note that entire books for submission to publishers in secret are considered in this context.

Another attribute that home computer users will want is the ability to pre-format the encrypted message-text with built-in type-setting instructions so that it will open at the receiving end of a communications loop in a predetermined format that they wish to happen.

Considering both of these limitations it must be said that ASCII is insufficient and only rudimentary formatting of communications is feasible.

LaTeX.

This is a type setting language that while being implemented in ASCII is able to effortlessly output a vast array of non-ASCII attributes as standard fare.  Any body who is familiar with this typesetting language will know that it has huge capabilities sufficient to write entire books in mathematics for instance as well as a large scope of commonly used symbols and foreign language characters that writers quickly need very often.  The scope for extra prose is far greater than anything ASCII can provide and of course formatting by typesetting commands is par for the course but LaTeX doesn't forget its roots - LaTeX is rock solid based in ASCII and ASCII implements every thing that LaTeX purports to do on its own.

The Cryptography Connection.

To get to the point, the proposal here is to avail of the latent benefits of LaTeX that while providing huge extra prose and prepared formatting by means of built in typesetting commands Latex is at the same time also quite easily encipherable as a file of pure ASCII characters on its own by means of several ciphers that are already up and running in Ada (or indeed any language but preferably in Ada).

How it Works.

I use a WinEdt8 editor as the LaTeX editor and I encrypt a file for encryption as a LaTeX 'input' file.  That file is pasted into the Ada-Gide editor and saved as a text file for encryption.  The ensuing ciphertext file is sent to the receiving entity (Bob in crypto industry parlance). Bob decrypts the ciphertext file into the LaTeX file that it really is and pastes that into his WinEdt8 editor where he runs it as the text file that the sending entity (Alice in crypto parlance) wants him to receive. (a bonus is that the message text file from Bob's WinEdt can be saved as an attractive  *PDFLaTeX file)   

The Price to Pay.

Inevitably, there is a price to pay in the extra volume of ciphertext that is needed to cover the commands in the Latext input file as well as the text they are controlling.  It also means using an extra editor to the AdaGide editor (the additional WinEdt8 editor ).  This may seem a bit convoluted but that is resolved by a few mouse clicks when both editors are in the same computer,  (there are several free editors available beside WinEdt 8 which must be paid for.)

Demonstration.

A file for this demonstration has been borrowed from the very good book "More Math into LaTeX" by G. Cratzer - I am sure the author won't mind my doing this.  The file is named "math.tex" and I will demonstrate it here next.

This is the file for typesetting,

Start:

In first -year calculus, we define intervals such as (u ,v) and (u, ∞) . Such an interval is in a neighbourhood of 'a' if 'a' is in the interval.  Students should realize that ∞ is only a symbol, not a number.  This is important since we soon introduce concepts such as lim x → ∞ f(x).
  When we introduce the derivative  
lim x → a  (f(x) - f(a)) / x -a,
we assume that the function is defined and continuous in a neighborhood of a. 

Finish:

This is the corresponding source file that is keyed in to the WinEdt 8 editor of LaTeX,

% Sample file: math.tex
\documentclass[draft]{sample}

\begin{document}
in first year calculus, we  define intervals such
as $u, v$ and $u, \infty$. Such an interval
is a \emph{neighbourhood} of $a$
if $a$ is in the interval.  Students should
realize that $\infty$ is only
a symbol, not a number. this is important since
we soon introduce concepts
 such as $lim \_{x\to \infty} f(x)$

 when we introduce the derivative
 \[
    \lim_{x \to a} \frac{f(x) - f(a)}{x - a}
 \]
 we assume that the function is defined and
 continuous in a neighbourhood of $a$
 \end {document}

That source file is encrypted as straight text file'

This is the ciphertext when the LaTeX source file is encrypted in Ada by the cipher, "Skew Line Encryptions". 
 725        4699      4411        975        5165      4001        887        5105       4021       657       4689       4346       1137       5468       3674        944       5162       3976        606       4611       4502       1034       5346       3835        921       5178       3947        898       5238       3912        831       5017       4310        688       4668       4584       1022       5454       3823        597       4588       4547        976       5281       4002       1097       5627       3634        658       4775       4347        745       4946       4329        884       5092       4195        667       4877       4335        795       4833       4379       1033       5453       3834       1124       5515       3760       909       5235       3887       1101       5506       3755       1030       5446       3837       1049       5567       3568        728       4767       4510       1087       5628       3624       1070       5456       3871       1023       5452       3698        668       4873       4252       1041       5621       3560        577       4640       4473        621       4828       4310        661       4984       4158        650       4888       4147        923       5387       3739        965       5547       3619        739       5117       3993        654       4777       4343        859       5265       3873        682       4860       4266        842       5211       3940        800       5168       3883        649       4930       4146        631       4826       4320       1036       5554       3573        815       5259       3847        524       4684       4420        946       5406       3747        714       4947       4130         862       5299       3840        517       4633       4440        895       5399       3696        766       5155       3909        689       4899       4168        968       5480       3643        794       5259       3877        967       5464       3621       1109       5400       3916       1263       5559       3782        774       4790       4556       1249       5534       3786       1134       5434       3935       1212       5461       3887        814       4888       4398        967       5002       4383        950       4964       4429       1180       5530       3855       1057       5293       4083       1039       5230       4053        954       4948       4433       1028       5133       4282        853       4895       4350        910       4918       4494       1087       5214       4113       1076       5397       3871       1139       5415       3940        881       4873       4570        982       5071       4236        986       5291       4012       1084       5572       3603        680       4819       4369        700       4630       4596       1098       5589       3617        637       4738       4419        674       4635       4570        733       4791       4515        755       4923       4252        908       5079       4177        993       5289       4019       1091       5565       3586       1062       5402       3863        900       5286       3926        992       5226       4018       1087       5540       3741        963       5390       3764        992       5315       4006        760       5006       4239       1101       5469       3776       1058       5462       3859        916       5212       3942        817       4985       4296       1019       5550       3694        776       4852       4360       1003       5461       3804        811       5086       4065        668       4723       4585        696       4871       4385        623       4656       4519        814       4995       4311        891       5288       3917        761       4899       4258        675       4749       4457       1055       5652       3574        842       5035       4153        689       4797       4378        810       4996       4307        899       5382       3925        814       5072       4371        689       4884       4471        838       5161       4107        890       5411       3916        669       4826       4586        708       4980       4265        961       5428       3987        705       4987       4394       1015       5593       3690       1093       5629       3747        972       5387       3998        765       5071       4322        686       4917       4468        855       5162       4124        903       5419       3929        976       5415       3954        733       5108       4212       1087       5584       3762        901       5426       3915        744       4988       4328       1100       5529       3895        922       4967       4479        876       4981       4544       1022       5341       4048       1041       5312       4175        816       4876       4598       1182       5671       3701        951       5196       4262       1040       5358       4066        858       4909       4547       1146       5623       3821       1092       5367       4118        949       5095       4428       1129       5559       3804        920       4997       4504       1128       5507       3929       1022       5256       4276        724       4823       4641        855       4889       4544        813       4832       4709
854       5038       4333        881       5093       4378       1089       5342       4115        859       4931       4548       1020       5396       4046       1083       5354       4061       1125       5535       3926       1194       5682       3731       1013       5362       4045        957       5140       4268       1005       5368       4088       1172       5606       3847       1078       5482       3879        930       5059       4409       1005       5320       4148        980       5136       4291        771       4767       4694       1084       5495       3891        814       4891       4596        952       5191       4206        924       5162       4235       1144       5536       3951       1098       5481       3905       1165       5642       3819        872       5139       4288       1074       5368       4100       1110       5551       3917       1012       5335       4026       1048       5379       4074        905       4994       4462        785       4934       4474        865       4985       4422           881       5053       4360       1065       5382       4079        998       5391       4024        895       4990       4452        828       4962       4517        841       5059       4398       1083       5362       4109        865       5027       4344        931       5113       4428       1007       5400       4033        942       5043       4421       1201       5656       3876       1033       5377       4059        859       5058       4443        906       5146       4217       1148       5574       3949       1043       5416       4069        914       5051       4393       1144       5637       3819        848       4992       4432       1137       5520       3938        933       5185       4187        759       4798       4676        839       4959       4528        727       4766       4623        871       4986       4539        997       5423       4023       1051       5347       4077       1115       5343       4249        955       4982       4539        912       4889       4694       1249       5619       3903       1250       5488       4051       1255       5636       3930        929       4991       4513       1001       5064       4498       1179       5328       4205        973       5122       4470       1081       5339       4392       1218       5667       4025        915       4954       4697        873       4948       4769       1238       5743       3892       1098       5373       4352       1217       5595       4018        961       5037       4650        834       4943       4730       1035       5224       4514       1167       5540       4103       1260       5670       4061       1152       5435       4178        945       5122       4529       1062       5332       4373        902       5002       4591        997       5155       4581       1109       5459       4135       1016       5170       4573       1206       5499       4184        993       5216       4472       1253       5712       3928       1196       5501       4210        982       5074       4566       1196       5650       3991        996       5080       4553       1113       5530       4139       1040       5155       4519        996       5205       4493       1184       5456       4210       1205       5654       4012       1312       5711       3987        843       4935       4739       1283       5591       4078        889       5055       4578       1172       5443       4198        965       5178       4462       1246       5670       4041       1317       5786       3854        895       4870       4818       1216       5660       4023        910       4937       4806       1054       5271       4323       1203       5507       4229       1237       5681       3912       1271       5627       4078        984       5083       4568       1111       5476       4137        975       5067       4664       1156       5461       4182       1319       5744       3994        947       4944       4729       1318       5832       3855        822       4868       4745       1276       5648       4077       1095       5286       4349        990       5059       4658       1134       5491       4160       1011       5097       4595       1110       5310       4421        961       5152       4440        847       5189       4344       1054       5482       4080        888       5137       4367        921       5148       4418       1014       5499       4040        896       5147       4375       1232       5814       3769       1028       5461       4060       1164       5621       3971       1153       5350       4407       1046       5060       4630       1064       5011       4753       1385       5738       4060       1069       5078       4653       1214       5483       4240       1104       5197       4601       1101       5140       4580       1363       5720       4038       1460       5801       3979       1299       5663       4100       1439       5824       3934       1368       5639       4169       1207       5440       4233       1140       5159       4637       1318       5630       4125       1340       5651       4147       1347       5685       4022       1294       5501       4320       1070       5129       4549       1409       5746       4084       1045       5102       4629       1164       5312       4418       1311       5631       4118       1420       5689       4074        992       4967       4774       1382       5828       3901       1341       5602       4142       1242       5472       4268       1467       5881       3986       1296       5713       4103       1416       5780       4091       1389       5936       3908       1375       5739       4176       1261       5532       4293       1119       5253       4703       1051       5251       4548        1304       5627       4330       1149       5249       4646       1050       5038       4832       1387       5964       3906       1144       5440       4455       1303       5628       4329       1020       5090       4709       1144       5315       4641       1212       5587       4238       1088       5270       4645        984       4964       4880       1071       5321       4550       1406       5873       3943       1219       5622       4245       1164       5598       4142       1009       5352       4392       1147       5499       4230       1277       5828       3913       1133       5652       4111        975       5190       4559       1213       5710       4020       1150       5555       4176       1204       5648       4182        956       5243       4435       1294       5852       3969       1131       5562       4145        995       5219       4579       1237       5723       4032       1019       5361       4435       1116       5531       4142       1169       5625       4183       1272       5838       3920       1319       5808       3955       1210       5757       4023        985       5216       4542        1118       5576       4144       1364       5939       3859       1064       5348       4375       1201       5729       4002       1297       5826       3972       1129       5609       4155       1285       5910       3780       1253       5703       4054       1318       5610       4344        177       5269       4656        515       5827       4190        155       5228       4739        289       5387       4543        430       5723       4237       1450       5832       4104        124       5107       4906        536       5913       4055        429       5699       4230        364       5612       4390        146       5206       4730        284       5382       4595        452       5685       4253        355       5580       4381        523       5847       4177       1385       5711       4186        284       5456       4538        246       5250       4725         61       5007       4978        118       5164       4807        141       5168       4725        249       5292       4728         59       4963       4976       1394       5738       4197     378       5605       4404        349       5566       4327        438       5753       4254        340       5583       4366        361       5550       4387       1311       5604       4337       1227       5560       4253       1274       5613       4252        982       4961       4878       1099       5293       4578       1442       5923       3979       1116       5335       4499       1276       5520       4359       1420       5862       4056       1283       5533       4309       1225       5639       4203       1092       5242       4676       1307       5765       4114       1249       5559       4275       1052       5161       4741       1141       5314       4557       1217       5596       4243       1273       5614       4251       1240       5559       4254       1204       5483       4458       1005       5243       4694       1428       6002       3947       1270       5654       4353       1214       5665       4228       1407       5954       4055       1394       5903       4030       1304       5822       4117       1270       5724       4296       1055       5329       4564       1282       5663       4308       1281       5690       4295       1354       5973       4002       1063       5242       4752       1308       5776       4121       1145       5463       4561       1237       5641       4320       1341       5961       3977       1248       5703       4274       1093       5334       4602       1288       5688       4314       1004       5236       4693       1121       5431       4537       1287       5700       4313       1276       5682       4254       1229       5633       4327
1215       5689       4241       1453       6019       3948       1344       5872       4145       1247       5652       4273       1065       5200       4754        289       5411       4786        256       5363       4753        253       5200       5035        604       6012       4141        567       5783       4368        462       5720       4488        239       5311       4823        411       5536       4722        210       5213       4899        284       5277       4868        447       5699       4473       1129       5347       4713        295       5476       4606        421       5840       4222        385       5636       4411        377       5701       4391       1070       5172       4852        504       5939       4179        517       5991       4036        206       5355       4790       1156       5339       4635        411       5821       4218        508       5901       4183        345       5644       4371        221       5330       4700        227       5344       4724       1314       5687       4340        513       5896       4167        422       5844       4223        390       5667       4404        186       5404       4665        466       5962       4141        405       5818       4206        517       5966       4171       1321       5637       4347        167       5256       4856        500       5964       4175        495       5922       4149
1316       5647       4342        574       5998       4093        409       5875       4216       1440       5874       4115        164       5323       4748        255       5405       4734        491       5946       4166       1061       5141       4843        467       5863       4274         92       5150       4874        247       5359       4744        382       5661       4408        184       5408       4663        487       5905       4162       1324       5713       4350        142       5196       4831        334       5708       4360       1425       5930       4100       1395       5819       4196        192       5413       4671        312       5584       4455       1222       5441       4533        104       5118       5027        402       5818       4209        129       5207       4911        276       5494       4530        274       5507       4585       1385       5855       4192        439       5816       4246        466       5962       4120        395       5639       4421        448       5917       4255       1329       5802       4343        331       5755       4357        225       5476       4782        138       5307       4827        219       5432       4776      1309       5816       4335        378       5797       4356        455       5979       4256        470       5971       4145        525       6018       4179        466       5793       4492        410       5768       4493        599       6033       4253        511       5968       4318        591       6076       4110        250       5324       5032        641       6105       4178        486       5965       4287        613       5998       4288        308       5361       4892        358       5545       4774        428       5748       4454

This file of ciphertext is decrypted next (still in Latex form)

This the messagetext when Bob decrypts the above ciphertext,

% Sample file: math.tex
\documentclass[draft]{sample}

\begin{document}
in first year calculus, we  define intervals such
as $u, v$ and $u, \infty$. Such an interval
is a \emph{neighbourhood} of $a$
if $a$ is in the interval.  Students should
realize that $\infty$ is only
a symbol, not a number. this is important since
we soon introduce concepts
 such as $lim \_{x\to \infty} f(x)$

 when we introduce the derivative
 \[
    \lim_{x \to a} \frac{f(x) - f(a)}{x - a}
 \]
 we assume that the function is defined and
 continuous in a neighbourhood of $a$
 \end {document}

This is the typeset file after running the decrypted ciphertext in Bob's WinEdt 8 LaTeX  editor.

Start:
 In first -year calculus, we define intervals such as (u ,v) and (u, ∞) . Such an interval is in a neighbourhood of 'a' if 'a' is in the interval.  Students should realize that ∞ is only a symbol, not a number.  This is important since we soon introduce concepts such as lim x → ∞ f(x).
  When we introduce the derivative  
lim x → a  (f(x) - f(a)) / x - a,
we assume that the function is defined and continuous in a neighborhood of a. 
Finish:

Summarizing,

This flow-schematic is the outline of a proposal to use 'LaTeX' to enhance secure communications  in two ways, 1) to typeset the decrypted messagetext at encryption time even before it leaves the sending entity as ciphertext and 2) to enable a large swath of extra prose that enables more elegant communications between the entities of a secure communications loop (typically an entire book may be typeset for submission by writers to publishers by this means).

In anticipation of the question may I say that all this extra prose claim here is already available via Unicode but who wants to divert from a normal  ASCII encryption session to searching in Unicode to find the code point values of  unusual characters and symbols that are readily, quickly available and to hand within LaTeX, there for the asking virtually just by typing in the appropriate commands.  

The beauty of this scheme is that while LaTeX itself is fundamentally ASCII-based it  possesses a huge array of *non-ASCII attributes that are available to computer users via a standard keyboard to enhance their encrypted email.  

The beneficiaries of this scheme are most likely to be small time home computer users but main stream users of RSA and AES ciphers are in theory able to use it also.

adacrypt


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-12-11 19:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-11 19:43 The Case for LaTeX to be used as a Bridging Surrogate for ASCII While Running in Ada as Encrypted Text Austin Obyrne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox