Abstract:

Problem statement: With the rapid development in the communications
and information transmissions there is a growing demand for new
approaches that increase the security of cryptographic systems.
Approach: Therefore some emerging theories, such as fractals, can be
adopted to provide a contribution toward this goal. In this study we
proposed a new cryptographic system utilizing fractal theories; this
approach exploited the main feature of fractals generated by IFS
techniques. Results: Double enciphering and double deciphering methods
performed to enhance the security of the system. The encrypted date
represented the attractor generated by the IFS transformation, collage
theorem was used to find the IFSM for decrypting data.
Conclusion/Recommendations: The proposed method gave the possibility to
hide maximum amount of data in an image that represent the attractor of
the IFS without degrading its quality and to make the hidden data robust
enough to withstand known cryptographic attacks and image processing
techniques which did not change the appearance of image.

Key words: Iterated function system, attractor, affine transformation, collage theorem, iterated function system mapping

Key words: Iterated function system, attractor, affine transformation, collage theorem, iterated function system mapping

Article Type:

Report

Subject:

Fractals
(Research)

Image coding (Methods)

Cryptography (Research)

Transformations (Mathematics) (Research)

Image coding (Methods)

Cryptography (Research)

Transformations (Mathematics) (Research)

Authors:

Saidi, Nadia M.G. Al-

Said, Muhammad Rushdan Md.

Said, Muhammad Rushdan Md.

Pub Date:

07/01/2009

Publication:

Name: Journal of Mathematics and Statistics Publisher: Science Publications Audience: Professional Format: Magazine/Journal Subject: Mathematics Copyright: COPYRIGHT 2009 Science Publications ISSN: 1549-3644

Issue:

Date: July, 2009 Source Volume: 5 Source Issue: 3

Topic:

Event Code: 310 Science & research

Accession Number:

208275517

Full Text:

INTRODUCTION

The digital information revolution has brought about changes in our society and our lives. The many advantages of digital information have also generated new challenges and new opportunities for innovation. Every few years, computer security has to re-invent itself. New technology and new applications bring new threats and force us to invent new protection mechanisms [6]. The fractals theory has proved to be suitable in many fields and particularly interesting in various applications of complex systems. Recently, some researchers developed cryptosystem based on fractals, since one of the fractal properties was having extremely high visual complexity while having low information contents, which can make simple cryptographic and Steganography methods very complex [4].

In most applications, image data is two-dimensional data; therefore, an image can be considered as two-dimensional memory. Fractal archiving is based on image representation in compact form by means of iterated function system coefficients. First important advances are due to Barnsley [1], who introduces for the first time the term of Iterated Function Systems (IFS), based on the self-similarity of fractal sets. Barnsley's work assumes that many objects can be closely approximated by self-similarity objects that might be generated by the use of IFS simple transformations.

The natural question may appear: "Can we use IFS to approximate images?" The seminal research by Jacquin [3], then a Ph.D. student of Barnsley at Georgia Tech, provided the basis of block-based fractal image coding which is still used today. Jacquin's research launched an intensive activity in fractal image compression [2,7]. From this assumption, the IFS can be seen as a relationship between the whole image and its parts, thus exploiting the similarities that exist between an image and its smaller parts. At that point, the main problem is how to find these transformations or, (what is the same) how to define the IFS. There is, in fact, a version of the IFS theory, the local iterated function systems theory that minimizes the problem by stating that the image parts do not need to resemble the whole image but it is sufficient for them to be similar to some other bigger parts in it. It was Arnaud Jacquin [3], who developed an algorithm to automate the way to find a set of transformations giving a good quality to the decoded images.

MATERIALS AND METHODS

The major concepts and results of IFS and their application to the
study of functions are presented. A more detailed review of the topics
was given in [1,5,6]. IFS Theory: Let's consider a metric space
([pounds sterling], d) where d is a given metric. A Hausdorff space H
([pounds sterling]) is defined to be the space of all compact subset of
[pounds sterling] with the Hausdorff distance h. A contractive
transformation is defined by: [beta]: [pounds sterling] [right arrow]
[pounds sterling], that satisfies:

d([beta](x),[beta](y))[less than or equal to] sd(x,y), x,y [member of] [pounds sterling], 0 [less than or equal to] s [less than or equal to] 1

We write Con ([pounds sterling], d) for the set of all contractive maps [beta]: [pounds sterling] [arrow right] [pounds sterling]. An IFS consists of a complete metric space ([pounds sterling], d) and a number of contractive mappings [[beta].sub.i] defined on [pounds sterling]. The fractal transformation associated with IFS is defined by:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where, E is any element of the space H of non-empty compact subsets of [pounds sterling]. If [[beta].sub.i] is contractive for every i, then B is contractive and there exist a unique fixed point for which:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

or

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

A is called the attractor of B. If B is continuous then A is called a fixed point of B. The fundamental result upon which the entire theory of iterated function systems is founded is the Banach Contraction Mapping Principle (BCMP) or Fixed Point Theorem, which state that, if ([pounds sterling], d) is a complete metric space and [beta] [member of] Con([pounds sterling], d) with contractivity factor s, then [beta] has a unique fixed point A [member of] [pounds sterling]. Furthermore, A is the attractor of B.

The transformations B are usually chosen to be affine. For the two dimensional case the affine transformations have the following forms:

[x.sub.n+1] = [ax.sub.n] + [by.sub.n] + e

[y.sub.n+1] = [cx.sub.n] + [dy.sub.n] + f

The coefficients a, ..., f are the IFS "code". This also be written in the affine form as:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

[beta] is said to be linear, if e = f = 0.

Now, suppose that we are given [alpha] [member of] [pounds sterling]. A natural question that was first asked in IFS theory is whether or not it is always possible to find a contractive operator B [member of] Con([pounds sterling], d) whose fixed point is [alpha]. We expect that, in general, this is not possible and that one must be satisfied in finding fixed points [[alpha].sub.i] of contractive operations [[beta].sub.i] that are approximations to [alpha]. Even in this case, however, we are faced with the problem of finding such fixed points [[alpha].sub.i]. This problem is called the Inverse Problem. It is generally stated as follows. Given (Y; [d.sub.Y]) a metric space, y [member of] and [epsilon] > 0, can we find a non constant [beta] [member of] Con(Y; [d.sub.Y]) such that [d.sub.Y](y; [y.sub.[beta]]) <[epsilon]?

Before commenting on this question, an additional question that arises is, "given y [member of] Y and [beta] [member of] Con(Y; [d.sub.Y]), how close is y to [y.sub.[beta]]"? The following proposition lends an answer. Let y; Y and [beta] be as above. Then:

