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.203.98 with SMTP id e62mr10017978yho.56.1418327035968; Thu, 11 Dec 2014 11:43:55 -0800 (PST) X-Received: by 10.140.19.108 with SMTP id 99mr23573qgg.34.1418327035945; Thu, 11 Dec 2014 11:43:55 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!s7no5881474qap.1!news-out.google.com!r1ni50qat.1!nntp.google.com!w8no6373047qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 11 Dec 2014 11:43:55 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.80.153.30; posting-account=pmkN8QoAAAAtIhXRUfydb0SCISnwaeyg NNTP-Posting-Host: 5.80.153.30 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <6162b157-978e-4075-a276-739e29d07b55@googlegroups.com> Subject: The Case for LaTeX to be used as a Bridging Surrogate for ASCII While Running in Ada as Encrypted Text. From: Austin Obyrne Injection-Date: Thu, 11 Dec 2014 19:43:55 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 29543 X-Received-Body-CRC: 2701866012 Xref: news.eternal-september.org comp.lang.ada:23967 Date: 2014-12-11T11:43:55-08:00 List-Id: 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 lang= uage for encrypting secure communications and is the language in which my e= xperiments 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 revelatio= ns and the revelation that NSA can pressurise software manufacturers and IS= P'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 goin= g to come anyway just as a natural outcome of ambitious progress so it is s= ensible 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 deve= loped several theoretically unbreakable forms of cryptography for the Ada p= rogramming language that will run on these tablets and the objective here i= s 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 th= e NSA can do. There are limitations to what ASCII can do in terms of flowery text and enc= rypting mathematics is out of the question altogether unless one is prepare= d to divert to Unicode in the middle of an ASCII based communication but th= is to-ing and fro-ing between ASCII nad Unicode is considered just not acce= ptable 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 an= y 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 considere= d 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 s= o that it will open at the receiving end of a communications loop in a pred= etermined format that they wish to happen. Considering both of these limitations it must be said that ASCII is insuffi= cient and only rudimentary formatting of communications is feasible. LaTeX. This is a type setting language that while being implemented in ASCII is ab= le to effortlessly output a vast array of non-ASCII attributes as standard = fare. Any body who is familiar with this typesetting language will know th= at 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 e= xtra prose is far greater than anything ASCII can provide and of course for= matting by typesetting commands is par for the course but LaTeX doesn't for= get its roots - LaTeX is rock solid based in ASCII and ASCII implements eve= ry 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 o= f LaTeX that while providing huge extra prose and prepared formatting by me= ans of built in typesetting commands Latex is at the same time also quite e= asily encipherable as a file of pure ASCII characters on its own by means o= f several ciphers that are already up and running in Ada (or indeed any lan= guage but preferably in Ada). How it Works. I use a WinEdt8 editor as the LaTeX editor and I encrypt a file for encrypt= ion 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 se= nt 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 i= nto his WinEdt8 editor where he runs it as the text file that the sending e= ntity (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 *PDFLaT= eX file) =20 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 tex= t they are controlling. It also means using an extra editor to the AdaGide= editor (the additional WinEdt8 editor ). This may seem a bit convoluted b= ut 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 "Mo= re Math into LaTeX" by G. Cratzer - I am sure the author won't mind my doin= g 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, =E2=88= =9E) . Such an interval is in a neighbourhood of 'a' if 'a' is in the inter= val. Students should realize that =E2=88=9E is only a symbol, not a number= . This is important since we soon introduce concepts such as lim x =E2=86= =92 =E2=88=9E f(x). When we introduce the derivative =20 lim x =E2=86=92 a (f(x) - f(a)) / x -a, we assume that the function is defined and continuous in a neighborhood of = a.=20 Finish: This is the corresponding source file that is keyed in to the WinEdt 8 edit= or 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 th= e cipher, "Skew Line Encryptions".=20 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 89= 8 5238 3912 831 5017 4310 688 4= 668 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 37= 60 909 5235 3887 1101 5506 3755 1= 030 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 48= 88 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 357= 3 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 96= 7 5464 3621 1109 5400 3916 1263 5= 559 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 44= 33 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 70= 0 4630 4596 1098 5589 3617 637 4= 738 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 37= 64 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 69= 6 4871 4385 623 4656 4519 814 4= 995 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 41= 07 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 90= 3 5419 3929 976 5415 3954 733 5= 108 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 42= 62 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 81= 3 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 56= 06 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 390= 5 1165 5642 3819 872 5139 4288 1= 074 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 50= 58 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 462= 3 871 4986 4539 997 5423 4023 1= 051 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 53= 39 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 406= 1 1152 5435 4178 945 5122 4529 1= 062 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 50= 80 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 446= 2 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 57= 44 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 434= 4 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 54= 83 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 414= 7 1347 5685 4022 1294 5501 4320 1= 070 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 57= 13 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 44= 55 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 114= 7 5499 4230 1277 5828 3913 1133 5= 652 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 41= 42 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 12= 85 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 569= 9 4230 364 5612 4390 146 5206 4= 730 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 560= 5 4404 349 5566 4327 438 5753 4= 254 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 12= 83 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 524= 3 4694 1428 6002 3947 1270 5654 4= 353 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 11= 45 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 56= 7 5783 4368 462 5720 4488 239 5= 311 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 41= 79 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 39= 0 5667 4404 186 5404 4665 466 5= 962 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 9= 2 5150 4874 247 5359 4744 382 5= 661 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 50= 27 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 22= 5 5476 4782 138 5307 4827 219 5= 432 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 503= 2 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 Wi= nEdt 8 LaTeX editor. Start: In first -year calculus, we define intervals such as (u ,v) and (u, =E2=88= =9E) . Such an interval is in a neighbourhood of 'a' if 'a' is in the inter= val. Students should realize that =E2=88=9E is only a symbol, not a number= . This is important since we soon introduce concepts such as lim x =E2=86= =92 =E2=88=9E f(x). When we introduce the derivative =20 lim x =E2=86=92 a (f(x) - f(a)) / x - a, we assume that the function is defined and continuous in a neighborhood of = a.=20 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 com= munications between the entities of a secure communications loop (typically= an entire book may be typeset for submission by writers to publishers by t= his means). In anticipation of the question may I say that all this extra prose claim h= ere 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 va= lues 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. =20 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 availab= le to computer users via a standard keyboard to enhance their encrypted ema= il. =20 The beneficiaries of this scheme are most likely to be small time home comp= uter users but main stream users of RSA and AES ciphers are in theory able = to use it also. adacrypt