/samples/cobdes/cobdes.cob

https://gitlab.com/iladin/open-cobol-contrib · COBOL · 1119 lines · 894 code · 60 blank · 165 comment · 0 complexity · 82251015daa370659bc67b39d2a30118 MD5 · raw file

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. COBDES.
  3. *>**********************************************************************
  4. *> Purpose: DES (Data Encryption Standard) in COBOL
  5. *> http://en.wikipedia.org/wiki/Data_Encryption_Standard
  6. *>
  7. *> Usage: To use this subroutine, simply CALL it as follows:
  8. *> CALL "COBDES" USING COBDES-LNK
  9. *> Fields in COBDES-LNK:
  10. *> <df> - input flag, 0 encryption, 1 decryption
  11. *> <pw> - input password
  12. *> <data-buff> - input / output data block
  13. *>
  14. *> You can use the DES algorithm only with 8 bytes
  15. *> blocks. It is so designed in the early 1970s at IBM.
  16. *> If you have a longer string, then you have to call
  17. *> COBDES with 8 bytes blocks more time. For example
  18. *> you want to encrypt a 40 bytes long message, then
  19. *> you have to call COBDES 5 times.
  20. *>
  21. *> If you want more security, you can encrypt your
  22. *> whole message more times with different passwords
  23. *> one after another. At the decryption you have to
  24. *> use the passwords in reverse order.
  25. *>
  26. *> Author: Laszlo Erdos
  27. *> https://www.facebook.com/wortfee
  28. *>
  29. *> Tectonics: cobc -free cobdes.cob
  30. *>
  31. *> Date-Written: 21-12-1997
  32. *>**********************************************************************
  33. *> Date Change description
  34. *> ========== ==========================================================
  35. *> 04.10.2013 Converted to GnuCOBOL
  36. *>----------------------------------------------------------------------
  37. *> 19.09.2015 Usage extended
  38. *>**********************************************************************
  39. *>**********************************************************************
  40. *> COBDES is free software: you can redistribute it and/or modify it
  41. *> under the terms of the GNU General Public License as published by
  42. *> the Free Software Foundation, either version 3 of the License, or
  43. *> (at your option) any later version.
  44. *>
  45. *> COBDES is distributed in the hope that it will be useful, but
  46. *> WITHOUT ANY WARRANTY; without even the implied warranty of
  47. *> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  48. *> See the GNU General Public License for more details.
  49. *>
  50. *> You should have received a copy of the GNU General Public License
  51. *> along with COBDES.
  52. *> If not, see <http://www.gnu.org/licenses/>.
  53. *>**********************************************************************
  54. ENVIRONMENT DIVISION.
  55. DATA DIVISION.
  56. *>**********************************************************************
  57. WORKING-STORAGE SECTION.
  58. *> Initial permutation.
  59. 01 IP-TABLE-DATA.
  60. *> 1
  61. 03 FILLER PIC 9(2) COMP-5 VALUE 58.
  62. 03 FILLER PIC 9(2) COMP-5 VALUE 50.
  63. 03 FILLER PIC 9(2) COMP-5 VALUE 42.
  64. 03 FILLER PIC 9(2) COMP-5 VALUE 34.
  65. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  66. 03 FILLER PIC 9(2) COMP-5 VALUE 18.
  67. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  68. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  69. *> 2
  70. 03 FILLER PIC 9(2) COMP-5 VALUE 60.
  71. 03 FILLER PIC 9(2) COMP-5 VALUE 52.
  72. 03 FILLER PIC 9(2) COMP-5 VALUE 44.
  73. 03 FILLER PIC 9(2) COMP-5 VALUE 36.
  74. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  75. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  76. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  77. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  78. *> 3
  79. 03 FILLER PIC 9(2) COMP-5 VALUE 62.
  80. 03 FILLER PIC 9(2) COMP-5 VALUE 54.
  81. 03 FILLER PIC 9(2) COMP-5 VALUE 46.
  82. 03 FILLER PIC 9(2) COMP-5 VALUE 38.
  83. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  84. 03 FILLER PIC 9(2) COMP-5 VALUE 22.
  85. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  86. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  87. *> 4
  88. 03 FILLER PIC 9(2) COMP-5 VALUE 64.
  89. 03 FILLER PIC 9(2) COMP-5 VALUE 56.
  90. 03 FILLER PIC 9(2) COMP-5 VALUE 48.
  91. 03 FILLER PIC 9(2) COMP-5 VALUE 40.
  92. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  93. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  94. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  95. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  96. *> 5
  97. 03 FILLER PIC 9(2) COMP-5 VALUE 57.
  98. 03 FILLER PIC 9(2) COMP-5 VALUE 49.
  99. 03 FILLER PIC 9(2) COMP-5 VALUE 41.
  100. 03 FILLER PIC 9(2) COMP-5 VALUE 33.
  101. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  102. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  103. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  104. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  105. *> 6
  106. 03 FILLER PIC 9(2) COMP-5 VALUE 59.
  107. 03 FILLER PIC 9(2) COMP-5 VALUE 51.
  108. 03 FILLER PIC 9(2) COMP-5 VALUE 43.
  109. 03 FILLER PIC 9(2) COMP-5 VALUE 35.
  110. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  111. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  112. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  113. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  114. *> 7
  115. 03 FILLER PIC 9(2) COMP-5 VALUE 61.
  116. 03 FILLER PIC 9(2) COMP-5 VALUE 53.
  117. 03 FILLER PIC 9(2) COMP-5 VALUE 45.
  118. 03 FILLER PIC 9(2) COMP-5 VALUE 37.
  119. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  120. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  121. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  122. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  123. *> 8
  124. 03 FILLER PIC 9(2) COMP-5 VALUE 63.
  125. 03 FILLER PIC 9(2) COMP-5 VALUE 55.
  126. 03 FILLER PIC 9(2) COMP-5 VALUE 47.
  127. 03 FILLER PIC 9(2) COMP-5 VALUE 39.
  128. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  129. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  130. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  131. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  132. 01 IP-TABLE REDEFINES IP-TABLE-DATA.
  133. 03 IP PIC 9(2) COMP-5 OCCURS 64.
  134. *>----------------------------------------------------------------------
  135. *> Final permutation. FP = IP (-1)
  136. 01 FP-TABLE-DATA.
  137. *> 1
  138. 03 FILLER PIC 9(2) COMP-5 VALUE 40.
  139. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  140. 03 FILLER PIC 9(2) COMP-5 VALUE 48.
  141. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  142. 03 FILLER PIC 9(2) COMP-5 VALUE 56.
  143. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  144. 03 FILLER PIC 9(2) COMP-5 VALUE 64.
  145. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  146. *> 2
  147. 03 FILLER PIC 9(2) COMP-5 VALUE 39.
  148. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  149. 03 FILLER PIC 9(2) COMP-5 VALUE 47.
  150. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  151. 03 FILLER PIC 9(2) COMP-5 VALUE 55.
  152. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  153. 03 FILLER PIC 9(2) COMP-5 VALUE 63.
  154. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  155. *> 3
  156. 03 FILLER PIC 9(2) COMP-5 VALUE 38.
  157. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  158. 03 FILLER PIC 9(2) COMP-5 VALUE 46.
  159. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  160. 03 FILLER PIC 9(2) COMP-5 VALUE 54.
  161. 03 FILLER PIC 9(2) COMP-5 VALUE 22.
  162. 03 FILLER PIC 9(2) COMP-5 VALUE 62.
  163. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  164. *> 4
  165. 03 FILLER PIC 9(2) COMP-5 VALUE 37.
  166. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  167. 03 FILLER PIC 9(2) COMP-5 VALUE 45.
  168. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  169. 03 FILLER PIC 9(2) COMP-5 VALUE 53.
  170. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  171. 03 FILLER PIC 9(2) COMP-5 VALUE 61.
  172. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  173. *> 5
  174. 03 FILLER PIC 9(2) COMP-5 VALUE 36.
  175. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  176. 03 FILLER PIC 9(2) COMP-5 VALUE 44.
  177. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  178. 03 FILLER PIC 9(2) COMP-5 VALUE 52.
  179. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  180. 03 FILLER PIC 9(2) COMP-5 VALUE 60.
  181. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  182. *> 6
  183. 03 FILLER PIC 9(2) COMP-5 VALUE 35.
  184. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  185. 03 FILLER PIC 9(2) COMP-5 VALUE 43.
  186. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  187. 03 FILLER PIC 9(2) COMP-5 VALUE 51.
  188. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  189. 03 FILLER PIC 9(2) COMP-5 VALUE 59.
  190. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  191. *> 7
  192. 03 FILLER PIC 9(2) COMP-5 VALUE 34.
  193. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  194. 03 FILLER PIC 9(2) COMP-5 VALUE 42.
  195. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  196. 03 FILLER PIC 9(2) COMP-5 VALUE 50.
  197. 03 FILLER PIC 9(2) COMP-5 VALUE 18.
  198. 03 FILLER PIC 9(2) COMP-5 VALUE 58.
  199. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  200. *> 8
  201. 03 FILLER PIC 9(2) COMP-5 VALUE 33.
  202. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  203. 03 FILLER PIC 9(2) COMP-5 VALUE 41.
  204. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  205. 03 FILLER PIC 9(2) COMP-5 VALUE 49.
  206. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  207. 03 FILLER PIC 9(2) COMP-5 VALUE 57.
  208. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  209. 01 FP-TABLE REDEFINES FP-TABLE-DATA.
  210. 03 FP PIC 9(2) COMP-5 OCCURS 64.
  211. *>----------------------------------------------------------------------
  212. *> Permuted key selection bits.
  213. *> The results are in the C and D arrays.
  214. *> Every 8-bits are skipped, they are only for parity checking.
  215. 01 PC1-C-TABLE-DATA.
  216. *> 1
  217. 03 FILLER PIC 9(2) COMP-5 VALUE 57.
  218. 03 FILLER PIC 9(2) COMP-5 VALUE 49.
  219. 03 FILLER PIC 9(2) COMP-5 VALUE 41.
  220. 03 FILLER PIC 9(2) COMP-5 VALUE 33.
  221. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  222. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  223. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  224. *> 2
  225. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  226. 03 FILLER PIC 9(2) COMP-5 VALUE 58.
  227. 03 FILLER PIC 9(2) COMP-5 VALUE 50.
  228. 03 FILLER PIC 9(2) COMP-5 VALUE 42.
  229. 03 FILLER PIC 9(2) COMP-5 VALUE 34.
  230. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  231. 03 FILLER PIC 9(2) COMP-5 VALUE 18.
  232. *> 3
  233. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  234. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  235. 03 FILLER PIC 9(2) COMP-5 VALUE 59.
  236. 03 FILLER PIC 9(2) COMP-5 VALUE 51.
  237. 03 FILLER PIC 9(2) COMP-5 VALUE 43.
  238. 03 FILLER PIC 9(2) COMP-5 VALUE 35.
  239. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  240. *> 4
  241. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  242. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  243. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  244. 03 FILLER PIC 9(2) COMP-5 VALUE 60.
  245. 03 FILLER PIC 9(2) COMP-5 VALUE 52.
  246. 03 FILLER PIC 9(2) COMP-5 VALUE 44.
  247. 03 FILLER PIC 9(2) COMP-5 VALUE 36.
  248. 01 PC1-C-TABLE REDEFINES PC1-C-TABLE-DATA.
  249. 03 PC1-C1 PIC 9(2) COMP-5 OCCURS 28.
  250. *>----------------------------------------------------------------------
  251. 01 PC1-D-TABLE-DATA.
  252. *> 1
  253. 03 FILLER PIC 9(2) COMP-5 VALUE 63.
  254. 03 FILLER PIC 9(2) COMP-5 VALUE 55.
  255. 03 FILLER PIC 9(2) COMP-5 VALUE 47.
  256. 03 FILLER PIC 9(2) COMP-5 VALUE 39.
  257. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  258. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  259. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  260. *> 2
  261. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  262. 03 FILLER PIC 9(2) COMP-5 VALUE 62.
  263. 03 FILLER PIC 9(2) COMP-5 VALUE 54.
  264. 03 FILLER PIC 9(2) COMP-5 VALUE 46.
  265. 03 FILLER PIC 9(2) COMP-5 VALUE 38.
  266. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  267. 03 FILLER PIC 9(2) COMP-5 VALUE 22.
  268. *> 3
  269. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  270. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  271. 03 FILLER PIC 9(2) COMP-5 VALUE 61.
  272. 03 FILLER PIC 9(2) COMP-5 VALUE 53.
  273. 03 FILLER PIC 9(2) COMP-5 VALUE 45.
  274. 03 FILLER PIC 9(2) COMP-5 VALUE 37.
  275. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  276. *> 4
  277. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  278. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  279. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  280. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  281. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  282. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  283. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  284. 01 PC1-D-TABLE REDEFINES PC1-D-TABLE-DATA.
  285. 03 PC1-D1 PIC 9(2) COMP-5 OCCURS 28.
  286. *>----------------------------------------------------------------------
  287. *> For the key scheduler.
  288. *> Rotate order of cycle.
  289. 01 SS-TABLE-DATA.
  290. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  291. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  292. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  293. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  294. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  295. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  296. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  297. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  298. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  299. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  300. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  301. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  302. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  303. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  304. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  305. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  306. 01 SS-TABLE REDEFINES SS-TABLE-DATA.
  307. 03 SS PIC 9(2) COMP-5 OCCURS 16.
  308. *>----------------------------------------------------------------------
  309. *> Permuted selection for the 48-bits key cycle.
  310. *> The result is in the key scheduler.
  311. 01 PC2-C-TABLE-DATA.
  312. *> 1
  313. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  314. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  315. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  316. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  317. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  318. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  319. *> 2
  320. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  321. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  322. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  323. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  324. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  325. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  326. *> 3
  327. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  328. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  329. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  330. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  331. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  332. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  333. *> 4
  334. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  335. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  336. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  337. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  338. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  339. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  340. 01 PC2-C-TABLE REDEFINES PC2-C-TABLE-DATA.
  341. 03 PC2-C2 PIC 9(2) COMP-5 OCCURS 24.
  342. *>----------------------------------------------------------------------
  343. 01 PC2-D-TABLE-DATA.
  344. *> 1
  345. 03 FILLER PIC 9(2) COMP-5 VALUE 41.
  346. 03 FILLER PIC 9(2) COMP-5 VALUE 52.
  347. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  348. 03 FILLER PIC 9(2) COMP-5 VALUE 37.
  349. 03 FILLER PIC 9(2) COMP-5 VALUE 47.
  350. 03 FILLER PIC 9(2) COMP-5 VALUE 55.
  351. *> 2
  352. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  353. 03 FILLER PIC 9(2) COMP-5 VALUE 40.
  354. 03 FILLER PIC 9(2) COMP-5 VALUE 51.
  355. 03 FILLER PIC 9(2) COMP-5 VALUE 45.
  356. 03 FILLER PIC 9(2) COMP-5 VALUE 33.
  357. 03 FILLER PIC 9(2) COMP-5 VALUE 48.
  358. *> 3
  359. 03 FILLER PIC 9(2) COMP-5 VALUE 44.
  360. 03 FILLER PIC 9(2) COMP-5 VALUE 49.
  361. 03 FILLER PIC 9(2) COMP-5 VALUE 39.
  362. 03 FILLER PIC 9(2) COMP-5 VALUE 56.
  363. 03 FILLER PIC 9(2) COMP-5 VALUE 34.
  364. 03 FILLER PIC 9(2) COMP-5 VALUE 53.
  365. *> 4
  366. 03 FILLER PIC 9(2) COMP-5 VALUE 46.
  367. 03 FILLER PIC 9(2) COMP-5 VALUE 42.
  368. 03 FILLER PIC 9(2) COMP-5 VALUE 50.
  369. 03 FILLER PIC 9(2) COMP-5 VALUE 36.
  370. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  371. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  372. 01 PC2-D-TABLE REDEFINES PC2-D-TABLE-DATA.
  373. 03 PC2-D2 PIC 9(2) COMP-5 OCCURS 24.
  374. *>----------------------------------------------------------------------
  375. *> C and D arrays for creation of the key scheduler.
  376. 01 C-TABLE.
  377. 03 C PIC 9(2) COMP-5 OCCURS 28.
  378. 01 D-TABLE.
  379. 03 D PIC 9(2) COMP-5 OCCURS 28.
  380. *>----------------------------------------------------------------------
  381. *> The key scheduler, created from the password.
  382. 01 KS-TABLE.
  383. 03 KS-ROW OCCURS 16.
  384. 05 KS-COL OCCURS 48.
  385. 07 KS PIC 9(2) COMP-5.
  386. *>----------------------------------------------------------------------
  387. *> This table extends 32-bits to 48-bits.
  388. 01 EX-TABLE-DATA.
  389. *> 1
  390. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  391. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  392. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  393. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  394. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  395. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  396. *> 2
  397. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  398. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  399. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  400. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  401. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  402. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  403. *> 3
  404. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  405. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  406. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  407. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  408. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  409. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  410. *> 4
  411. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  412. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  413. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  414. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  415. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  416. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  417. *> 5
  418. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  419. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  420. 03 FILLER PIC 9(2) COMP-5 VALUE 18.
  421. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  422. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  423. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  424. *> 6
  425. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  426. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  427. 03 FILLER PIC 9(2) COMP-5 VALUE 22.
  428. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  429. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  430. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  431. *> 7
  432. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  433. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  434. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  435. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  436. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  437. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  438. *> 8
  439. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  440. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  441. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  442. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  443. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  444. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  445. 01 EX-TABLE REDEFINES EX-TABLE-DATA.
  446. 03 EX PIC 9(2) COMP-5 OCCURS 48.
  447. *>----------------------------------------------------------------------
  448. *> 8 S-boxes.
  449. 01 S-TABLE-DATA.
  450. *> 1-1/4
  451. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  452. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  453. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  454. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  455. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  456. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  457. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  458. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  459. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  460. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  461. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  462. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  463. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  464. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  465. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  466. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  467. *> 1-2/4
  468. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  469. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  470. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  471. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  472. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  473. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  474. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  475. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  476. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  477. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  478. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  479. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  480. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  481. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  482. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  483. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  484. *> 1-3/4
  485. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  486. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  487. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  488. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  489. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  490. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  491. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  492. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  493. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  494. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  495. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  496. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  497. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  498. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  499. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  500. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  501. *> 1-4/4
  502. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  503. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  504. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  505. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  506. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  507. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  508. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  509. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  510. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  511. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  512. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  513. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  514. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  515. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  516. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  517. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  518. *> 2-1/4
  519. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  520. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  521. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  522. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  523. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  524. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  525. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  526. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  527. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  528. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  529. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  530. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  531. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  532. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  533. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  534. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  535. *> 2-2/4
  536. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  537. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  538. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  539. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  540. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  541. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  542. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  543. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  544. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  545. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  546. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  547. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  548. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  549. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  550. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  551. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  552. *> 2-3/4
  553. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  554. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  555. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  556. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  557. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  558. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  559. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  560. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  561. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  562. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  563. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  564. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  565. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  566. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  567. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  568. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  569. *> 2-4/4
  570. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  571. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  572. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  573. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  574. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  575. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  576. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  577. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  578. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  579. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  580. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  581. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  582. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  583. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  584. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  585. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  586. *> 3-1/4
  587. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  588. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  589. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  590. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  591. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  592. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  593. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  594. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  595. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  596. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  597. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  598. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  599. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  600. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  601. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  602. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  603. *> 3-2/4
  604. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  605. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  606. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  607. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  608. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  609. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  610. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  611. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  612. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  613. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  614. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  615. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  616. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  617. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  618. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  619. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  620. *> 3-3/4
  621. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  622. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  623. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  624. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  625. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  626. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  627. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  628. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  629. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  630. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  631. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  632. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  633. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  634. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  635. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  636. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  637. *> 3-4/4
  638. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  639. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  640. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  641. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  642. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  643. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  644. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  645. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  646. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  647. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  648. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  649. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  650. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  651. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  652. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  653. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  654. *> 4-1/4
  655. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  656. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  657. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  658. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  659. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  660. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  661. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  662. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  663. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  664. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  665. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  666. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  667. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  668. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  669. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  670. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  671. *> 4-2/4
  672. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  673. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  674. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  675. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  676. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  677. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  678. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  679. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  680. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  681. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  682. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  683. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  684. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  685. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  686. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  687. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  688. *> 4-3/4
  689. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  690. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  691. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  692. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  693. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  694. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  695. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  696. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  697. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  698. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  699. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  700. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  701. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  702. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  703. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  704. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  705. *> 4-4/4
  706. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  707. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  708. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  709. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  710. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  711. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  712. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  713. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  714. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  715. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  716. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  717. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  718. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  719. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  720. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  721. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  722. *> 5-1/4
  723. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  724. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  725. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  726. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  727. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  728. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  729. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  730. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  731. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  732. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  733. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  734. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  735. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  736. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  737. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  738. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  739. *> 5-2/4
  740. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  741. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  742. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  743. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  744. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  745. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  746. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  747. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  748. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  749. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  750. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  751. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  752. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  753. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  754. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  755. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  756. *> 5-3/4
  757. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  758. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  759. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  760. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  761. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  762. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  763. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  764. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  765. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  766. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  767. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  768. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  769. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  770. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  771. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  772. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  773. *> 5-4/4
  774. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  775. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  776. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  777. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  778. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  779. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  780. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  781. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  782. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  783. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  784. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  785. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  786. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  787. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  788. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  789. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  790. *> 6-1/4
  791. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  792. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  793. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  794. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  795. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  796. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  797. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  798. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  799. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  800. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  801. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  802. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  803. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  804. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  805. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  806. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  807. *> 6-2/4
  808. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  809. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  810. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  811. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  812. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  813. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  814. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  815. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  816. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  817. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  818. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  819. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  820. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  821. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  822. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  823. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  824. *> 6-3/4
  825. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  826. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  827. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  828. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  829. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  830. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  831. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  832. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  833. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  834. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  835. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  836. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  837. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  838. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  839. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  840. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  841. *> 6-4/4
  842. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  843. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  844. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  845. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  846. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  847. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  848. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  849. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  850. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  851. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  852. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  853. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  854. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  855. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  856. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  857. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  858. *> 7-1/4
  859. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  860. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  861. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  862. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  863. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  864. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  865. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  866. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  867. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  868. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  869. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  870. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  871. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  872. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  873. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  874. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  875. *> 7-2/4
  876. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  877. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  878. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  879. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  880. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  881. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  882. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  883. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  884. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  885. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  886. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  887. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  888. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  889. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  890. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  891. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  892. *> 7-3/4
  893. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  894. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  895. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  896. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  897. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  898. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  899. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  900. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  901. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  902. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  903. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  904. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  905. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  906. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  907. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  908. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  909. *> 7-4/4
  910. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  911. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  912. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  913. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  914. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  915. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  916. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  917. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  918. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  919. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  920. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  921. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  922. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  923. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  924. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  925. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  926. *> 8-1/4
  927. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  928. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  929. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  930. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  931. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  932. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  933. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  934. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  935. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  936. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  937. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  938. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  939. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  940. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  941. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  942. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  943. *> 8-2/4
  944. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  945. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  946. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  947. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  948. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  949. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  950. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  951. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  952. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  953. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  954. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  955. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  956. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  957. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  958. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  959. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  960. *> 8-3/4
  961. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  962. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  963. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  964. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  965. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  966. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  967. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  968. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  969. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  970. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  971. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  972. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  973. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  974. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  975. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  976. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  977. *> 8-4/4
  978. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  979. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  980. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  981. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  982. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  983. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  984. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  985. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  986. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  987. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  988. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  989. 03 FILLER PIC 9(2) COMP-5 VALUE 0.
  990. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  991. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  992. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  993. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  994. 01 S-TABLE REDEFINES S-TABLE-DATA.
  995. 03 S-ROW OCCURS 8.
  996. 05 S-COL OCCURS 64.
  997. 07 S PIC 9(2) COMP-5.
  998. *>----------------------------------------------------------------------
  999. *> Permutation of the S-box outputs.
  1000. 01 P-TABLE-DATA.
  1001. *> 1
  1002. 03 FILLER PIC 9(2) COMP-5 VALUE 16.
  1003. 03 FILLER PIC 9(2) COMP-5 VALUE 7.
  1004. 03 FILLER PIC 9(2) COMP-5 VALUE 20.
  1005. 03 FILLER PIC 9(2) COMP-5 VALUE 21.
  1006. *> 2
  1007. 03 FILLER PIC 9(2) COMP-5 VALUE 29.
  1008. 03 FILLER PIC 9(2) COMP-5 VALUE 12.
  1009. 03 FILLER PIC 9(2) COMP-5 VALUE 28.
  1010. 03 FILLER PIC 9(2) COMP-5 VALUE 17.
  1011. *> 3
  1012. 03 FILLER PIC 9(2) COMP-5 VALUE 1.
  1013. 03 FILLER PIC 9(2) COMP-5 VALUE 15.
  1014. 03 FILLER PIC 9(2) COMP-5 VALUE 23.
  1015. 03 FILLER PIC 9(2) COMP-5 VALUE 26.
  1016. *> 4
  1017. 03 FILLER PIC 9(2) COMP-5 VALUE 5.
  1018. 03 FILLER PIC 9(2) COMP-5 VALUE 18.
  1019. 03 FILLER PIC 9(2) COMP-5 VALUE 31.
  1020. 03 FILLER PIC 9(2) COMP-5 VALUE 10.
  1021. *> 5
  1022. 03 FILLER PIC 9(2) COMP-5 VALUE 2.
  1023. 03 FILLER PIC 9(2) COMP-5 VALUE 8.
  1024. 03 FILLER PIC 9(2) COMP-5 VALUE 24.
  1025. 03 FILLER PIC 9(2) COMP-5 VALUE 14.
  1026. *> 6
  1027. 03 FILLER PIC 9(2) COMP-5 VALUE 32.
  1028. 03 FILLER PIC 9(2) COMP-5 VALUE 27.
  1029. 03 FILLER PIC 9(2) COMP-5 VALUE 3.
  1030. 03 FILLER PIC 9(2) COMP-5 VALUE 9.
  1031. *> 7
  1032. 03 FILLER PIC 9(2) COMP-5 VALUE 19.
  1033. 03 FILLER PIC 9(2) COMP-5 VALUE 13.
  1034. 03 FILLER PIC 9(2) COMP-5 VALUE 30.
  1035. 03 FILLER PIC 9(2) COMP-5 VALUE 6.
  1036. *> 8
  1037. 03 FILLER PIC 9(2) COMP-5 VALUE 22.
  1038. 03 FILLER PIC 9(2) COMP-5 VALUE 11.
  1039. 03 FILLER PIC 9(2) COMP-5 VALUE 4.
  1040. 03 FILLER PIC 9(2) COMP-5 VALUE 25.
  1041. 01 P-TABLE REDEFINES P-TABLE-DATA.
  1042. 03 P PIC 9(2) COMP-5 OCCURS 32.
  1043. *>----------------------------------------------------------------------
  1044. *> The two sides of the splitted block.
  1045. 01 LEFT-RIGHT-TABLE.
  1046. 03 LR-TABLE PIC 9(2) COMP-5 OCCURS 64.
  1047. 01 LR-TABLE-RE REDEFINES LEFT-RIGHT-TABLE.
  1048. 03 LLEFT PIC 9(2) COMP-5 OCCURS 32.
  1049. 03 RRIGHT PIC 9(2) COMP-5 OCCURS 32.
  1050. *>----------------------------------------------------------------------
  1051. *> Left half block temp storage.
  1052. 01 TEMPL-TABLE.
  1053. 03 TEMPL PIC 9(2) COMP-5 OCCURS 32.
  1054. *>----------------------------------------------------------------------
  1055. *> This 32-bits block will be created from
  1056. *> the right half block and the key scheduler.
  1057. 01 F-TABLE.
  1058. 03 F PIC 9(2) COMP-5 OCCURS 32.
  1059. *>---------------------------------------------------------------