[d.sub.Y] (y, [y.sub.[beta]]) [less than or equal to] 1/1 - s [d.sub.Y] (y,[beta](y))

This is often called the collage theorem. It is important in helping to identify the functions to use in an IFS in order to approximate the attractor. The Collage Theorem is fundamental to the theory of IFS because it states that if [beta](y) is close to y, then [y.sub.[beta]] is also close to y. Of course, if s [congruent to] 1, the right hand side of the inequality might not be very small. Thus, this gives some insight into finding our desired function. We should find [beta] [member of] Con(Y; [d.sub.Y]), which takes y close to itself. We recall from the BCMP that [y.sub.[beta]] is the attractor of [beta] if Y is complete. Hence we can iterate [beta] to retrieve [y.sub.[beta]] and get the desired approximation to y. Therefore, the Inverse Problem is often formulated as follows: Let (Y; [d.sub.Y]) be a complete metric space and let y [member of] Y. Given [epsilon]>0, can we find a non constant [beta] [member of] Con(Y; [d.sub.Y]), such that [d.sub.Y](y;[beta](y)) < [epsilon]?

A formal solution to this problem was given in [12] in the case of IFS on grey-level maps. This will be important in our study of approximations of images. Once [beta] is determined, it is easy to get the decoded image by making use of the BCMP, the transformation B is applied iteratively on any initial point until the succession of images does not vary significantly. However, given a set M, how to find a contractive transformation B such that its attractor A is close to M? To answer this question in symbols is to apply the collage theorem.

For a set M and a contraction B with attractor A:

h(M,A) [less than or equal to] h(M,B(M))/1 - s

where, h is the Hausdorff Distance. That is to say that M and A will be sufficiently close, if M and B(M) are made close enough in terms of [[beta].sub.i] and combining the following two expressions:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Which implies:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

So, M can be partitioned as:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Then, [m.sub.i] can be closely approximated by applying a contractive affine transformation [[beta].sub.i] on the whole M:

[m.sub.i] = [[beta].sub.i](M)

From IFS to IFSM fractal Transform: The concepts of IFS, first developed by Barnsley and Demko [5] and IFS on grey-level maps (IFSM), was introduced by Forte and Vrscay [9]. We continue with a discussion of the inverse problem for IFSM. The main idea of a fractal based image coder is to determine a set of contractive transformations to approximate each block of the image (or a segment, in a more general sense), with a larger block. More details and explanation can be found in [12].

The Collage Theorem tells us that in order to find an IFS whose attractor looks like a given set, we must find a set of contractive transformations on a suitable space, in which the given set lies, such that the distance between the given set and the union of the transformations is small. In other words, the union of the transformations is close to, or looks like, the given set. The IFS which satisfies this may be a good candidate for reproducing the given set, or image, by the attractor of the IFS. Thus this image can be stored using much less space [14].

Consider applying this theory to images, (i.e., computer images). One can think of an image as being a compact subset of [R.sup.n]. One can model a computer screen by [pounds sterling] = [[0,1].sup.2] or [R.sup.2] and define an image on the screen to be a set A in [pounds sterling], with points being screen pixels. If x [member of] A, the associated pixel is plotted white. If x [not member of] A, leave the pixel black. Hence a white screen represents A [subset or equal to] [[0,1].sup.2]. Since the world is not black and white. What is needed is an IFS-type method, which allows for, greys, i.e., maps, which move pixels around and then scale their grey-levels. These thoughts lead to IFSM theory. There is however a fundamental difference between the IFS and IFSM. The IFS works with measure and a set of probabilities [p.sub.i] associated with the [[beta].sub.i] which acts as multiplicative weight. The IFSM work with function u:[pounds sterling] [right arrow] [0,1] and function [phi]:[0,1] [right arrow] [0,1] which are composed with the u. From the viewpoint of image processing the value u(x) may be interpreted as a nonnegative gray level or brightness value at the point (or pixel) x [member of] [pounds sterling] [13].

Let us consider a compact subset A of [R.sup.2] to stimulate some ideas. Formulate a definition of A being a grey-scale image is to think of the image as a function, rather than a set. That's mean formulate IFS method on functions from sets to grey-levels in the form of A = {([x.sub.i], [y.sub.i], u([x.sub.i], [y.sub.i])), i = 1, ..., N}, where u ([x.sub.i], [y.sub.i]) represent the grey level value of the set ([x.sub.i], [y.sub.i]) [10].

These developments of IFS give a necessity to define a complete metric space of these functions. A local metric for the gray level maps with respect to an element u [member of] [pounds sterling] was contracted and the continuity of attractor [u.sub.k] with respect to [[phi].sub.i] maps was then established. Let [OMEGA] ([pounds sterling]) = {[beta]:[pounds sterling] [right arrow] R | [[beta].sup.-1](r) [member of] H([pounds sterling]), [for all]r [member of] R}, this set is defined as the set of grey level maps on [pounds sterling]. Now a metric on this space must be defined such as:

D(u, v) = Sup h([u.sup.-1](r),[v.sup.-1](r)) [for all]u, v [member of] [OMEGA] ([pounds sterling]), [for all]r [member of] R

If ([pounds sterling], d) is complete metric space then ([OMEGA] ([pounds sterling]),D) is also. The operator T on [OMEGA]([pounds sterling]), is defined by, Tu(x) = max u([[beta].sup.-1](x)), [for all]u[member of][OMEGA]([pounds sterling]), x [member of] [pounds sterling]. Thus, to find an IFS whose attractor is 'close to' or 'looks like' a given image, one must find a set of contraction mappings such that the union, or collage, of the given set under the transformations is 'close to' or 'looks like' the given image. This leads to the next result. Let ([pounds sterling], d) be a metric space and let B = {[[beta].sub.n]: n = 1,2, ..., N} is contractive with contractivity factor [s.sub.n]. Then T is contractive with contractivity S = max{[s.sub.n]: n = 1, 2, ..., N}. Also T has a unique attracting fixed point p [member of] T, T (p) = p. Since u took only two values, modify this new operator to the grey level values, so a grey level component is added.

The IFSM operator [T.sub.u] (x) = max [phi] (u([[beta].sup.-1](x))) [for all] x [member of] [pounds sterling], [phi]: R [right arrow] R. where [phi] is defined by,. [for all]u [member of] [OMEGA] ([pounds sterling]), [phi](u([[beta].sup.-1](x))) = [alpha] u([beta].sup.-1](x))+ [xi]. Therefore define the operator T on u[member of][OMEGA]([pounds sterling]) by [T.sub.u](x) = [summation over (i)] [[alpha].sub.i] u([[beta].sub.i.sup.-1](x)) + [[xi].sub.i] [for all] x [member of] [pounds sterling], where [summation] indicates that the sum runs over the all indices i with x [member of] [[beta].sub.i]([pounds sterling]). The diagram in Fig. 1 shows these operations.

