home *** CD-ROM | disk | FTP | other *** search
/ Forum of Incident Response & Security Teams / Forum_of_Incident_Response_and_Security_Teams_FIRST_October_1994.iso / papers / crypto / skipjack.txt < prev    next >
Text File  |  1994-06-29  |  27KB  |  598 lines

  1.                             SKIPJACK Review
  2.                                     
  3.                              Interim Report
  4.                                     
  5.                         The SKIPJACK Algorithm
  6.  
  7.  
  8.            Ernest F. Brickell, Sandia National Laboratories
  9.                Dorothy E. Denning, Georgetown University
  10.             Stephen T. Kent, BBN Communications Corporation
  11.                           David P. Maher, AT&T
  12.                   Walter Tuchman, Amperif Corporation
  13.                                     
  14.                               July 28, 1993
  15.  
  16.                             (copyright 1993)
  17.  
  18.  
  19. Executive Summary
  20.  
  21. The objective of the SKIPJACK review was to provide a mechanism whereby
  22. persons outside the government could evaluate the strength of the
  23. classified encryption algorithm used in the escrowed encryption devices
  24. and publicly report their findings.  Because SKIPJACK is but one
  25. component of a large, complex system, and because the security of
  26. communications encrypted with SKIPJACK depends on the security of the
  27. system as a whole, the review was extended to encompass other
  28. components of the system.  The purpose of this Interim Report is to
  29. report on our evaluation of the SKIPJACK algorithm.  A later Final
  30. Report will address the broader system issues.
  31.  
  32. The results of our evaluation of the SKIPJACK algorithm are as
  33. follows:
  34.  
  35.   1. Under an assumption that the cost of processing power is halved
  36.      every eighteen months, it will be 36 years before the cost of
  37.      breaking SKIPJACK by exhaustive search will be equal to the cost
  38.      of breaking DES today.  Thus, there is no significant risk that
  39.      SKIPJACK will be broken by exhaustive search in the next 30-40
  40.      years.
  41.  
  42.   2. There is no significant risk that SKIPJACK can be broken through a
  43.      shortcut method of attack.
  44.  
  45.   3. While the internal structure of SKIPJACK must be classified in
  46.      order to protect law enforcement and national security objectives,
  47.      the strength of SKIPJACK against a cryptanalytic attack does not
  48.      depend on the secrecy of the algorithm.
  49.  
  50.  
  51.  
  52. 1.  Background
  53.  
  54. On April 16, the President announced a new technology initiative aimed
  55. at providing a high level of security for sensitive, unclassified
  56. communications, while enabling lawfully authorized intercepts of
  57. telecommunications by law enforcement officials for criminal
  58. investigations.  The initiative includes several components:
  59.  
  60.     A classified encryption/decryption algorithm called "SKIPJACK."
  61.  
  62.     Tamper-resistant cryptographic devices (e.g., electronic chips),
  63.     each of which contains SKIPJACK, classified control software, a
  64.     device identification number, a family key used by law enforcement,
  65.     and a device unique key that unlocks the session key used to
  66.     encrypt a particular communication.
  67.  
  68.     A secure facility for generating device unique keys and programming
  69.     the devices with the classified algorithms, identifiers, and keys.
  70.  
  71.     Two escrow agents that each hold a component of every device unique
  72.     key.  When combined, those two components form the device unique
  73.     key.
  74.  
  75.     A law enforcement access field (LEAF), which enables an authorized
  76.     law enforcement official to recover the session key.  The LEAF is
  77.     created by a device at the start of an encrypted communication and
  78.     contains the session key encrypted under the device unique key
  79.     together with the device identifier, all encrypted under the family
  80.     key.
  81.  
  82.     LEAF decoders that allow an authorized law enforcement official to
  83.     extract the device identifier and encrypted session key from an
  84.     intercepted LEAF.  The identifier is then sent to the escrow
  85.     agents, who return the components of the corresponding device
  86.     unique key.  Once obtained, the components are used to reconstruct
  87.     the device unique key, which is then used to decrypt the session
  88.     key.
  89.  
  90. This report reviews the security provided by the first component,
  91. namely the SKIPJACK algorithm.  The review was performed pursuant to
  92. the President's direction that "respected experts from outside the
  93. government will be offered access to the confidential details of the
  94. algorithm to assess its capabilities and publicly report their
  95. finding."  The Acting Director of the National Institute of Standards
  96. and Technology (NIST) sent letters of invitation to potential
  97. reviewers.  The authors of this report accepted that invitation.
  98.  
  99. We attended an initial meeting at the Institute for Defense Analyses
  100. Supercomputing Research Center (SRC) from June 21-23.  At that meeting,
  101. the designer of SKIPJACK provided a complete, detailed description of
  102. the algorithm, the rationale for each feature, and the history of the
  103. design.  The head of the NSA evaluation team described the evaluation
  104. process and its results.  Other NSA staff briefed us on the LEAF
  105. structure and protocols for use, generation of device keys, protection
  106. of the devices against reverse engineering, and NSA's history in the
  107. design and evaluation of encryption methods contained in SKIPJACK.
  108. Additional NSA and NIST staff were present at the meeting to answer our
  109. questions and provide assistance.  All staff members were forthcoming
  110. in providing us with requested information.
  111.  
  112. At the June meeting, we agreed to integrate our individual evaluations
  113. into this joint report.  We also agreed to reconvene at SRC from July
  114. 19-21 for further discussions and to complete a draft of the report.
  115. In the interim, we undertook independent tasks according to our
  116. individual interests and availability.  Ernest Brickell specified a
  117. suite of tests for evaluating SKIPJACK.  Dorothy Denning worked at NSA
  118. on the refinement and execution of these and other tests that took into
  119. account suggestions solicited from Professor Martin Hellman at Stanford
  120. University.  NSA staff assisted with the programming and execution of
  121. these tests.  Denning also analyzed the structure of SKIPJACK and its
  122. susceptibility to differential cryptanalysis.  Stephen Kent visited NSA
  123. to explore in more detail how SKIPJACK compared with NSA encryption
  124. algorithms that he already knew and that were used to protect
  125. classified data.  David Maher developed a risk assessment approach
  126. while continuing his ongoing work on the use of the encryption chip in
  127. the AT&T Telephone Security Device.  Walter Tuchman investigated the
  128. anti-reverse engineering properties of the chips.
  129.  
  130. We investigated more than just SKIPJACK because the security of
  131. communications encrypted with the escrowed encryption technology
  132. depends on the security provided by all the components of the
  133. initiative, including protection of the keys stored on the devices,
  134. protection of the key components stored with the escrow agents, the
  135. security provided by the LEAF and LEAF decoder, protection of keys
  136. after they have been transmitted to law enforcement under court order,
  137. and the resistance of the devices to reverse engineering.  In addition,
  138. the success of the technology initiative depends on factors besides
  139. security, for example, performance of the chips.  Because some
  140. components of the escrowed encryption system, particularly the key
  141. escrow system, are still under design, we decided to issue this Interim
  142. Report on the security of the SKIPJACK algorithm and to defer our Final
  143. Report until we could complete our evaluation of the system as a
  144. whole.
  145.  
  146.  
  147. 2.  Overview of the SKIPJACK Algorithm
  148.  
  149. SKIPJACK is a 64-bit "electronic codebook" algorithm that transforms a
  150. 64-bit input block into a 64-bit output block.  The transformation is
  151. parameterized by an 80-bit key, and involves performing 32 steps or
  152. iterations of a complex, nonlinear function.  The algorithm can be used
  153. in any one of the four operating modes defined in FIPS 81 for use with
  154. the Data Encryption Standard (DES).
  155.  
  156. The SKIPJACK algorithm was developed by NSA and is classified SECRET.
  157. It is representative of a family of encryption algorithms developed in
  158. 1980 as part of the NSA suite of "Type I" algorithms, suitable for
  159. protecting all levels of classified data.  The specific algorithm,
  160. SKIPJACK, is intended to be used with sensitive but unclassified
  161. information.
  162.  
  163. The strength of any encryption algorithm depends on its ability to
  164. withstand an attack aimed at determining either the key or the
  165. unencrypted ("plaintext") communications.  There are basically two
  166. types of attack, brute-force and shortcut.
  167.  
  168.  
  169. 3.  Susceptibility to Brute Force Attack by Exhaustive Search
  170.  
  171. In a brute-force attack (also called "exhaustive search"), the
  172. adversary essentially tries all possible keys until one is found that
  173. decrypts the intercepted communications into a known or meaningful
  174. plaintext message.  The resources required to perform an exhaustive
  175. search depend on the length of the keys, since the number of possible
  176. keys is directly related to key length.  In particular, a key of length
  177. N bits has 2^N possibilities.  SKIPJACK uses 80-bit keys, which means
  178. there are 2^80 (approximately 10^24) or more than 1 trillion trillion
  179. possible keys.
  180.  
  181. An implementation of  SKIPJACK optimized for a single processor on the
  182. 8-processor Cray YMP performs about 89,000 encryptions per second.  At
  183. that rate, it would take more than 400 billion years to try all keys.
  184. Assuming the use of all 8 processors and aggressive vectorization, the
  185. time would be reduced to about a billion years.
  186.  
  187. A more speculative attack using a future, hypothetical, massively
  188. parallel machine with 100,000 RISC processors, each of which was
  189. capable of 100,000 encryptions per second, would still take about 4
  190. million years.  The cost of such a machine might be on the order of $50
  191. million.  In an even more speculative attack, a special purpose machine
  192. might be built using 1.2 billion $1 chips with a 1 GHz clock.  If the
  193. algorithm could be pipelined so that one encryption step were performed
  194. per clock cycle, then the $1.2 billion machine could exhaust the key
  195. space in 1 year.
  196.  
  197. Another way of looking at the problem is by comparing a brute force
  198. attack on SKIPJACK with one on DES, which uses 56-bit keys.  Given that
  199. no one has demonstrated a capability for breaking DES, DES offers a
  200. reasonable benchmark.  Since SKIPJACK keys are 24 bits longer than DES
  201. keys, there are 2^24 times more possibilities.  Assuming that the cost
  202. of processing power is halved every eighteen months, then it will not
  203. be for another 24 * 1.5 = 36 years before the cost of breaking
  204. SKIPJACK is equal to the cost of breaking DES today.  Given the lack of
  205. demonstrated capability for breaking DES, and the expectation that the
  206. situation will continue for at least several more years, one can
  207. reasonably expect that SKIPJACK will not be broken within the next
  208. 30-40 years.
  209.  
  210. Conclusion 1:   Under an assumption that the cost of processing power
  211. is halved every eighteen months, it will be 36 years before the cost of
  212. breaking SKIPJACK by exhaustive search will be equal to the cost of
  213. breaking DES today.  Thus, there is no significant risk that SKIPJACK
  214. will be broken by exhaustive search in the next 30-40 years.
  215.  
  216. 4.  Susceptibility to Shortcut Attacks
  217.  
  218. In a shortcut attack, the adversary exploits some property of the
  219. encryption algorithm that enables the key or plaintext to be determined
  220. in much less time than by exhaustive search.  For example, the RSA
  221. public-key encryption method is attacked by factoring a public value
  222. that is the product of two secret primes into its primes.
  223.  
  224. Most shortcut attacks use probabilistic or statistical methods that
  225. exploit a structural weakness, unintentional or intentional (i.e., a
  226. "trapdoor"), in the encryption algorithm.  In order to determine
  227. whether such attacks are possible, it is necessary to thoroughly
  228. examine the structure of the algorithm and its statistical properties.
  229. In the time available for this review, it was not feasible to conduct
  230. an evaluation on the scale that NSA has conducted or that has been
  231. conducted on the DES.  Such review would require many man-years of
  232. effort over a considerable time interval.  Instead, we concentrated on
  233. reviewing NSA's design and evaluation process.  In addition, we
  234. conducted several of our own tests.
  235.  
  236. 4.1  NSA's Design and Evaluation Process
  237.  
  238. SKIPJACK was designed using building blocks and techniques that date
  239. back more than forty years.  Many of the techniques are related to work
  240. that was evaluated by some of the world's most accomplished and famous
  241. experts in combinatorics and abstract algebra.  SKIPJACK's more
  242. immediate heritage dates to around 1980, and its initial design to
  243. 1987.
  244.  
  245. SKIPJACK was designed to be evaluatable, and the design and evaluation
  246. approach was the same used with algorithms that protect the country's
  247. most sensitive classified information.  The specific structures
  248. included in SKIPJACK have a long evaluation history, and the
  249. cryptographic properties of those structures had many prior years of
  250. intense study before the formal process began in 1987.  Thus, an
  251. arsenal of tools and data was available.  This arsenal was used by
  252. dozens of adversarial evaluators whose job was to break SKIPJACK.  Many
  253. spent at least a full year working on the algorithm.  Besides highly
  254. experienced evaluators, SKIPJACK was subjected to cryptanalysis by less
  255. experienced evaluators who were untainted by past approaches.  All
  256. known methods of attacks were explored, including differential
  257. cryptanalysis.  The goal was a design that did not allow a shortcut
  258. attack.
  259.  
  260. The design underwent a sequence of iterations based on feedback from
  261. the evaluation process.  These iterations eliminated properties which,
  262. even though they might not allow successful attack, were related to
  263. properties that could be indicative of vulnerabilities.  The head of
  264. the NSA evaluation team confidently concluded "I believe that SKIPJACK
  265. can only be broken by brute force   there is no better way."
  266.  
  267. In summary, SKIPJACK is based on some of NSA's best technology.
  268. Considerable care went into its design and evaluation in accordance
  269. with the care given to algorithms that protect classified data.
  270.  
  271. 4.2  Independent Analysis and Testing
  272.  
  273. Our own analysis and testing increased our confidence in the strength
  274. of SKIPJACK and its resistance to attack.
  275.  
  276. 4.2.1  Randomness and Correlation Tests
  277.  
  278. A strong encryption algorithm will behave like a random function of the
  279. key and plaintext so that it is impossible to determine any of the key
  280. bits or plaintext bits from the ciphertext bits (except by exhaustive
  281. search).  We ran two sets of tests aimed at determining whether
  282. SKIPJACK is a good pseudo random number generator.  These tests were
  283. run on a Cray YMP at NSA.  The results showed that SKIPJACK behaves
  284. like a random function and that ciphertext bits are not correlated with
  285. either key bits or plaintext bits.  Appendix A gives more details.
  286.  
  287. 4.2.2  Differential Cryptanalysis
  288.  
  289. Differential cryptanalysis is a powerful method of attack that exploits
  290. structural properties in an encryption algorithm.  The method involves
  291. analyzing the structure of the algorithm in order to determine the
  292. effect of particular differences in plaintext pairs on the differences
  293. of their corresponding ciphertext pairs, where the differences are
  294. represented by the exclusive-or of the pair.  If it is possible to
  295. exploit these differential effects in order to determine a key in less
  296. time than with exhaustive search, an encryption algorithm is said to be
  297. susceptible to differential cryptanalysis.  However, an actual attack
  298. using differential cryptanalysis may require substantially more chosen
  299. plaintext than can be practically acquired.
  300.  
  301. We examined the internal structure of SKIPJACK to determine its
  302. susceptibility to differential cryptanalysis.  We concluded it was not
  303. possible to perform an attack based on differential cryptanalysis in
  304. less time than with exhaustive search.
  305.  
  306. 4.2.3  Weak Key Test
  307.  
  308. Some algorithms have "weak keys" that might permit a shortcut
  309. solution.  DES has a few weak keys, which follow from a pattern of
  310. symmetry in the algorithm.  We saw no pattern of symmetry in the
  311. SKIPJACK algorithm which could lead to weak keys.  We also
  312. experimentally tested the all "0" key (all 80 bits are "0") and the all
  313. "1" key to see if they were weak and found they were not.
  314.  
  315. 4.2.4  Symmetry Under Complementation Test
  316.  
  317. The DES satisfies the property that for a given plaintext-ciphertext
  318. pair and associated key, encryption of the one's complement of the
  319. plaintext with the one's complement of the key yields the one's
  320. complement of the ciphertext.  This "complementation property" shortens
  321. an attack by exhaustive search by a factor of two since half the keys
  322. can be tested by computing complements in lieu of performing a more
  323. costly encryption.  We tested SKIPJACK for this property and found that
  324. it did not hold.
  325.  
  326. 4.2.5  Comparison with Classified Algorithms
  327.  
  328. We compared the structure of SKIPJACK to that of NSA Type I algorithms
  329. used in current and near-future devices designed to protect classified
  330. data.  This analysis was conducted with the close assistance of the
  331. cryptographer who developed SKIPJACK and included an in-depth
  332. discussion of design rationale for all of the algorithms involved.
  333. Based on this comparative, structural analysis of SKIPJACK against
  334. these other algorithms, and a detailed discussion of the similarities
  335. and differences between these algorithms, our confidence in the basic
  336. soundness of SKIPJACK was further increased.
  337.  
  338. Conclusion 2:  There is no significant risk that SKIPJACK can be broken
  339. through a shortcut method of attack.
  340.  
  341.  
  342. 5.   Secrecy of the Algorithm
  343.  
  344. The SKIPJACK algorithm is sensitive for several reasons.  Disclosure of
  345. the algorithm would permit the construction of devices that fail to
  346. properly implement the LEAF, while still interoperating with legitimate
  347. SKIPJACK devices.  Such devices would provide high quality
  348. cryptographic security without preserving the law enforcement access
  349. capability that distinguishes this cryptographic initiative.
  350. Additionally, the SKIPJACK algorithm is classified SECRET   NOT
  351. RELEASABLE TO FOREIGN NATIONALS.  This classification reflects the high
  352. quality of the algorithm, i.e., it incorporates design techniques that
  353. are representative of algorithms used to protect classified
  354. information.  Disclosure of the algorithm would permit analysis that
  355. could result in discovery of these classified design techniques, and
  356. this would be detrimental to national security.
  357.  
  358. However, while full exposure of the internal details of SKIPJACK would
  359. jeopardize law enforcement and national security objectives, it would
  360. not jeopardize the security of encrypted communications.  This is
  361. because a shortcut attack is not feasible even with full knowledge of
  362. the algorithm.  Indeed, our analysis of the susceptibility of SKIPJACK
  363. to a brute force or shortcut attack was based on the assumption that
  364. the algorithm was known.
  365.  
  366. Conclusion 3:  While the internal structure of SKIPJACK must be
  367. classified in order to protect law enforcement and national security
  368. objectives, the strength of SKIPJACK against a cryptanalytic attack
  369. does not depend on the secrecy of the algorithm.
  370.  
  371. --------------------------------------------------
  372. Appendix in LaTeX
  373. --------------------------------------------------
  374. \documentstyle{article}
  375. \textheight 8.25in
  376. \topmargin -.25in
  377. \textwidth 6.5in
  378. \oddsidemargin 0in
  379. \begin{document}
  380. \parskip .25in
  381. \large
  382. \raggedright
  383. \setcounter{page}{8}
  384. \centerline{\bf Appendix A}
  385.  
  386. {\bf A.1 Cycle Structure Tests}
  387.  
  388. The first set of tests examined the cycle structure of SKIPJACK.  Fix
  389. a set of keys, $\cal K$, a plaintext, $m$, and a function $h\; : \;
  390. {\cal M} \longrightarrow {\cal K}$, where ${\cal M}$ is the set of all
  391. 64 bit messages.  Let $f \; : \; {\cal K} \longrightarrow {\cal K}$ be
  392. defined as $f(k) = h ( SJ(k,m))$ (where $SJ(k,m)$ denotes the SKIPJACK
  393. encryption of plaintext $m$ with key $k$).  Let $N = |\cal K|$.  The
  394. expected cycle length of $f$ is $\sqrt{\pi N /8}$.  We chose sets of
  395. $\cal K$ with $N \; = \; 2^{10}, 2^{16}, 2^{24}, 2^{32},
  396. 2^{40}, 2^{48}, 2^{56}$.  For all of these $N$, the mean of the cycle
  397. lengths computed across all experiments was close to an expected
  398. relative error of
  399. $(1/\sqrt{j}$ for $j$ experiments) of the expected cycle length.  
  400. We did not do this test with larger sets of keys because of the time
  401. constraints.
  402.  
  403. \begin{center}
  404. \begin{tabular}{lrrrrr}
  405. $N$ & \# of exps & Mean cycle len & Expec cycle len &
  406. Rel Err & Expec rel err \\
  407. \hline
  408. $2^{10}$ & 5000 & 20.4 & 20.1 & .019 & .014 \\
  409. $2^{16}$ & 3000 & 164.7 & 160.4 & .027 & .018 \\
  410. $2^{24}$ & 2000 & 2576.6 & 2566.8 & .004 & .022 \\
  411. $2^{32}$ & 2000 & 40343.2 & 41068.6 & .018 & .022 \\
  412. $2^{40}$ & 1000 & 646604.9 & 657097.6 & .016 & .032 \\
  413. $2^{48}$ & 10 & 8,980,043 & 10,513,561 & .145 & .316 \\
  414. $2^{56}$ & 1 & 28,767,197 & 168,216,976 & .829 & 1 \\
  415. \end{tabular}
  416. \end{center}
  417.  
  418. {\bf A.2 Statistical Randomness and Correlation Tests}
  419.  
  420. The second set of tests examined whether there were any correlations
  421. between the input and output of SKIPJACK, or between a key and the
  422. output.  We also looked for nonrandomness in functions of the form
  423. $SJ(k,m) \oplus SJ(k,m \oplus h)$ and functions of the form $SJ(k,m) \oplus
  424. SJ(k \oplus h , m)$ for all $h$ of Hamming weight 1 and 2 and for some
  425. randomly chosen $h$.  All results were consistent with these functions
  426. behaving like random functions.
  427.  
  428. Given a set of $N$ numbers of $k$-bits each, a chi-square test will
  429. test the hypothesis that this set of numbers was drawn (with
  430. replacement) from a uniform distribution on all of the $2^k$, $k$-bit
  431. numbers.  We ran the tests using a 99\% confidence level.  A truly
  432. random function would pass the test approximately 99\% of the time.
  433. The test is not appropriate when $N/2^k$ is too small, say $\leq 5$.
  434. Since it was infeasible to run the test for $k = 64$, we would pick 8
  435. bit positions, and generate a set of $N= 10,000$ numbers, and run the
  436. test on the $N$ numbers restricted to those 8 bit positions (thus
  437. $k=8$).  In some of the tests, we selected the 8 bits from the output
  438. of the function we were testing, and in others, we selected 4 bits
  439. from the input and 4 from the output.
  440.  
  441. Some of the tests were run on both the encryption and decryption
  442. functions of SKIPJACK.  The notation $SJ^{-1}(k,m)$ will be used to
  443. denote the decryption function of SKIPJACK with key $k$ on message
  444. $m$.
  445.  
  446. {\bf Test 1: Randomness test on output.  } In a single test: Fix $k$,
  447. fix mask of 8 output bits, select 10,000 random messages, run
  448. chi-square on the 10,000 outputs restricted to the mask of 8 output
  449. bits.  Repeat this single test for 200 different values of $k$ and 50
  450. different masks, for a total of 10,000 chi-square tests.  We found
  451. that .87\% of the tests failed the 99\% confidence level chi-square
  452. test.  This is within a reasonable experimental error of the expected
  453. value of 1\%.  On the decryption function, there were only .64\% of
  454. the tests that failed.  This was on a much smaller test set.
  455.  
  456. \begin{center}
  457. \begin{tabular}{|c|c|c|c|c|}
  458. \hline
  459. \# $k$  & \# masks &  function, $f(m)$ & mask & \% failed \\
  460. \hline
  461. 200 & 50 & $SJ(k,m)$ & 8 of $f(m)$ & .87 \\
  462. \hline
  463. 25 & 50 & $SJ^{-1}(k,m)$ & 8 of $f(m)$ & .64 \\
  464. \hline
  465. \end{tabular}
  466. \end{center}
  467.  
  468. {\bf Test 2: Correlation test between messages and output.}
  469. Single test:  Fix $k$, fix mask of 4 message bits and 4 output bits,
  470. select 10,000 random messages, run chi-square.
  471.  
  472. \begin{center}
  473. \begin{tabular}{|c|c|c|c|c|}
  474. \hline
  475. \# $k$  & \# masks &  function, $f(m)$ & mask & \% failed \\
  476. \hline
  477. 200 & 1000  & $SJ(k,m)$ & 4 of $m$, 4 of $f(m)$ & 1.06 \\
  478. \hline
  479. 25 & 1000 & $SJ^{-1}(k,m)$ & 4 of $m$, 4 of $f(m)$ & 1.01 \\
  480. \hline
  481. \end{tabular}
  482. \end{center}
  483.  
  484. {\bf Test 3: Randomness test on the xor of outputs, given a fixed xor of
  485. inputs.  }
  486. Single test: Fix $k$, fix mask of 8 output bits, select 10,000 random
  487. messages. 
  488. Let $\cal H$ be the union of all 64 bit words of Hamming
  489. weight 1 (64 of these), all 64 bit words of Hamming weight 2 (2016 of
  490. these), and some randomly chosen 64 bit words (920 of these).
  491. Repeat this single test for all $h \in \cal H$, 50 different masks,
  492. and  4 different values
  493. of $k$.
  494.  
  495. \begin{center}
  496. \begin{tabular}{|c|c|c|c|c|c|}
  497. \hline
  498. \# $k$  & \# masks  & \# $h$ &  function, $f(m)$ & mask & \% failed \\
  499. \hline
  500. 4 & 50 & 3000 & $SJ(k,m) \oplus SJ(k,m \oplus h)$ & 8 of $f(m)$ & .99 \\
  501. \hline
  502. \end{tabular}
  503. \end{center}
  504.  
  505.  
  506. {\bf Test 4: Correlation test between message xors and output xors.  }
  507. Single test: Fix $k$, fix mask of 4 bits of $h$ and 4 bits of output,
  508. select 10,000 random $(m,h)$ pairs.
  509.  
  510. \begin{center}
  511. \begin{tabular}{|c|c|c|c|c|}
  512. \hline
  513. \# $k$  & \# masks &  function, $f(m,h)$ & mask & \% failed \\
  514. \hline
  515. 200 & 1000 & $SJ(k,m) \oplus SJ(k,m \oplus h)$ & 4 of $h$, 4 of $f(m,h)$
  516. & .99 \\
  517. \hline
  518. 25 & 1000 & $SJ^{-1}(k,m)  \oplus SJ^{-1}(k,m \oplus h)$ & 4 of $h$, 4 of
  519. $f(m,h)$ & 1.02 \\
  520. \hline
  521. \end{tabular}
  522. \end{center}
  523.  
  524. {\bf Test 5: Correlation test between messages and output xors.}
  525. Single test: Fix $k$, fix mask of 4 bits of $m$ and 4 bits of output
  526. xor, select 10,000 random messages.  Let $\cal H$ be the union of all
  527. 64 bit words of Hamming weight 1 (64 of these), some of the 64 bit
  528. words of Hamming weight 2 (100 of these), and some randomly chosen 64
  529. bit words (100 of these).
  530.  
  531. \begin{center}
  532. \begin{tabular}{|c|c|c|c|c|c|}
  533. \hline
  534. \# $k$  & \# masks & \# $h$&  function, $f(m)$ & mask & \% failed \\
  535. \hline
  536. 2 & 1000 & 264 & $SJ(k,m) \oplus SJ(k,m \oplus h)$ & 4 of $m$, 4 of $f(m)$
  537. & .99 \\
  538. \hline
  539. \end{tabular}
  540. \end{center}
  541.  
  542. {\bf Test 6: Correlation test between keys and output.}
  543. Single test:  Fix $m$, fix mask of 4 key bits and 4 output bits,
  544. select 10,000 random keys.
  545.  
  546. \begin{center}
  547. \begin{tabular}{|c|c|c|c|c|}
  548. \hline
  549. \# $m$ & \# masks &  function, $f(k)$ & mask & \% failed \\
  550. \hline
  551. 200 & 1000  & $SJ(k,m)$ & 4 of $k$, 4 of $f(k)$ & 1.00 \\
  552. \hline
  553. 25 & 1000 & $SJ^{-1}(k,m)$ & 4 of $k$, 4 of $f(k)$ & 1.02 \\
  554. \hline
  555. \end{tabular}
  556. \end{center}
  557.  
  558. {\bf Test 7: Randomness test on the xor of outputs, given a fixed xor of
  559. keys.  }
  560. Single test: Fix $m$, fix mask of 8 output bits, select 10,000 random
  561. keys. 
  562. Let $\cal H$ be the union of all 80 bit words of Hamming
  563. weight 1 (80 of these), all 80 bit words of Hamming weight 2 (3160 of
  564. these), and some randomly chosen 80 bit words (760 of these).
  565. Repeat this single test for all $h \in \cal H$, 50 different masks,
  566. and  2 different values
  567. of $m$.
  568.  
  569. \begin{center}
  570. \begin{tabular}{|c|c|c|c|c|c|}
  571. \hline
  572. \# $m$ & \# masks  & \# $h$ &  function, $f(k)$ & mask & \% failed \\
  573. \hline
  574. 2 & 50 & 4000 & $SJ(k,m) \oplus SJ(k\oplus h,m )$ & 8 of $f(k)$ & .99 \\
  575. \hline
  576. \end{tabular}
  577. \end{center}
  578.  
  579.  
  580. {\bf Test 8: Correlation test between key xors and output xors.  }
  581. Single test: Fix $m$, fix mask of 4 bits of $h$ and 4 bits of output,
  582. select 10,000 random $(k,h)$ pairs.
  583.  
  584. \begin{center}
  585. \begin{tabular}{|c|c|c|c|c|}
  586. \hline
  587. \# $m$ & \# masks &  function, $f(k,h)$ & mask & \% failed \\
  588. \hline
  589. 200 & 1000 & $SJ(k,m) \oplus SJ(k\oplus h,m )$ & 4 of $h$, 4 of $f(k,h)$
  590. & 1.02 \\
  591. \hline
  592. 25 & 1000 & $SJ^{-1}(k,m) \oplus SJ^{-1}(k\oplus h,m )$ & 4 of $h$, 4
  593. of $f(k,h)$ & 1.1 \\
  594. \hline
  595. \end{tabular}
  596. \end{center}
  597. \end{document}
  598.