<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Evolving Quasigroups by Genetic Algorithms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>EvolvinVg´</string-name>
          <email>i@svksab..occzhodkova</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>oJiuˇr´ıpDsvo</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>rskyy´</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>liˇsnk</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Akolvg´</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>rithms? Pavel Kr¨omer</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Platoˇs</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ajith Abraham</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CeQntuearliotfyEoxfcSeelrlevniccee, fNororQwueagniatni able Quality of ServUicen,ivNerosriwtyegoifanScUiennicveerasnitdy ToefcShcnieonlocgeyand Technology OO.</institution>
          <addr-line>.SS.. BBrraaggssttaaddss ppllaassss 22EE,, NN--77449911 TTrroonnddhheeiimm,, NNoorrwwaayy</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Departmen1t7o.fliCstoompapduute1r5S</institution>
          ,
          <addr-line>c7i0e8nc3e3, FOEstErCavSa, -VSPBoru</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Vaclav Snasel</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>y</institution>
          ,
          <addr-line>Peolriusbkaa,.CoczehcohdkRoevpau,blic</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <fpage>108</fpage>
      <lpage>117</lpage>
      <abstract>
        <p>Quasigroups are a well-known combinatorial design equivalent to more familiar Latin squares. Because all possible elements of a quasigroup occur with equal probability, it makes it an interesting tool for the application in computer security and for production of pseudorandom sequences. Most implementations of quasigroups are based on look-up table of the quasigroup, on system of distinct representatives etc. Such representations are infeasible for large quasigroups. An analytic quasigroup is a recent concept that allows usage of certain quasigroups without the need of look-up table. The concept of isotopy enables consideration of many quasigroups and genetic algorithms allow efficient search for good ones. In this paper we describe analytic quasigroup and genetic algorithms for its optimization.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1 Introduction
Random and pseudorandom sequences can be used in many applications, e.g. in
modeling, simulations, and of course in cryptography. Pseudorandom sequences
are the core of stream ciphers. The design goal in stream ciphers is to efficiently
produce pseudorandom sequences - keystreams (i.e. sequences that possess
properties common to truly random sequences and in some sense are
”indistinguishable” from these sequences).</p>
      <p>
        The use of quasigroups and quasigroup string transformations is a recent