Proposed approach: There are many types of cryptography, in which there are "double enciphering" and "double deciphering" processes, that make the codes more difficult to crack and to analyze. For enciphering, firstly, one of the classical Cryptographic methods are used to convert message letter into integer numbers, secondly arranging the resulting code in a chosen manner of affine IFS transformation and the resulting enciphering code is the attractor of the IFS system. For deciphering, the receiver of the attractor A retrieves affine IFS transformation B using "Inverse Problems" techniques to perform the first level of deciphering method, then some algebraic calculation applied to obtain the plain text. To illustrate the method some algebraic facts are recalls. Let m be a positive integer, the idea is to take m linear combination of the n alphabetic characters in one plaintext element thus producing the m alphabetic characters in one ciphertext element. An m x m matrix K = ([k.sub.i,j]) is taken as a first key. Let X = ([x.sub.1], [x.sub.2], ..., [x.sub.m]) and k [member of] K (the set of all m x m invertible matrices), we compute y = eK (X) = ([y.sub.1], [y.sub.2], ..., [y.sub.m]). We say that the ciphertext is obtained from the plaintext by means of a linear transformation and [K.sup.-1] is used for deciphering as X = [YK.sup.-1] [8]. A matrix K has an inverse if and only if its determinant is non-zero. [Z.sub.n] denotes the ring of integer's modulus n. [Z.sub.n] is Galois field if and only if n is prime number. So we assume that our language has n-letter, n is prime, enciphering and deciphering m units of messages of length 1 at a time. K represents an m x m matrix whose entries belong to [Z.sub.t] for which t = [n.sup.m], D represents the det(K). The relevant result for our purpose is that a matrix K has an inverse modulo n if and only if GCD(det(K),n) = 1 [11].

Theorem: [beta](X) = AX + b could be used as a secret key to encipher p messages of length m at a time in n-letter alphabet if and only if GCD(D, [n.sub.m]) = 1.

[FIGURE 1 OMITTED]

Proof: If B is secret key then B is one to one map from [Z.sub.t] to [Z.sub.t] where t = [n.sup.m] and hence onto and so invertible. Thus GCD(D, [n.sup.m]) = 1. Conversely if GCD (D, [n.sup.m]) = 1, then A is invertible and hence [beta] is one to one.

The sender arranges each unit of length m in entries with value one in the affine IFS transformation. The elements of the B maps constructed from ([C.sub.ij]/[n.sup.m]) where Cij = [p.sub.1] x [n.sup.m] + [p.sub.2] [n.sup.m-1] + ... + [p.sub.m].

Affine IFS maps: An IFS is a standard way to model natural objects. The intuitive key for deriving IFS that models any given object is self-tiling (similarity). One can always view an object as the union of several sub-objects. Let the sub-objects be actually scaled-down copies of the original object. Each of these subjects is called a tile. In particular, each sub-object is obtained by applying an affine transformation to the entire object. Now consider the original object with two or more affine transformed copies of itself. The tiling scheme should completely cover the object, even if this necessitates overlapping the tiles. Each transformation used to "create" a tile corresponds exactly to one map in the IFS. In order to create an IFS, one first specifies a finite set of contractive affine transformations {[[beta].sub.i]; i = 1, ..., n} in [R.sup.2]. In general, a contractive affine transformation [beta] in [R.sup.2] is of the form: [beta](X) = AX + b, which could be used as a secret key to produce an enciphering code. There are different possibilities to arrange element in IFS invertible maps, therefore, for abbreviation, binary sequences of 0's and 1's used to represent all possibilities for element arranging in the [[beta].sub.i] maps, as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

All the above orders are for linear affine transformation. Now for non- linearity order each one of the above maps is extended to three forms by adding the translation part b. For example, for [beta] = 111000, we have:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

RESULTS

Conversion of the plain-text message to the unreadable format is known as enciphering of the message. Similarly, conversion of the enciphered message back to the human readable form through the reversal of the encryption algorithm is known as deciphering of the message [8].

Encryption method: Let's assume that there are two parties (sender and receiver) in two far places that need to communicate secretly in a way that a third person (intruder) won't figure or recognize that they are exchanging information between them. However, the alphabetic, the classical encryption method and the order of the affine IFS maps must be agreed upon between sender and receiver.

Enciphering algorithm: In this algorithm an alphabet of n = 29 character is chosen:

* The message characters are given a numbers as it appear in Table 1, show the length of the message

* Divide the message of length l into units of length m = 3, represented by [p.sub.i][p.sub.i+1] [p.sub.i+2]

* Calculate the numeric value of each unit using the polynomial C = [p.sub.i] [n.sup.2] + [p.sub.i+1] n + [p.sub.i+2], or matrices operation to perform first level of the proposed method

* The contraction factor used is r = 1/nm

* The elements of the chosen affine IFS transformations [[beta].sub.i] are calculated by [[beta].sub.i] = [r.sup.*]C.

Notice that B = {[[beta].sub.1], [[beta].sub.2], ... [[beta].sub.i]} called a (hyperbolic) IFS

* The attractor A is generated using Random Iterated Algorithm [1]

* The enciphering code is the picture represents the Attractor A

Example: To encrypt the message, "We will attack at dawn through the left flack", the sender and the receiver agreed on an alphabet mentioned in Table 1. The message is divided into units of three characters and used as inputs to the affine transformations after applying the polynomial C = [p.sub.i] [n.sup.2] + [p.sub.i+1] n + [p.sub.i+2], the enciphering code is shown in Table 2.

If the affine mappings, 111001, 101110, 111000, 100111 are chosen, then the IFS for example 1 are constructed as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Applying the random iterated algorithm, the attractor of these transformations is shown in Fig. 2.

[FIGURE 2 OMITTED]

[FIGURE 3 OMITTED]

Decryption method: The main idea to automate the searching of local IFS relies on a partition of the image into N non-overlapping blocks of a fixed size, called Range Blocks. Each range block [R.sub.i], for i [member of] 1, ..., N}, is coded independently by matching it with a bigger block [D.sub.i] in the image, called Domain Blocks. This match defines a transformation [[tau].sub.i] and the global fractal code is then given by the union [tau] = [union][[tau].sub.i] of local transforms as shown in Fig. 3. Moreover, each local code [[tau].sub.i] restricted to consist of a reduction, a discrete isometric and an affine transformation on the luminance. Hence, [[tau].sub.i] can be modeled by:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where, [a.sub.i], [b.sub.i], [c.sub.i], [d.sub.i], [t.sub.i,1], [t.sub.i,2] represent the geometric transforms and [s.sub.i], [o.sub.i] the grey-levels transform; x, y are the pixel coordinates and z the corresponding luminance value [14].

Deciphering algorithm:

* 1-Upon the receipt of the attractor (picture) A, the receiver retrieves B using "Inverse Problems" techniques. Let A denote the image we want to encode. Let also [A.sub.r] denote a partition of A to n x n blocks referred to as Range Blocks ([R.sub.b]). Similarly, [A.sub.d] will denote another partition of A, this time to 2 x 2 n blocks or Domain Blocks ([D.sub.b]) in steps of n x n pixels. The goal of the deciphering algorithm is to establish a relationship between [A.sub.r] and [A.sub.d] in such a way that any [R.sub.b] can be expressed as a set of transformations to be applied on a particular [D.sub.b]. This algorithm is illustrated by the flowchart in Fig. 4 [6]

* The receiver then modifies the entries of the retrieved IFS system B to get [[beta].sub.i] as they agreed on before

* By multiplying each entry in the affine IFS map by [n.sup.m] and rounding them to the nearest integer we perform the first level of decrypting method

[FIGURE 4 OMITTED]

The second level is performed by applying some algebraic calculation to find [p.sub.1], [p.sub.2], [p.sub.3] in each cipher unit, as follows:

* [p.sub.1] = int(C/n)

* R = C mod [n.sup.2]

* [p.sub.2] = int(R/n)

* [p.sub.3] = R mod n

DISCUSSION

The theory of IFS was extended to local IFS where each part of the image is approximated by applying a contractive affine transformation on another part of the image: [m.sub.i] = [[beta].sub.i] ([D.sub.i]). [D.sub.i] is the bigger part from which mi is approximate. The main idea of a fractal based image coder is to determine a set of contractive transformations to approximate each block of the image (or a segment, in a more general sense), with a larger block. In this paper we propose a new Cryptographic method using the fractals theory (more precisely the IFS theory). For enciphering, firstly, one of the classical Cryptographic methods are used to convert message letter into integer numbers, secondly arranging the resulting code in a chosen manner of affine IFS transformation and the resulting enciphering code is the attractor of the IFS system. For deciphering, the receiver of the attractor A retrieves affine IFS transformation B using "Inverse Problems" techniques to perform the first level of deciphering method, an algorithm based on Jacquin's work is used, then some algebraic calculation applied to obtain the plain text.

CONCLUSION

The proposed approach employs double enciphering and double deciphering process. The fractal image generation through the given parameters, needs a great amount of iterations to converge into an attractor, but at the same time, it provides non uniform randomness and it is independent of the image size [9]. In the proposed method the IFS (B(X) = AX + b) could be used as a secret key to encipher p units messages of length m at a time in n-letter alphabet if and only if the GCD (D, [n.sub.m]) = 1, then generates the fractals associated with the IFS. The receiver can recover the message using the collage theorem and simple algebraic calculations.

The proposed fractal encryption technique gives the possibility to hide maximum amount of data in an image that represent the attractor of the IFS without degrading its quality. The other advantage of using fractal as an encryption technique is to make the hidden data robust enough to withstand image processing technique which does not change the appearance of image. For better results images should be in 24-Bit bit map (bmp) format and much better results are obtained by using larger size image (512 x 512).

ACKNOWLEDGEMENT

The researchers would like to acknowledge the Institute for Mathematical Research (INSPEM), University Putra Malaysia (UPM) for its continuous support.

REFERENCES

[1.] Barnsley, M., 1993. Fractals Everywhere. 2nd Edn., Academic Press Professional Inc., San Diego, CA., USA., ISBN: 10: 0120790610, pp: 550.

[2.] Fisher, Y., 1995. Fractal Image Compression: Theory and Application. Springer-Verlag. New York, USA., ISBN: 0-387-94211-4, pp: 341.

[3.] Jacquin, A.E., 1992. Image coding based on a fractal theory of iterated contractive image transformations. IEEE Trans. Image Process, 1: 18-30. http://www.ncbi.nlm.nih.gov/pubmed/18296137

[4.] Gulati, K. and V.M. Gadre, 2003. Information hiding using fractal encoding. Dissertation for the Degree of Master of Technology, School of information Technology, Indian Institute of Technology Bombay, Mumbai. http://www.it.iitb.ac.in/~kamal/fractal.pdf

[5.] Barnsley, M.F. and S. Demko, 1985. Iterated function systems and the global construction of fractals. Proc. R. Soc. London, 399: 243-275. http://adsabs.harvard.edu/abs/1985RSPSA.399..243B

[6.] Puate, J. and F. Jordan, 1996. Using fractal compression scheme to embed a digital signature into an image. Proceedings of Photonics East '96the SPIE's International Symposium on Intelligent Systems and Advanced Manufacturing, Nov. 1996, Boston, MA. http://infoscience.epfl.ch/record/86413

[7.] Avalos, P.A.H., C.F. Uribe, R.L. Velazquez and R.A.C. Parra, 2007. Watermarking based on iterated function systems. Proceeding of the International Congress on Computing, Nov. 2007, IEEE Computer Society Press, Washington DC., USA., pp: 147-151. http://ccc.inaoep.mx/~cferegrino/Publicaciones/arti culos/WatermarkingIFS.pdf

[8.] Stinson, R., 2006. Cryptography: Theory and Practice. 3rd Edn., CRC Press, ISBN: 1584885084, pp: 593.

[9.] Forte, B. and E.R. Vrscay 1995. Theory of generalized fractal transforms. Fractal image encoding and analysis. ftp://shear.informatik.unileipzig.de/pub/Fractal/pap ers/FoVr95b.ps.gz

[10.] Piche, D., 1997. IFSM wavelets and fractal-wavelets three methods of approximation. MSc. Thesis Waterloo, Canada. http://uwspace.uwaterloo.ca/handle/10012/29?mod e=full

[11.] Neal Koblitz, 1994. A Course in Number Theory and Cryptography. 2rd Edn., Springer, ISBN: 0387942939, pp: 235.

[12.] Piche, D.G., 2002. complex bases, number systems and their application to fractal-wavelet image coding. Ph.D. Thesis in applied Mathematics. Waterloo, Ontario, Canada. http://uwspace.uwaterloo.ca/handle/10012/1057

[13.] Zhou, Y.M., C. Zhang and Z.K. Zhang, 2009. An efficient image coding algorithm using unified feature and DCT. Chaos Solitons Fract., 39: 1823-1830. DOI: 10.1016/j.chaos.2007.06.089