but successful tendency in cryptography and coding [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. With quasigroups in
the hearth of advanced cryptosystems and hash functions, a need to find good
quasigroups becomes hot topic.
      </p>
      <p>
        Quasigroups and its applications in computer security were studied e. g. in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
A design of pseudorandom sequence generator (PRSG) based on quasigroup
operation was presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The authors have performed an extensive analysis of
? This paper was partially supported by GACR 205/09/1079 grant.
216 randomly chosen quasigroups of the orders 5, 6, 7, 8, 9 and 10 and concluded
that different quasigroups produce pseudorandom sequences with different
period (i.e. the number of elements after which the pseudorandom sequence starts
to repeat). They have show that only a small number of quasigroups feature very
large value of coefficient of period growth, a property that significantly affects the
period of generated pseudorandom sequence [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This results encourage research
of efficient methods for search for good quasigroups in the field of pseudorandom
generators and cryptography.
      </p>
      <p>
        Genetic algorithms are probably the most popular and wide spread
member of the class of evolutionary algorithms (EA). EAs operate with a
population of artificial individuals (chromosomes) encoding potential problem solutions.
Encoded individuals are evaluated using a carefully selected objective function
which assigns a fitness value to each individual. The fitness value represents the
quality (relative ranking) of each individual as a solution to given problem.
Competing individuals explore in a highly parallel manner problem domain towards
an optimal solution [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
2
      </p>
      <p>Quasigroups
Definition 1. A quasigroup is a pair (Q, ◦), where ◦ is a binary operation on
(finite) set Q such that for all not necessarily distinct a, b ∈ Q, the equations
a ◦ x = b and y ◦ a = b.
have unique solutions.</p>
      <p>The fact that the solutions are unique guarantees that no element occurs
twice in any row or column of the table for (◦). However, in general, the operation
(◦) is neither a commutative nor an associative operation.</p>
      <p>
        Quasigroups are equivalent to more familiar Latin squares. The
multiplication table of a quasigroup of order q is a Latin square of order q, and conversely,
as it was indicated in [
        <xref ref-type="bibr" rid="ref18 ref4 ref5">4,5,18</xref>
        ], every Latin square of order q is the multiplication
table of a quasigroup of order q.
      </p>
      <p>Definition 2. Let A = {a1, a2, . . . , an} be a finite alphabet, a n × n Latin square
L is a matrix with entries lij ∈ A, i, j = 1, 2, . . . , n, such that each row and each
column consists of different elements of A.</p>
      <p>For i, j, k ∈ A the ordered triple (i, j; k) is used to represent the occurrence of
element k in cell (i, j) of the Latin square. So a Latin square may be represented
by the set {(i, j; k)| entry k occurs in cell (i, j) of the Latin square L.}</p>
      <p>
        All reduced Latin squares of order n are enumerated for n ≤ 11 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Let Ln
be the number of Latin squares of order n, and let Rn be the number of reduced
Latin squares of order n. It can be easily seen that
      </p>
      <p>Ln = n!(n − 1)!Rn.</p>
      <p>Number of distinct Latin squares of a given order grows exceedingly quickly
with the order and there is no known easily-computable formula for the number
of distinct Latin squares. The problem of classification and exact enumeration
of Latin squares of order greater than 11 probably still remains unsolved. Thus,
there are more than 1090 quasigroups of order 16 and if we take an alphabet L =
{0 . . . 255} (i.e. data are represented by 8 bits) there are at least 256!255! . . . 2! &gt;
1058000 quasigroups.</p>
      <p>
        Multiplication in quasigroups has an important property; it is proven that
each element occurs exactly q times among the products of two elements of Q,
q2 times among the products of three elements of Q and, generally qt−1 among
the products of t elements of Q. Since there are qt possible ordered products of
t elements of Q, this shows that each element occurs equally often among these
qt products (see [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]).
2.1
      </p>
      <p>Isotopism of quasigroups
Definition 3. Let (G, ·), (H, ◦) be two quasigroups. An ordered triple (π, ρ, ω)
of bijections π, ρ, ω of the set G onto set H is called an isotopism of (G, ·) upon
(H, ◦) if ∀u, v ∈ G, π(u) ◦ ρ(v) = ω(u · v). Quasigroups (G, ·), (H, ◦) are said to
be isotopic.</p>
      <p>We can imagine an isotopism of quasigroups as a permutation of rows and
columns of quasigroup’s multiplication table.</p>
      <p>Example 1. Consider a multiplication table for a quasigroup isotopic to the
quasigroup of modular subtraction, with operation ◦ defined as a ◦ b = (a +
n − b) mod n):
The table was created from table of modular subtraction. The second and the
third rows were exchanged. Permutations π, ρ were identities and ω = [0213]. A
multiplication in this quasigroup can be illustrated by e.g. 1 ◦ 0 = ω(1) ◦ 0 =
2 ◦ 0 = 2.</p>
      <p>
        Starting with the quasigroup of modular subtraction, we can explore a large
class of quasigroups isotopic to the quasigroup of modular subtraction [
        <xref ref-type="bibr" rid="ref17 ref7">7,17</xref>
        ].
This allows us to utilize quasigroups with very large number of elements without
the necessity of their storage in program memory. The multiplication in such
isotopic quasigroup is defined as follows:
a ◦ b = π−1((ω(a) + n − ρ(b)) mod n).
(1)
      </p>
      <p>
        We call the quasigroup defined by its multiplication formula and three
selected permutations an analytic quasigroup [
        <xref ref-type="bibr" rid="ref11 ref21">11,21</xref>
        ].
      </p>
      <p>
        The notion of analytic quasigroup enables efficient work with large
quasigroups. Previos studies in this field used mostly quasigroups of small order [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
or just a small parts of certain quasigroup were utilized e.g. as a key for Message
Authentication Code. Such small quasigroups are represented as look-up tables
in main memory. Larger quasigroup of order 2256 is used by NIST’s SHA-3
competition candidate, hash function EdonR [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        The properties of one analytic quasigroup isotopic to the quasigroup of
modular subtraction were studied in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The quasigroup was created using three
static functions that divided the sequence of n elements of the quasigroup into
several parts. The parts were rotated in various directions and exchanged among
themselves. It was shown that the investigated quasigroup has some faults in its
properties.
2.2
      </p>
      <p>Constructing quasigroups isotopic to the quasigroup of modular
subtraction
Consider a quasigroup on the length n defined by multiplication a ◦ b = (a + n −
b) mod n). Then three permutations π, ρ, ω must be chosen in order to implement
isotopic quasigroup, whose multiplication will be defined by (1).</p>
      <p>Obviously, there is n! different permutations of n elements. Because three
independent permutations are used to define any isotopic quasigroup, there are
n!n!n! possible choices of π, ρ and ω. Permutations of elements cannot be sought
for an analytic quasigroup directly, because its elements are not stored in
memory. Instead, the permutation needs to be implemented as a function of an
element of Q. One way to achieve this goal is the use of bit permutation.</p>
      <p>A quasigroup over a set of n elements requires log2(n) bits to express each
element. Each permutation of bits in the element representation represents also
a permutation of all elements of the quasigroup (if n is a power of 2). Bit
permutation can be implemented easily as a function of q ∈ Q.</p>
      <p>The bit permutation is an elegant way of implementing permutations over n
elements of Q. Although it enables us to explore only a fragment (log2(n)!log2(n)!
log2(n)!) of all possible permutation triples over the quasigroup of n elements, it
is useful because it does not require all n elements in main memory and therefore
fits into the framework of analytic quasigroups.</p>
      <p>
        Bit permutations are computationaly more expensive than the static
functions used to implement permutation in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. However, there are ongoing efforts
to implement bit permutation instructions in hardware, which would improve
the performance of the proposed algorithm significantly [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Genetic algorithms
Genetic algorithms (GAs) are generic and reusable population-based
metaheuristic soft optimization method [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. GAs operate with a population of chromosomes
encoding potential problem solutions. Encoded individuals are evaluated using
a carefully selected domain specific objective function which assigns a fitness
value to each individual. The fitness value represents the quality of each
candidate solution in context of the given problem. Competing individuals explore
the problem domain towards an optimal solution [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>The emulated evolution is driven by iterative application of genetic
operators. Genetic operators algoritmize principles observed in natural evolution. The
crossover operator defines a strategy for the exchange of genetic information
between parents (sexual reproduction of haploid organisms) while the mutation
operator introduces the effect of environment and randomness (random
perturbation of genetic information). The basic workflow of the standard generational
GA is shown in algorithm 1.</p>
      <p>Algorithm 1: A summary of genetic algorithm
1 Define objective (fitness) function and problem encoding
2 Encode initial population P of possible solutions as fixed length strings
3 Evaluate chromosomes in initial population using objective function
4 while Termination criteria not satisfied do
5 Apply selection operator to select parent chromosomes for</p>
      <p>reproduction: sel(Pi) → parent1, sel(Pi) → parent2
6
7
8</p>
      <p>Apply crossover operator on parents with respect to crossover
probability to produce new chromosomes:
cross(pC, parent1, parent2) → {of f spring1, of f spring2}
Apply mutation operator on offspring chromosomes with respect to
mutation probability: mut(pM, of f spring1) → of f spring1,
mut(pM, of f spring2) → of f spring2
Create new population from current population and offspring
chromosomes: migrate(of f spring1, of f sprig2, Pi) → Pi+1
9 end</p>
      <p>
        Many variants of the standard generational GAs have been proposed. The
differences are mostly in particular selection, crossover, mutation and
replacement strategy [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        In the next section, we present genetic algorithm for the search for good
analytic quasigroups. It is an extended version of the initial GA for quasigroup
evolution introduced in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. In this study, we introduce a new fitness function
based on associativity and commutativity that is used for quasigroup
optimization.
      </p>
      <p>Genetic search for analytic quasigroups
The genetic algorithm for the search for analytic quasigroup is defined by
encoding of the candidate solutions and fitness function to evaluate chromosomes.
As noted in subsection 2.2, any analytic quasigroup isotopic to quasigroup of
modular subtraction is defined by three permutations. Such permutation triple
represents a problem solution and should be mapped to one GA chromosome.
Permutations can be for the purpose of genetic algorithms encoded using several
strategies. In this study, we use random key encoding.</p>
      <p>
        Random key (RK) encoding is an encoding strategy suitable for problems
involving permutation optimization [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. In random key encoding, the
permutation is represented as a string of real numbers (random keys), whose relative
position changes after sorting corresponds to the permutation index. An example
or random key encoding is shown in (2).
(2)
(3)
Π5 =
      </p>
      <p>To encode a quasigroup (isotopic to the quasigroup of modular subtraction)
of the length n = 2l, we use a vector of 3l real numbers v = (v1, . . . , vl−1,
vl, . . . v2l−1, v2l, . . . , v3l). The vector is interpreted as three concatenated RK
encoded permutations of the length l.</p>
      <p>
        This encoding allows us to use traditional implementations of genetic
operators, such as n-point crossover and mutation. Crossover was implemented
as mutual exchange of genes between selected parents and mutation was
implemented as a replacement of gene with a uniform random number from the
interval [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
4.2
      </p>
      <p>Fitness function
The fitness function f we propose in this work is based on commutativity and
associativity in quasigroup.</p>
      <p>f (n, na, nc, α) = α n2 − nc + (1 − α) n3 − na</p>
      <p>n2 n3</p>
      <p>
        In (3), n stands for the order of the quasigroup, n2 stands for the number
of all combinations of 2 elements out of n, n3 represents all combinations of
3 elements out of n, nc stands for the number of element pairs that have the
commutativity property and na represents the number of element triples that
have the associativity property. The coefficient α ∈ [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ] is used to prioritize
between commutativity and associativity. The value of fitness function is 0 for
nc = n2 and na = n3 at the same time and 1 for nc = 0 and na = 0. Informally,
we can say that it seeks for a quasigroup that has “low associativity“ and “low
commutativity“.
Experimental optimization
We have investigated the associativity and commutativity in randomly
generated quasigroups isotopic to the quasigroup of modular subtraction of orders
32, 64 and 128 respectively. The average values of na, nc and fitness in random
quasigroups are shown in Figure 1.
(a) Average na in random quasigroups (b) Average nc in random quasigroups(n2
(n3 illustrates the number of all combi- illustrates the number of all combinations
nations of 3 elements out of n). of 2 elements out of n).
      </p>
      <p>(c) Average fitness in random quasigroups.
f 1 corresponds to n2−nc , f 2 to n3−na and</p>
      <p>n2 n3
f = 0.5f 1 + 0.5f 2</p>
      <p>In the next step, we have performed genetic search for better (in terms of low
associativity and low commutativity) quasigroups isotopic to the quasigroups of
modular subtraction with the dimensions 32, 64 and 128 respectively. We have
implemented genetic algorithm with permutation encoding and fitness function
as defined above. The parameters of the algorithm (α, PM , PC etc.) were selected
after initial tuning of the algorithm. The paramteres are summarized in Table 1.</p>
      <p>Beacuse genetic algorithm is a stochastic method, every experiment was
repeated 10 times and presented results are average values after 10 independent
runs. The values of optimized fitness, nc and na are shown in Table 2. A
comparison of optimized values with na, nc and fitness in random quasigroups isotopic
to the quasigroups of modular subtraction are illustrated in Figure 2. We can
see that in every experiment (for every quasigroup dimension), the genetic
optimization process delivered a quasigroup better than random one.
6</p>
      <p>Conclusions
In this paper was described a genetic algorithm for optimization of an analytic
quasigroup. The genetic algorithm performs a search for good bit permutations
that are then used to construct analytic quasigroups with desired properties.
Both, the analytic quasigroup and bit permutation, do not rely on the lookup
table of the quasigroup stored in memory.</p>
      <p>The fitness function we use in this paper is based on associativity and
commutativity in quasigroups. It triggers a search for quasigroups that have “low
associativity“ and “low commutativity“. In a numerical experiment, we have
been able to find quasigroups with better properties than random ones have.
The drawback of this method is at this point its computational expensiveness.
In order to evaluate the fitness function, all combinations of 2 elements out of
n and all combinations of 3 elements out of n (quasigroup dimension) have to
be found and evaluated using quasigroup operation ◦. However, the main aim
of this work was to verify that genetic algorithm can evolve quasigroups with
above average properties.
(a) Average na in optimized quasigroups. (b) Average nc in optimized quasigroups.
Lower is better. Lower is better.</p>
      <p>(c) Average fitness in optimized
quasigroups. Higher is better.</p>
      <p>Fig. 2. Average values of na, nc and fitness in optimized quasigroups of order
32, 64 and 128 compared with na, nc and fitness in random quasigroups.</p>
      <p>In our future work, we want to investigate the properties of generated
quasigroups, study the fitness function and look for alternative fitness functions. We
want to focus on efficient implementation of used genetic algorithms with the
utilization of GPGPU. Moreover, we will investigate other successful computational
intelligence methods for quasigroup optimization (e.g. differential evolution, ant
colony optimization).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>G.</given-names>
            <surname>Marsaglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. W.</given-names>
            <surname>Tsang</surname>
          </string-name>
          , ”
          <article-title>Some Difficult-to-pass Tests of Randomness”</article-title>
          ,
          <source>Journal of Statistical Software</source>
          , volume
          <volume>7</volume>
          ,number i03.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Markovski</surname>
          </string-name>
          , ”Quasigroup String Processing and Applications in Cryptography”,
          <source>Proceedings 1st Conference of Mathematics and Informatics for Industry</source>
          , Thessaloniki, Greece, pp.
          <fpage>278</fpage>
          -
          <lpage>290</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>V.</given-names>
            <surname>Dimitrova</surname>
          </string-name>
          , J. Markovski, ”
          <article-title>On quasigroup pseudo random sequence generator”</article-title>
          ,
          <source>Proc. of the 1-st Balkan</source>
          Conference in Informatics, Y.Manolopoulos and P. Spirakis eds., Thessaloniki, pp.
          <fpage>393</fpage>
          -
          <lpage>401</lpage>
          ,
          <year>Nov 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Belousov</surname>
          </string-name>
          , V. D.
          <article-title>Osnovi teorii kvazigrup i lup (in Russian)</article-title>
          , Nauka, Moscow,
          <year>1967</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. D´enes, J.,
          <string-name>
            <surname>Keedwell</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Latin Squares and their Applications</article-title>
          . Akad´emiai Kiad´o, Budapest; Academic Press, New York (
          <year>1974</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. D´enes, J.,
          <string-name>
            <surname>Keedwell</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>A new authentication scheme based on Latin squares</article-title>
          .
          <source>Discrete Mathematics</source>
          (
          <volume>106</volume>
          /107) (
          <year>1992</year>
          ) pp.
          <fpage>157</fpage>
          -
          <lpage>161</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. J. Dvorsky´, E. Ochodkova´, V. Sna´ˇsel,
          <source>Hash Functions Based on Large Quasigroups, Proceedings of Velikonoˇcn´ı kryptologie, Brno</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hilewitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. J.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            , and
            <given-names>R. B.</given-names>
          </string-name>
          , ”
          <article-title>Comparing fast implementations of bit permutation instructions,” in Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems</article-title>
          and Computers, (Pacific Grove, California, USA), pp.
          <fpage>1856</fpage>
          -
          <lpage>1863</lpage>
          , Nov.
          <year>2004</year>
          2004.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>D.</given-names>
            <surname>Gligoroski</surname>
          </string-name>
          , et al.
          <article-title>EdonR cryptographic hash function. Submition to NIST's SHA-3 hash function competition</article-title>
          ,
          <year>2008</year>
          , http://csrc.nist.gov/groups/ST/hash/sha-3/index.html
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Gligoroski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Markovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kocarev</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Svein</surname>
          </string-name>
          .
          <source>The Stream Cipher Edon80. The eSTREAM Finalists, Lecture Notes in Computer Science</source>
          , Vol.
          <volume>4986</volume>
          . pp.
          <fpage>152</fpage>
          -
          <lpage>169</lpage>
          ,
          <year>2008</year>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. V. Sna´ˇsel,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abraham</surname>
          </string-name>
          , J. Dvorsky´, P. Kro¨mer, and J. Platoˇs, ”
          <article-title>Hash functions based on large quasigroups</article-title>
          .,” in
          <source>ICCS (1</source>
          <string-name>
            <surname>) (G. Allen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Nabrzyski</surname>
            , E. Seidel, G. D. van Albada,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Dongarra</surname>
          </string-name>
          , and
          <string-name>
            <surname>P. M.</surname>
          </string-name>
          <article-title>A</article-title>
          . Sloot, eds.), vol.
          <volume>5544</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>521</fpage>
          -
          <lpage>529</lpage>
          , Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. J. Knapskog, ”New cryptographic primitives,”
          <source>in CISIM '08: Proceedings of the 2008 7th Computer Information Systems and Industrial Management Applications</source>
          , (Washington, DC, USA), pp.
          <fpage>3</fpage>
          -
          <lpage>7</lpage>
          , IEEE Computer Society,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. J. Koza, ”
          <article-title>Genetic programming: A paradigm for genetically breeding populations of computer programs to solve problems</article-title>
          ,”
          <source>Technical Report STAN-CS-90-1314</source>
          , Dept. of Computer Science, Stanford University,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>B. D. McKay</surname>
            and
            <given-names>I. M.</given-names>
          </string-name>
          <string-name>
            <surname>Wanless</surname>
          </string-name>
          .
          <article-title>On the Number of Latin Squares</article-title>
          .
          <source>Journal Annals of Combinatorics</source>
          , Issue Vol.
          <volume>ume 9</volume>
          (
          <year>2005</year>
          ),
          <source>No. 3</source>
          , pp.
          <fpage>335</fpage>
          -
          <lpage>344</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. R .C. Merkle, Secrecy, authentication, and
          <article-title>public key systems</article-title>
          .
          <source>Stanford Ph.D. thesis 1979</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>15</lpage>
          . http://www.merkle.com/papers/Thesis1979.pdf
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. M. Mitchell, An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. E.
          <string-name>
            <surname>Ochodkov</surname>
          </string-name>
          <article-title>´a, V. Sna´ˇsel, Using Quasigroups for Secure Encoding of File System</article-title>
          ,
          <source>Proceedings of the International Scientific NATO PfP/PWP Conference ”Security and Information Protection</source>
          <year>2001</year>
          ”, May 9-
          <issue>11</issue>
          ,
          <year>2001</year>
          , Brno, Czech Republic, pp.
          <fpage>175</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>J. D. H. Smith</surname>
          </string-name>
          ,
          <article-title>An introduction to quasigroups and their representations</article-title>
          ,
          <source>Chapman &amp; Hall/CRC</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>L. V.</given-names>
            <surname>Snyder</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Daskin</surname>
          </string-name>
          , ”
          <article-title>A random-key genetic algorithm for the generalized traveling salesman problem</article-title>
          ,”
          <source>European Journal of Operational Research</source>
          , vol.
          <volume>174</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>38</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>M.</given-names>
            <surname>Vojvoda</surname>
          </string-name>
          .
          <article-title>Cryptanalysis of One Hash Function Based on quasigroup</article-title>
          . In Conference Mikula´ˇsska´ kryptobes´ıdka, pp.
          <fpage>23</fpage>
          -
          <lpage>28</lpage>
          ., Praha,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. V. Sna´ˇsel,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abraham</surname>
          </string-name>
          , J. Dvorsky´, E. Ochodkova´, J. Platoˇs,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kro</surname>
          </string-name>
          <article-title>¨mer, Searching for Quasigroups for Hash Functions with Genetic Algorithms</article-title>
          ,
          <source>Proceedings of the 2009 World Congress on Nature &amp; Biologically Inspired Computing</source>
          , pp.
          <fpage>367</fpage>
          -
          <lpage>372</lpage>
          IEEE Computer Society,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>