[14.] Dugelay, J.L., E. Polidori and S. Roche, 1996. Iterated Function Systems for still Image Processing. IWISP-96, Manchester, UK. http://citeseerx.ist.psu.edu/viewdoc/summary?doi= 10.1.1.42.623

Nadia M.G. Al-Saidi and Muhammad Rushdan Md. Said

Institute for Mathematical Research, University Putra Malaysia, 43400, Serdang, Selangor, Malaysia

Corresponding Author: Nadia M.G. Al-Saidi, Institute for Mathematical Research, University Putra Malaysia, 43400, Serdang, Selangor, Malaysia Tel : +60162144183/+03 8946 6878 Fax: +03 89423789

The digital information revolution has brought about changes in our society and our lives. The many advantages of digital information have also generated new challenges and new opportunities for innovation. Every few years, computer security has to re-invent itself. New technology and new applications bring new threats and force us to invent new protection mechanisms [6]. The fractals theory has proved to be suitable in many fields and particularly interesting in various applications of complex systems. Recently, some researchers developed cryptosystem based on fractals, since one of the fractal properties was having extremely high visual complexity while having low information contents, which can make simple cryptographic and Steganography methods very complex [4].

In most applications, image data is two-dimensional data; therefore, an image can be considered as two-dimensional memory. Fractal archiving is based on image representation in compact form by means of iterated function system coefficients. First important advances are due to Barnsley [1], who introduces for the first time the term of Iterated Function Systems (IFS), based on the self-similarity of fractal sets. Barnsley's work assumes that many objects can be closely approximated by self-similarity objects that might be generated by the use of IFS simple transformations.

The natural question may appear: "Can we use IFS to approximate images?" The seminal research by Jacquin [3], then a Ph.D. student of Barnsley at Georgia Tech, provided the basis of block-based fractal image coding which is still used today. Jacquin's research launched an intensive activity in fractal image compression [2,7]. From this assumption, the IFS can be seen as a relationship between the whole image and its parts, thus exploiting the similarities that exist between an image and its smaller parts. At that point, the main problem is how to find these transformations or, (what is the same) how to define the IFS. There is, in fact, a version of the IFS theory, the local iterated function systems theory that minimizes the problem by stating that the image parts do not need to resemble the whole image but it is sufficient for them to be similar to some other bigger parts in it. It was Arnaud Jacquin [3], who developed an algorithm to automate the way to find a set of transformations giving a good quality to the decoded images.

MATERIALS AND METHODS

d([beta](x),[beta](y))[less than or equal to] sd(x,y), x,y [member of] [pounds sterling], 0 [less than or equal to] s [less than or equal to] 1

We write Con ([pounds sterling], d) for the set of all contractive maps [beta]: [pounds sterling] [arrow right] [pounds sterling]. An IFS consists of a complete metric space ([pounds sterling], d) and a number of contractive mappings [[beta].sub.i] defined on [pounds sterling]. The fractal transformation associated with IFS is defined by:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where, E is any element of the space H of non-empty compact subsets of [pounds sterling]. If [[beta].sub.i] is contractive for every i, then B is contractive and there exist a unique fixed point for which:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

or

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

A is called the attractor of B. If B is continuous then A is called a fixed point of B. The fundamental result upon which the entire theory of iterated function systems is founded is the Banach Contraction Mapping Principle (BCMP) or Fixed Point Theorem, which state that, if ([pounds sterling], d) is a complete metric space and [beta] [member of] Con([pounds sterling], d) with contractivity factor s, then [beta] has a unique fixed point A [member of] [pounds sterling]. Furthermore, A is the attractor of B.

The transformations B are usually chosen to be affine. For the two dimensional case the affine transformations have the following forms:

[x.sub.n+1] = [ax.sub.n] + [by.sub.n] + e

[y.sub.n+1] = [cx.sub.n] + [dy.sub.n] + f

The coefficients a, ..., f are the IFS "code". This also be written in the affine form as:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

[beta] is said to be linear, if e = f = 0.

Now, suppose that we are given [alpha] [member of] [pounds sterling]. A natural question that was first asked in IFS theory is whether or not it is always possible to find a contractive operator B [member of] Con([pounds sterling], d) whose fixed point is [alpha]. We expect that, in general, this is not possible and that one must be satisfied in finding fixed points [[alpha].sub.i] of contractive operations [[beta].sub.i] that are approximations to [alpha]. Even in this case, however, we are faced with the problem of finding such fixed points [[alpha].sub.i]. This problem is called the Inverse Problem. It is generally stated as follows. Given (Y; [d.sub.Y]) a metric space, y [member of] and [epsilon] > 0, can we find a non constant [beta] [member of] Con(Y; [d.sub.Y]) such that [d.sub.Y](y; [y.sub.[beta]]) <[epsilon]?

Before commenting on this question, an additional question that arises is, "given y [member of] Y and [beta] [member of] Con(Y; [d.sub.Y]), how close is y to [y.sub.[beta]]"? The following proposition lends an answer. Let y; Y and [beta] be as above. Then:

[d.sub.Y] (y, [y.sub.[beta]]) [less than or equal to] 1/1 - s [d.sub.Y] (y,[beta](y))

This is often called the collage theorem. It is important in helping to identify the functions to use in an IFS in order to approximate the attractor. The Collage Theorem is fundamental to the theory of IFS because it states that if [beta](y) is close to y, then [y.sub.[beta]] is also close to y. Of course, if s [congruent to] 1, the right hand side of the inequality might not be very small. Thus, this gives some insight into finding our desired function. We should find [beta] [member of] Con(Y; [d.sub.Y]), which takes y close to itself. We recall from the BCMP that [y.sub.[beta]] is the attractor of [beta] if Y is complete. Hence we can iterate [beta] to retrieve [y.sub.[beta]] and get the desired approximation to y. Therefore, the Inverse Problem is often formulated as follows: Let (Y; [d.sub.Y]) be a complete metric space and let y [member of] Y. Given [epsilon]>0, can we find a non constant [beta] [member of] Con(Y; [d.sub.Y]), such that [d.sub.Y](y;[beta](y)) < [epsilon]?

A formal solution to this problem was given in [12] in the case of IFS on grey-level maps. This will be important in our study of approximations of images. Once [beta] is determined, it is easy to get the decoded image by making use of the BCMP, the transformation B is applied iteratively on any initial point until the succession of images does not vary significantly. However, given a set M, how to find a contractive transformation B such that its attractor A is close to M? To answer this question in symbols is to apply the collage theorem.

For a set M and a contraction B with attractor A:

h(M,A) [less than or equal to] h(M,B(M))/1 - s

where, h is the Hausdorff Distance. That is to say that M and A will be sufficiently close, if M and B(M) are made close enough in terms of [[beta].sub.i] and combining the following two expressions:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Which implies:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

So, M can be partitioned as:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Then, [m.sub.i] can be closely approximated by applying a contractive affine transformation [[beta].sub.i] on the whole M:

[m.sub.i] = [[beta].sub.i](M)

From IFS to IFSM fractal Transform: The concepts of IFS, first developed by Barnsley and Demko [5] and IFS on grey-level maps (IFSM), was introduced by Forte and Vrscay [9]. We continue with a discussion of the inverse problem for IFSM. The main idea of a fractal based image coder is to determine a set of contractive transformations to approximate each block of the image (or a segment, in a more general sense), with a larger block. More details and explanation can be found in [12].

The Collage Theorem tells us that in order to find an IFS whose attractor looks like a given set, we must find a set of contractive transformations on a suitable space, in which the given set lies, such that the distance between the given set and the union of the transformations is small. In other words, the union of the transformations is close to, or looks like, the given set. The IFS which satisfies this may be a good candidate for reproducing the given set, or image, by the attractor of the IFS. Thus this image can be stored using much less space [14].

Consider applying this theory to images, (i.e., computer images). One can think of an image as being a compact subset of [R.sup.n]. One can model a computer screen by [pounds sterling] = [[0,1].sup.2] or [R.sup.2] and define an image on the screen to be a set A in [pounds sterling], with points being screen pixels. If x [member of] A, the associated pixel is plotted white. If x [not member of] A, leave the pixel black. Hence a white screen represents A [subset or equal to] [[0,1].sup.2]. Since the world is not black and white. What is needed is an IFS-type method, which allows for, greys, i.e., maps, which move pixels around and then scale their grey-levels. These thoughts lead to IFSM theory. There is however a fundamental difference between the IFS and IFSM. The IFS works with measure and a set of probabilities [p.sub.i] associated with the [[beta].sub.i] which acts as multiplicative weight. The IFSM work with function u:[pounds sterling] [right arrow] [0,1] and function [phi]:[0,1] [right arrow] [0,1] which are composed with the u. From the viewpoint of image processing the value u(x) may be interpreted as a nonnegative gray level or brightness value at the point (or pixel) x [member of] [pounds sterling] [13].

Let us consider a compact subset A of [R.sup.2] to stimulate some ideas. Formulate a definition of A being a grey-scale image is to think of the image as a function, rather than a set. That's mean formulate IFS method on functions from sets to grey-levels in the form of A = {([x.sub.i], [y.sub.i], u([x.sub.i], [y.sub.i])), i = 1, ..., N}, where u ([x.sub.i], [y.sub.i]) represent the grey level value of the set ([x.sub.i], [y.sub.i]) [10].

These developments of IFS give a necessity to define a complete metric space of these functions. A local metric for the gray level maps with respect to an element u [member of] [pounds sterling] was contracted and the continuity of attractor [u.sub.k] with respect to [[phi].sub.i] maps was then established. Let [OMEGA] ([pounds sterling]) = {[beta]:[pounds sterling] [right arrow] R | [[beta].sup.-1](r) [member of] H([pounds sterling]), [for all]r [member of] R}, this set is defined as the set of grey level maps on [pounds sterling]. Now a metric on this space must be defined such as:

D(u, v) = Sup h([u.sup.-1](r),[v.sup.-1](r)) [for all]u, v [member of] [OMEGA] ([pounds sterling]), [for all]r [member of] R

If ([pounds sterling], d) is complete metric space then ([OMEGA] ([pounds sterling]),D) is also. The operator T on [OMEGA]([pounds sterling]), is defined by, Tu(x) = max u([[beta].sup.-1](x)), [for all]u[member of][OMEGA]([pounds sterling]), x [member of] [pounds sterling]. Thus, to find an IFS whose attractor is 'close to' or 'looks like' a given image, one must find a set of contraction mappings such that the union, or collage, of the given set under the transformations is 'close to' or 'looks like' the given image. This leads to the next result. Let ([pounds sterling], d) be a metric space and let B = {[[beta].sub.n]: n = 1,2, ..., N} is contractive with contractivity factor [s.sub.n]. Then T is contractive with contractivity S = max{[s.sub.n]: n = 1, 2, ..., N}. Also T has a unique attracting fixed point p [member of] T, T (p) = p. Since u took only two values, modify this new operator to the grey level values, so a grey level component is added.

The IFSM operator [T.sub.u] (x) = max [phi] (u([[beta].sup.-1](x))) [for all] x [member of] [pounds sterling], [phi]: R [right arrow] R. where [phi] is defined by,. [for all]u [member of] [OMEGA] ([pounds sterling]), [phi](u([[beta].sup.-1](x))) = [alpha] u([beta].sup.-1](x))+ [xi]. Therefore define the operator T on u[member of][OMEGA]([pounds sterling]) by [T.sub.u](x) = [summation over (i)] [[alpha].sub.i] u([[beta].sub.i.sup.-1](x)) + [[xi].sub.i] [for all] x [member of] [pounds sterling], where [summation] indicates that the sum runs over the all indices i with x [member of] [[beta].sub.i]([pounds sterling]). The diagram in Fig. 1 shows these operations.

Proposed approach: There are many types of cryptography, in which there are "double enciphering" and "double deciphering" processes, that make the codes more difficult to crack and to analyze. For enciphering, firstly, one of the classical Cryptographic methods are used to convert message letter into integer numbers, secondly arranging the resulting code in a chosen manner of affine IFS transformation and the resulting enciphering code is the attractor of the IFS system. For deciphering, the receiver of the attractor A retrieves affine IFS transformation B using "Inverse Problems" techniques to perform the first level of deciphering method, then some algebraic calculation applied to obtain the plain text. To illustrate the method some algebraic facts are recalls. Let m be a positive integer, the idea is to take m linear combination of the n alphabetic characters in one plaintext element thus producing the m alphabetic characters in one ciphertext element. An m x m matrix K = ([k.sub.i,j]) is taken as a first key. Let X = ([x.sub.1], [x.sub.2], ..., [x.sub.m]) and k [member of] K (the set of all m x m invertible matrices), we compute y = eK (X) = ([y.sub.1], [y.sub.2], ..., [y.sub.m]). We say that the ciphertext is obtained from the plaintext by means of a linear transformation and [K.sup.-1] is used for deciphering as X = [YK.sup.-1] [8]. A matrix K has an inverse if and only if its determinant is non-zero. [Z.sub.n] denotes the ring of integer's modulus n. [Z.sub.n] is Galois field if and only if n is prime number. So we assume that our language has n-letter, n is prime, enciphering and deciphering m units of messages of length 1 at a time. K represents an m x m matrix whose entries belong to [Z.sub.t] for which t = [n.sup.m], D represents the det(K). The relevant result for our purpose is that a matrix K has an inverse modulo n if and only if GCD(det(K),n) = 1 [11].

Theorem: [beta](X) = AX + b could be used as a secret key to encipher p messages of length m at a time in n-letter alphabet if and only if GCD(D, [n.sub.m]) = 1.

[FIGURE 1 OMITTED]

Proof: If B is secret key then B is one to one map from [Z.sub.t] to [Z.sub.t] where t = [n.sup.m] and hence onto and so invertible. Thus GCD(D, [n.sup.m]) = 1. Conversely if GCD (D, [n.sup.m]) = 1, then A is invertible and hence [beta] is one to one.

The sender arranges each unit of length m in entries with value one in the affine IFS transformation. The elements of the B maps constructed from ([C.sub.ij]/[n.sup.m]) where Cij = [p.sub.1] x [n.sup.m] + [p.sub.2] [n.sup.m-1] + ... + [p.sub.m].

Affine IFS maps: An IFS is a standard way to model natural objects. The intuitive key for deriving IFS that models any given object is self-tiling (similarity). One can always view an object as the union of several sub-objects. Let the sub-objects be actually scaled-down copies of the original object. Each of these subjects is called a tile. In particular, each sub-object is obtained by applying an affine transformation to the entire object. Now consider the original object with two or more affine transformed copies of itself. The tiling scheme should completely cover the object, even if this necessitates overlapping the tiles. Each transformation used to "create" a tile corresponds exactly to one map in the IFS. In order to create an IFS, one first specifies a finite set of contractive affine transformations {[[beta].sub.i]; i = 1, ..., n} in [R.sup.2]. In general, a contractive affine transformation [beta] in [R.sup.2] is of the form: [beta](X) = AX + b, which could be used as a secret key to produce an enciphering code. There are different possibilities to arrange element in IFS invertible maps, therefore, for abbreviation, binary sequences of 0's and 1's used to represent all possibilities for element arranging in the [[beta].sub.i] maps, as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

All the above orders are for linear affine transformation. Now for non- linearity order each one of the above maps is extended to three forms by adding the translation part b. For example, for [beta] = 111000, we have:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

RESULTS

Conversion of the plain-text message to the unreadable format is known as enciphering of the message. Similarly, conversion of the enciphered message back to the human readable form through the reversal of the encryption algorithm is known as deciphering of the message [8].

Encryption method: Let's assume that there are two parties (sender and receiver) in two far places that need to communicate secretly in a way that a third person (intruder) won't figure or recognize that they are exchanging information between them. However, the alphabetic, the classical encryption method and the order of the affine IFS maps must be agreed upon between sender and receiver.

Enciphering algorithm: In this algorithm an alphabet of n = 29 character is chosen:

* The message characters are given a numbers as it appear in Table 1, show the length of the message

* Divide the message of length l into units of length m = 3, represented by [p.sub.i][p.sub.i+1] [p.sub.i+2]

* Calculate the numeric value of each unit using the polynomial C = [p.sub.i] [n.sup.2] + [p.sub.i+1] n + [p.sub.i+2], or matrices operation to perform first level of the proposed method

* The contraction factor used is r = 1/nm

* The elements of the chosen affine IFS transformations [[beta].sub.i] are calculated by [[beta].sub.i] = [r.sup.*]C.

Notice that B = {[[beta].sub.1], [[beta].sub.2], ... [[beta].sub.i]} called a (hyperbolic) IFS

* The attractor A is generated using Random Iterated Algorithm [1]

* The enciphering code is the picture represents the Attractor A

Example: To encrypt the message, "We will attack at dawn through the left flack", the sender and the receiver agreed on an alphabet mentioned in Table 1. The message is divided into units of three characters and used as inputs to the affine transformations after applying the polynomial C = [p.sub.i] [n.sup.2] + [p.sub.i+1] n + [p.sub.i+2], the enciphering code is shown in Table 2.

If the affine mappings, 111001, 101110, 111000, 100111 are chosen, then the IFS for example 1 are constructed as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Applying the random iterated algorithm, the attractor of these transformations is shown in Fig. 2.

[FIGURE 2 OMITTED]

[FIGURE 3 OMITTED]

Decryption method: The main idea to automate the searching of local IFS relies on a partition of the image into N non-overlapping blocks of a fixed size, called Range Blocks. Each range block [R.sub.i], for i [member of] 1, ..., N}, is coded independently by matching it with a bigger block [D.sub.i] in the image, called Domain Blocks. This match defines a transformation [[tau].sub.i] and the global fractal code is then given by the union [tau] = [union][[tau].sub.i] of local transforms as shown in Fig. 3. Moreover, each local code [[tau].sub.i] restricted to consist of a reduction, a discrete isometric and an affine transformation on the luminance. Hence, [[tau].sub.i] can be modeled by:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where, [a.sub.i], [b.sub.i], [c.sub.i], [d.sub.i], [t.sub.i,1], [t.sub.i,2] represent the geometric transforms and [s.sub.i], [o.sub.i] the grey-levels transform; x, y are the pixel coordinates and z the corresponding luminance value [14].

Deciphering algorithm:

* 1-Upon the receipt of the attractor (picture) A, the receiver retrieves B using "Inverse Problems" techniques. Let A denote the image we want to encode. Let also [A.sub.r] denote a partition of A to n x n blocks referred to as Range Blocks ([R.sub.b]). Similarly, [A.sub.d] will denote another partition of A, this time to 2 x 2 n blocks or Domain Blocks ([D.sub.b]) in steps of n x n pixels. The goal of the deciphering algorithm is to establish a relationship between [A.sub.r] and [A.sub.d] in such a way that any [R.sub.b] can be expressed as a set of transformations to be applied on a particular [D.sub.b]. This algorithm is illustrated by the flowchart in Fig. 4 [6]

* The receiver then modifies the entries of the retrieved IFS system B to get [[beta].sub.i] as they agreed on before

* By multiplying each entry in the affine IFS map by [n.sup.m] and rounding them to the nearest integer we perform the first level of decrypting method

[FIGURE 4 OMITTED]

The second level is performed by applying some algebraic calculation to find [p.sub.1], [p.sub.2], [p.sub.3] in each cipher unit, as follows:

* [p.sub.1] = int(C/n)

* R = C mod [n.sup.2]

* [p.sub.2] = int(R/n)

* [p.sub.3] = R mod n

DISCUSSION

The theory of IFS was extended to local IFS where each part of the image is approximated by applying a contractive affine transformation on another part of the image: [m.sub.i] = [[beta].sub.i] ([D.sub.i]). [D.sub.i] is the bigger part from which mi is approximate. The main idea of a fractal based image coder is to determine a set of contractive transformations to approximate each block of the image (or a segment, in a more general sense), with a larger block. In this paper we propose a new Cryptographic method using the fractals theory (more precisely the IFS theory). For enciphering, firstly, one of the classical Cryptographic methods are used to convert message letter into integer numbers, secondly arranging the resulting code in a chosen manner of affine IFS transformation and the resulting enciphering code is the attractor of the IFS system. For deciphering, the receiver of the attractor A retrieves affine IFS transformation B using "Inverse Problems" techniques to perform the first level of deciphering method, an algorithm based on Jacquin's work is used, then some algebraic calculation applied to obtain the plain text.

CONCLUSION

The proposed approach employs double enciphering and double deciphering process. The fractal image generation through the given parameters, needs a great amount of iterations to converge into an attractor, but at the same time, it provides non uniform randomness and it is independent of the image size [9]. In the proposed method the IFS (B(X) = AX + b) could be used as a secret key to encipher p units messages of length m at a time in n-letter alphabet if and only if the GCD (D, [n.sub.m]) = 1, then generates the fractals associated with the IFS. The receiver can recover the message using the collage theorem and simple algebraic calculations.

The proposed fractal encryption technique gives the possibility to hide maximum amount of data in an image that represent the attractor of the IFS without degrading its quality. The other advantage of using fractal as an encryption technique is to make the hidden data robust enough to withstand image processing technique which does not change the appearance of image. For better results images should be in 24-Bit bit map (bmp) format and much better results are obtained by using larger size image (512 x 512).

ACKNOWLEDGEMENT

The researchers would like to acknowledge the Institute for Mathematical Research (INSPEM), University Putra Malaysia (UPM) for its continuous support.

REFERENCES

[1.] Barnsley, M., 1993. Fractals Everywhere. 2nd Edn., Academic Press Professional Inc., San Diego, CA., USA., ISBN: 10: 0120790610, pp: 550.

[2.] Fisher, Y., 1995. Fractal Image Compression: Theory and Application. Springer-Verlag. New York, USA., ISBN: 0-387-94211-4, pp: 341.

[3.] Jacquin, A.E., 1992. Image coding based on a fractal theory of iterated contractive image transformations. IEEE Trans. Image Process, 1: 18-30. http://www.ncbi.nlm.nih.gov/pubmed/18296137

[4.] Gulati, K. and V.M. Gadre, 2003. Information hiding using fractal encoding. Dissertation for the Degree of Master of Technology, School of information Technology, Indian Institute of Technology Bombay, Mumbai. http://www.it.iitb.ac.in/~kamal/fractal.pdf

[5.] Barnsley, M.F. and S. Demko, 1985. Iterated function systems and the global construction of fractals. Proc. R. Soc. London, 399: 243-275. http://adsabs.harvard.edu/abs/1985RSPSA.399..243B

[6.] Puate, J. and F. Jordan, 1996. Using fractal compression scheme to embed a digital signature into an image. Proceedings of Photonics East '96the SPIE's International Symposium on Intelligent Systems and Advanced Manufacturing, Nov. 1996, Boston, MA. http://infoscience.epfl.ch/record/86413

[7.] Avalos, P.A.H., C.F. Uribe, R.L. Velazquez and R.A.C. Parra, 2007. Watermarking based on iterated function systems. Proceeding of the International Congress on Computing, Nov. 2007, IEEE Computer Society Press, Washington DC., USA., pp: 147-151. http://ccc.inaoep.mx/~cferegrino/Publicaciones/arti culos/WatermarkingIFS.pdf

[8.] Stinson, R., 2006. Cryptography: Theory and Practice. 3rd Edn., CRC Press, ISBN: 1584885084, pp: 593.

[9.] Forte, B. and E.R. Vrscay 1995. Theory of generalized fractal transforms. Fractal image encoding and analysis. ftp://shear.informatik.unileipzig.de/pub/Fractal/pap ers/FoVr95b.ps.gz

[10.] Piche, D., 1997. IFSM wavelets and fractal-wavelets three methods of approximation. MSc. Thesis Waterloo, Canada. http://uwspace.uwaterloo.ca/handle/10012/29?mod e=full

[11.] Neal Koblitz, 1994. A Course in Number Theory and Cryptography. 2rd Edn., Springer, ISBN: 0387942939, pp: 235.

[12.] Piche, D.G., 2002. complex bases, number systems and their application to fractal-wavelet image coding. Ph.D. Thesis in applied Mathematics. Waterloo, Ontario, Canada. http://uwspace.uwaterloo.ca/handle/10012/1057

[13.] Zhou, Y.M., C. Zhang and Z.K. Zhang, 2009. An efficient image coding algorithm using unified feature and DCT. Chaos Solitons Fract., 39: 1823-1830. DOI: 10.1016/j.chaos.2007.06.089

[14.] Dugelay, J.L., E. Polidori and S. Roche, 1996. Iterated Function Systems for still Image Processing. IWISP-96, Manchester, UK. http://citeseerx.ist.psu.edu/viewdoc/summary?doi= 10.1.1.42.623

Nadia M.G. Al-Saidi and Muhammad Rushdan Md. Said

Institute for Mathematical Research, University Putra Malaysia, 43400, Serdang, Selangor, Malaysia

Corresponding Author: Nadia M.G. Al-Saidi, Institute for Mathematical Research, University Putra Malaysia, 43400, Serdang, Selangor, Malaysia Tel : +60162144183/+03 8946 6878 Fax: +03 89423789

Table 1: English Alphabet used for encryption English letters with with integer values A = 0 B = 1 C = 2 D = 3 E = 4 F = 5 G = 6 H = 7 I = 8 J = 9 K = 10 L = 11 M = 12 N = 13 O = 14 P = 15 Q = 16 R = 17 S = 18 T = 19 U = 20 V = 21 W = 22 X = 23 Y = 24 Z = 25 $ = 26 . = 27 ? = 28 Table 2: Message units and their enciphering code M. unit Value M. unit Value we$ 18644 hro 6394 wil 18745 ugh 17291 1$a 10005 $th 22424 tta 16530 e$l 4129 ck$ 1998 eft 3528 at$ 577 $fl 22022 daw 2545 ack 68 n$t 11706 -- --

Gale Copyright:

Copyright 2009 Gale, Cengage Learning. All rights
reserved.