Fast Implementation of the ANF Transform

Size: px
Start display at page:

Download "Fast Implementation of the ANF Transform"

Transcription

1 Fast Implementation of the ANF Transform Valentin Bakoev Faculty of Mathematics and Informatics, Veliko Turnovo University, Bulgaria MDS OCRT, 4 July, 27 Sofia, Bulgaria V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

2 Outline Introduction 2 Basic notions and preliminary results 3 Fast implementation of the ANFT 4 Experimental results and conclusions V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

3 . Introduction Importance: the algebraic degree of an S-box (or a vectorial Boolean function) is one of its most important cryptographic parameters. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

4 . Introduction Importance: the algebraic degree of an S-box (or a vectorial Boolean function) is one of its most important cryptographic parameters. Computing: its computing includes obtaining of the algebraic normal forms of the coordinate Boolean functions, which form the S-box. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

5 . Introduction Importance: the algebraic degree of an S-box (or a vectorial Boolean function) is one of its most important cryptographic parameters. Computing: its computing includes obtaining of the algebraic normal forms of the coordinate Boolean functions, which form the S-box. During the generation of S-boxes it should be done as fast as possible (as well as computing the other cryptographic criteria), in order to obtain more S-boxes and to select the best of them. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

6 . Introduction Importance: the algebraic degree of an S-box (or a vectorial Boolean function) is one of its most important cryptographic parameters. Computing: its computing includes obtaining of the algebraic normal forms of the coordinate Boolean functions, which form the S-box. During the generation of S-boxes it should be done as fast as possible (as well as computing the other cryptographic criteria), in order to obtain more S-boxes and to select the best of them. The algebraic degree of a Boolean function is defined by one special representation in the area of algebra and cryptology it is known as Algebraic Normal Form (ANF). V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

7 . Introduction The ANF representation is considered in the literature from other viewpoints and has many generalizations: The classical (logical) one it is known as Zhegalkin polynomial. The famous Zhegalkin theorem states that for every Boolean function there exists an unique polynomial form of it over the functionally complete set of Boolean functions {x.y, x y, }. Yablonski S., Introduction to discrete mathematics, Fourth Edition, Visshaia Shkola, Moskow, 23. (in Russian) V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

8 . Introduction The ANF representation is considered in the literature from other viewpoints and has many generalizations: The classical (logical) one it is known as Zhegalkin polynomial. The famous Zhegalkin theorem states that for every Boolean function there exists an unique polynomial form of it over the functionally complete set of Boolean functions {x.y, x y, }. Yablonski S., Introduction to discrete mathematics, Fourth Edition, Visshaia Shkola, Moskow, 23. (in Russian) Circuit theory, switching functions etc. it is known as: modulo-2 sum-of-products, Reed-Muller-canonical expansion, positive polarity Reed-Muller form, etc. Harking B., Efficient algorithm for canonical Reed-Muller expansions of Boolean functions, IEE Proc. Comput. Digit. Tech., 37, 5, 99, Porwik P., Efficient calculation of the Reed-Muller form by means of the Walsh transform, Int. J. Appl. Math. Comput. Sci., 2, 4, 22, V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

9 . Introduction The computing of these representations for a given Boolean function can be done in different ways. In dependence of the area of consideration they have different names: ANF Transform (ANFT); (fast) Möbius (or Moebius) Transform; Zhegalkin Transform; Positive polarity Reed-Muller Transform (PPRMT), etc. Our experience convinced us how important these facts are in searching papers by keywords. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

10 . Introduction The algorithm for performing ANFT in its typical form (i.e. operating on bytes) is well-known and is given in many sources. However its bitwise implementation is considered quite rarely. J. Fuller and A. Joux Fuller J., Analysis of affine equivalent Boolean functions for cryptography, Ph.D. Thesis, Queensland University of Technology, Australia, 23. Joux A., Algorithmic Cryptanalysis, Chapman & Hall/CRC Cryptography and Network Security, 22. stress to the necessity of optimization issues and techniques, and consider some of them. They give two different programs (in C language) that perform the ANFT. They use the bitwise representation of Boolean functions in 32-bits computer words. However, in both sources: the role of shifts and masks is not explained; the correctness and the complexity of the programs are not given; there are not experimental results; it is not clear how to modify the programs to run on 64-bits (or more bits) computer words. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

11 . Introduction In 998 we developed an algorithm for computing the Zhegalkin transform. In 28 we proposed other version of this algorithm (called PPRMT), derived in a different way. Manev K. and Bakoev V., Algorithms for performing the Zhegulakin transfroemation, in Proc. of the XXVII Spring Conf. of the Union of Bulgarian Mathematicians, (Pleven, Bulgaria, April 9, 998), Mathematics and education in mathematics, Sofia, 998, Bakoev V. and Manev K., Fast computing of the positive polarity Reed-Muller transform over GF(2) and GF(3), in Proc. of the XI Intern. Workshop on Algebraic and Combinatorial Coding Theory (ACCT), 6-22 June, 28, Pamporovo, Bulgaria, 28, 3 2. We also commented its bitwise representation and implementation, that can improve its time and space complexity. However, this work did not attract the attention of cryptographers and a reason for this might have been its name PPRMT. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

12 . Introduction Our report is a continuation of the last work. We represent our full version of the bitwise ANFT with comments about its implementation and correctness. We obtained a general time complexity Θ((9n 2).2 n 7 ) by using a bitwise representation of Boolean functions in 64-bits computer words. Some experimental results are also given. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

13 2. Basic notions and preliminary results Here we consider: F 2 = {, } the field of two elements with two operations: x y and x.y (or xy), for x, y F 2 ; F n 2 the n-dimensional vector space over F 2, it includes all 2 n binary vectors; for an arbitrary a = (a, a 2,..., a n ) F n 2, ā is the natural number ā = n i= a i.2 n i. The binary representation of ā ( ā 2 n ) in n bits determines the coordinates of a. The correspondence between a and ā is a bijection. for a = (a, a 2,..., a n ) and b = (b, b 2,..., b n ) F n 2, we say that "a precedes lexicographically b" and denote it by a b if k, k < n, such that a i = b i, for i k, and a k+ < b k+. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

14 2. Basic notions and preliminary results The relation " " over F n 2, gives an unique lexicographic (standard) order of the vectors of F n 2 in the sequence a = (,,..., ) a = (,,...,, ) a 2 n = (,,..., ). So ā = < ā = < < ā 2 n = 2 n. Boolean function of n variables (denoted by x, x 2,..., x n ) is a mapping f : F n 2 F 2, i.e. f maps any binary input x = (x, x 2,..., x n ) F n 2 to a single binary output y = f (x) F 2. Any Boolean function f can be represented in an unique way by its True Table vector: TT (f ) = (f, f,... f 2 n ), where f i = f (a i ) and a i is the i-th vector in the lexicographic order of F n 2, for i =,,..., 2 n. When the TT (f ) is considered as vector-column, it is denoted by [f ]. F n is the set of all Boolean functions of n variables, its size is F n = 2 2n. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

15 2. Basic notions and preliminary results Algebraic Normal Form (ANF) other unique representation of any f F n. It is a multivariate polynomial f (x, x 2,..., x n ) = u F n 2 aū x u. () Here u = (u, u 2,..., u n ) F n 2, a ū {, }, and x u means the monomial x u x u x n un = n i= x u i i, where xi = and xi = x i, for i =, 2,... n. If f F n and the TT(f) is given, the coefficients ā, ā,..., ā 2 n can be computed by fast algorithm, usually called ANF Transform. This algorithm is derived in different ways, but its versions are similar to each other. The vector ā = (ā, ā,..., ā 2 n ), obtained after ANFT is denoted by A f, or by [A f ] when it is considered as a vector-column. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

16 2. Basic notions and preliminary results So, if f F n and TT (f ) = (f, f,... f 2 n ), then: [A f ] = M n. [f ], and [f ] = M n. [A f ] over F 2. The matrix M n is defined recursively, as well as by Kronecker product: M = ( ) ( Mn O, M n = n M n M n ), or M n = M M n = n M, where M n is the corresponding transformation matrix of dimension 2 n 2 n, and O n is a 2 n 2 n zero matrix. Furthermore M n = Mn over F 2 and hence the forward and the inverse ANFT are performed in the same way so we consider only the forward ANFT. The pseudocode of our algorithm (referred here as Algorithm ) is given below. i= V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

17 2. Basic notions and preliminary results Algorithm ANF_Transform (f, n) : blocksize 2: for step = to n do 3: source {initial position of the first source block} 4: while source < 2 n do 5: target source + blocksize {init. pos. of the first target block} 6: for i = to blocksize do 7: f [target + i] f [target + i] XOR f [source + i] 8: end for 9: source source + 2 blocksize {beg. of the next source block} : end while : blocksize 2 blocksize 2: end for 3: return f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

18 2. Basic notions and preliminary results Notes about Algorithm : the elements of the array f are bytes and they are numbered starting from ; every value of the TT(f) is stored in a separate byte as a Boolean value true or false; the result A f is obtained in the same array; the precise estimation of the time complexity is Θ(n.2 n ), whereas many authors give an estimation O(n.2 n ) for analogous algorithms. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

19 3. Fast implementation of the ANFT We note that an implementation of ANFT, based on the bitwise representation of Boolean function, is possible because of: f and A f F n. 2 The sizes of blocks, XOR-ed to other blocks in the algorithm, are powers of 2, as well as the sizes of the computer words for representation of integers. So the source and the target blocks occupy parts of a computer word or some adjacent computer words their number is also a power of 2. 3 All necessary operations are available as fast processor instructions shifts, bitwise XOR, AND, etc. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

20 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

21 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

22 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

23 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f step 2 f 2 V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

24 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f step 2 f 2 V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

25 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f step 2 f 2 step 3 A f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

26 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f step 2 f 2 step 3 A f V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

27 3. Fast implementation of the ANFT Example (The butterfly diagram) Let us consider the function f (x, x 2, x 3 ) = (,,,,,,, ). The steps, performed by Algorithm, are illustrated as usually by its butterfly (signal-flow) diagram: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f step 2 f 2 step 3 A f = a = a = a 2 = a 3 = a 4 = a 5 = a 6 = a 7 V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

28 3. Fast implementation of the ANFT Example (The bitwise operations on each step) Following Eq. () we obtain the ANF: f (x, x 2, x 3 ) = x 3 x 2 x 3 x x x 2 x x 2 x 3. Let us consider the bitwise implementation. First step: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f Step Variables/operators Values/results Input f. m V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

29 3. Fast implementation of the ANFT Example (The bitwise operations on each step) Following Eq. () we obtain the ANF: f (x, x 2, x 3 ) = x 3 x 2 x 3 x x x 2 x x 2 x 3. Let us consider the bitwise implementation. First step: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step temp Step Variables/operators Values/results Input f. m. temp= f AND m V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

30 3. Fast implementation of the ANFT Example (The bitwise operations on each step) Following Eq. () we obtain the ANF: f (x, x 2, x 3 ) = x 3 x 2 x 3 x x x 2 x x 2 x 3. Let us consider the bitwise implementation. First step: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step temp Step Variables/operators Values/results Input f. m. temp= f AND m.2 temp= temp SHR V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

31 3. Fast implementation of the ANFT Example (The bitwise operations on each step) Following Eq. () we obtain the ANF: f (x, x 2, x 3 ) = x 3 x 2 x 3 x x x 2 x x 2 x 3. Let us consider the bitwise implementation. First step: (x, x 2, x 3 ) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) f step f Step Variables/operators Values/results Input f. m. temp= f AND m.2 temp= temp SHR.3 f=f XOR temp V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

32 3. Fast implementation of the ANFT Example (The bitwise operations on each step) Step Variables or operators Values or results Input f. m (XAA). temp = f AND m.2 temp = temp SHR.3 f = f XOR temp 2. m 2 (XCC) 2. temp = f AND m temp = temp SHR f = f XOR temp 3. m 3 (XF) 3. temp = f AND m temp = temp SHR f = f XOR temp Output A f = f Table: Step-by-step bitwise ANFT V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

33 3. Fast implementation of the ANFT Example (The bitwise operations on each step) We obtained again A f = () and hence the same ANF: f (x, x 2, x 3 ) = x 3 x 2 x 3 x x x 2 x x 2 x 3. So, for any f F 3, the bitwise ANFT performs the same steps We unify them in the following 3 operators in C language: f^= (f & m)>>; f^= (f & m2)>>2; f^= (f & m3)>>4; Generally we have 3.4 = 2 operations. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

34 3. Fast implementation of the ANFT Table: The masks for 4 and 5 variables. Number of variables Masks 4 (XAAAA) (XCCCC) (XFF) (XFF) 5 XAAAAAAAA XCCCCCCCC XFFFF XFFFF XFFFF The masks for 6 variables can be obtained analogously. We shall see them further. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

35 3. Fast implementation of the ANFT Thus we considered the first case when the bitwise representation of f occupies one computer word (of, 2, 4 or 8 bytes). The ANFT is computed by 4.n operations only. The second case when f F n and n > 6. We use a bitwise representation of f as an array of 2 n 6 computer words of size 2 6 = 64 bits. So the space complexity is Θ(2 n 6 ). The fast ANFT performs two main steps: Step ) Bitwise ANFT on each computer word, as it was described above. Since we have 2 additional assignments, we obtain exactly 4n + 2 operations for one computer word. So Θ((4n + 2).2 n 6 ) operations will be performed. Step 2) The usual ANFT (as in Algorithm ) on whole computer words. Here the number of operations is Θ((n 6).2 n 7 ) V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

36 3. Fast implementation of the ANFT Therefore the total time complexity of the fast ANFT is Θ((4n + 2).2 n 6 ) + Θ((n 6).2 n 7 ) = Θ((9n 2).2 n 7 ). The correctness of the fast ANFT follows by the notes Jump to notes in the beginning of this section and also by the correctness of Algorithm, since the fast ANFT does the same, but in an optimized way. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

37 3. Fast implementation of the ANFT The C code of the fast ANFT typedef unsigned long long ull; const ull m= XAAAAAAAAAAAAAAAA, m2= XCCCCCCCCCCCCCCCC, m3= XFFFFFFFF, m4= XFFFFFFFF, m5= XFFFFFFFF, m6= XFFFFFFFF; const int num_of_vars= 8; //number of variables const int num_of_steps= num_of_vars - 6; //for Step (2) of ANFT const int num_of_comp_words= <<num_of_steps; //=4 for 8 vars void ANF (ull f[]) { // Step - bitwise ANF on computer words for (int k= ; k < num_of_comp_words; k++) { ull temp= f[k]; temp ^= (temp & m)>>; temp ^= (temp & m2)>>2; temp ^= (temp & m3)>>4; temp ^= (temp & m4)>>8; temp ^= (temp & m5)>>6; temp ^= (temp & m6)>>32; f[k]= temp; } V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

38 3. Fast implementation of the ANFT // Step 2 int blocksize= ; for (int step= ; step <= num_of_steps; step++) { int source= ; //init. pos. of the first source block while (source < num_of_comp_words) { int target= source + blocksize; for (int i= ; i < blocksize; i++) { f[target + i] = f[target + i] ^ f[source + i]; } source += 2*blocksize; //beginning of next source bl. } blocksize *= 2; } return; } V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

39 4. Experimental results and conclusions In order to compare the real time complexities of the usual byte-wise implementation of ANFT and the fast ANFT we conduct a sequence of tests under the following conditions: Hardware parameters Intel Pentium CPU G44, 3.3 GHz, 4GB RAM. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

40 4. Experimental results and conclusions In order to compare the real time complexities of the usual byte-wise implementation of ANFT and the fast ANFT we conduct a sequence of tests under the following conditions: Hardware parameters Intel Pentium CPU G44, 3.3 GHz, 4GB RAM. 2 Software parameters Windows OS, Code::Blocks 3.2 IDE (the programs are created as C + + console apps, compiled in Release mode and executed without Internet connection). V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

41 4. Experimental results and conclusions In order to compare the real time complexities of the usual byte-wise implementation of ANFT and the fast ANFT we conduct a sequence of tests under the following conditions: Hardware parameters Intel Pentium CPU G44, 3.3 GHz, 4GB RAM. 2 Software parameters Windows OS, Code::Blocks 3.2 IDE (the programs are created as C + + console apps, compiled in Release mode and executed without Internet connection). 3 Methodology of testing: all tests are performed 3 times and their running times are taken in average; the time for reading from file, for converting the input to array of bytes (for the byte-wise ANFT), etc. is excluded; for every test the obtained ANFs from the byte-wise ANFT and the fast ANFT were compared for matching; the following running times are for execution of the byte-wise ANFT and the fast ANFT only. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

42 4. Experimental results and conclusions For all 2 32 Boolean functions of 5 variables, the byte-wise ANFT runs in sec., whereas the fast ANFT runs in 3.88 secons so it is more than 8 times faster. For the other tests we created 4 files with 6, 7, 8 and 9 integers, randomly generated in 64-bits computer words. They were used as input data, i.e. as TT vectors of functions. The results in the following table concern the largest file (of size.4 GB). V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

43 4. Experimental results and conclusions Running times in seconds for: Number of variables Number of functions 9 9 /4 9 /6 9 /64 9 /24 Byte-wise ANFT 7,993 7, ,666 28, ,22 Fast ANFT 5,357 6,699 8,985,925 2,893 Ratio: 32,8: 25,494: 26,7: 25,662: 28,7: Table: Experimental results about the byte-wise ANFT and the fast ANFT The theoretical time complexity for the fast ANFT shows that it is at least 8 times faster than the byte-wise ANFT. The experimental results show that the fast ANFT is at least 2 times faster for smaller input files and this ratio grows when the file size increases. As Table 3 shows, the fast ANFT is more than 25 times faster than the byte-wise ANFT for the largest test file. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

44 4. Experimental results and conclusions We recall that our main goal is the fast computing of the algebraic degree of S-boxes. The first step fast computing of the ANFs of Boolean functions was represented here. Its natural continuation a parallel implementation is already done by Dushan Bikov in his PhD thesis (its defense will be soon). The second step is the fast computing of the algebraic degree of an S-box. Now we work on some ideas by applying bitwise representations and operations to do this faster. V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

45 Thanks! Thank you for your attention! V. Bakoev (FMI, VTU) Fast Implementation of the ANFT OCRT, / 29

A Combined Encryption Compression Scheme Using Chaotic Maps

A Combined Encryption Compression Scheme Using Chaotic Maps BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 13, No 2 Sofia 2013 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.2478/cait-2013-0016 A Combined Encryption Compression

More information

CUBE-TYPE ALGEBRAIC ATTACKS ON WIRELESS ENCRYPTION PROTOCOLS

CUBE-TYPE ALGEBRAIC ATTACKS ON WIRELESS ENCRYPTION PROTOCOLS CUBE-TYPE ALGEBRAIC ATTACKS ON WIRELESS ENCRYPTION PROTOCOLS George W. Dinolt, James Bret Michael, Nikolaos Petrakos, Pantelimon Stanica Short-range (Bluetooth) and to so extent medium-range (WiFi) wireless

More information

A Method for Construction of Orthogonal Arrays 1

A Method for Construction of Orthogonal Arrays 1 Eighth International Workshop on Optimal Codes and Related Topics July 10-14, 2017, Sofia, Bulgaria pp. 49-54 A Method for Construction of Orthogonal Arrays 1 Iliya Bouyukliev iliyab@math.bas.bg Institute

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 Advance Encryption Standard (AES) Rijndael algorithm is symmetric block cipher that can process data blocks of 128 bits, using cipher keys with lengths of 128, 192, and 256

More information

An implementation of hash table for classification of combinatorial objects

An implementation of hash table for classification of combinatorial objects An implementation of hash table for classification of combinatorial objects Mariya Dzhumalieva-Stoeva, Venelin Monev Faculty of Mathematics and Informatics, Veliko Tarnovo University Mariya Dzhumalieva-Stoeva,

More information

Random Permutations, Random Sudoku Matrices and Randomized Algorithms

Random Permutations, Random Sudoku Matrices and Randomized Algorithms Random Permutations, Random Sudoku Matrices and Randomized Algorithms arxiv:1312.0192v1 [math.co] 1 Dec 2013 Krasimir Yordzhev Faculty of Mathematics and Natural Sciences South-West University, Blagoevgrad,

More information

Minimum Cycle Bases of Halin Graphs

Minimum Cycle Bases of Halin Graphs Minimum Cycle Bases of Halin Graphs Peter F. Stadler INSTITUTE FOR THEORETICAL CHEMISTRY AND MOLECULAR STRUCTURAL BIOLOGY, UNIVERSITY OF VIENNA WÄHRINGERSTRASSE 17, A-1090 VIENNA, AUSTRIA, & THE SANTA

More information

Computing the Minimum Hamming Distance for Z 2 Z 4 -Linear Codes

Computing the Minimum Hamming Distance for Z 2 Z 4 -Linear Codes Computing the Minimum Hamming Distance for Z 2 Z 4 -Linear Codes Marta Pujol and Mercè Villanueva Combinatorics, Coding and Security Group (CCSG) Universitat Autònoma de Barcelona (UAB) VIII JMDA, Almería

More information

Speeding Up Evaluation of Powers and Monomials

Speeding Up Evaluation of Powers and Monomials Speeding Up Evaluation of Powers and Monomials (Extended Abstract) Hatem M. Bahig and Hazem M. Bahig Computer Science Division, Department of Mathematics, Faculty of Science, Ain Shams University, Cairo,

More information

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.

More information

CLIP - A Crytographic Language with Irritating Parentheses

CLIP - A Crytographic Language with Irritating Parentheses CLIP - A Crytographic Language with Irritating Parentheses Author: Duan Wei wd2114@columbia.edu Yi-Hsiu Chen yc2796@columbia.edu Instructor: Prof. Stephen A. Edwards July 24, 2013 Contents 1 Introduction

More information

Bits and Bytes. Why bits? Representing information as bits Binary/Hexadecimal Byte representations» numbers» characters and strings» Instructions

Bits and Bytes. Why bits? Representing information as bits Binary/Hexadecimal Byte representations» numbers» characters and strings» Instructions Bits and Bytes Topics Why bits? Representing information as bits Binary/Hexadecimal Byte representations» numbers» characters and strings» Instructions Bit-level manipulations Boolean algebra Expressing

More information

Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode

Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode Int. J. Nonlinear Anal. Appl. 5 (2014) No. 2, 60-66 ISSN: 2008-6822 (electronic) http://www.ijnaa.semnan.ac.ir Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode

More information

Bitwise Operations Related to a Combinatorial Problem on Binary Matrices

Bitwise Operations Related to a Combinatorial Problem on Binary Matrices I.J.Modern Education and Computer Science, 2013, 4, 19-24 Published Online May 2013 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijmecs.2013.04.03 Bitwise Operations Related to a Combinatorial Problem

More information

WEINER FILTER AND SUB-BLOCK DECOMPOSITION BASED IMAGE RESTORATION FOR MEDICAL APPLICATIONS

WEINER FILTER AND SUB-BLOCK DECOMPOSITION BASED IMAGE RESTORATION FOR MEDICAL APPLICATIONS WEINER FILTER AND SUB-BLOCK DECOMPOSITION BASED IMAGE RESTORATION FOR MEDICAL APPLICATIONS ARIFA SULTANA 1 & KANDARPA KUMAR SARMA 2 1,2 Department of Electronics and Communication Engineering, Gauhati

More information

On Universal Cycles of Labeled Graphs

On Universal Cycles of Labeled Graphs On Universal Cycles of Labeled Graphs Greg Brockman Harvard University Cambridge, MA 02138 United States brockman@hcs.harvard.edu Bill Kay University of South Carolina Columbia, SC 29208 United States

More information

Keywords :Avalanche effect,hamming distance, Polynomial for S-box, Symmetric encryption,swapping words in S-box

Keywords :Avalanche effect,hamming distance, Polynomial for S-box, Symmetric encryption,swapping words in S-box Efficient Implementation of Aes By Modifying S-Box Vijay L Hallappanavar 1, Basavaraj P Halagali 2, Veena V Desai 3 1 KLES s College of Engineering & Technology, Chikodi, Karnataka 2 V S M Institute of

More information

Properly even harmonious labelings of disconnected graphs

Properly even harmonious labelings of disconnected graphs Available online at www.sciencedirect.com ScienceDirect AKCE International Journal of Graphs and Combinatorics 12 (2015) 193 203 www.elsevier.com/locate/akcej Properly even harmonious labelings of disconnected

More information

Page 1. Where Have We Been? Chapter 2 Representing and Manipulating Information. Why Don t Computers Use Base 10?

Page 1. Where Have We Been? Chapter 2 Representing and Manipulating Information. Why Don t Computers Use Base 10? Where Have We Been? Class Introduction Great Realities of Computing Int s are not Integers, Float s are not Reals You must know assembly Memory Matters Performance! Asymptotic Complexity It s more than

More information

Fast algorithm for generating ascending compositions

Fast algorithm for generating ascending compositions manuscript No. (will be inserted by the editor) Fast algorithm for generating ascending compositions Mircea Merca Received: date / Accepted: date Abstract In this paper we give a fast algorithm to generate

More information

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have been red in the sequence up to and including v i (s) is deg(v)? s(v), and by the induction hypothesis this sequence

More information

Improved Attack on Full-round Grain-128

Improved Attack on Full-round Grain-128 Improved Attack on Full-round Grain-128 Ximing Fu 1, and Xiaoyun Wang 1,2,3,4, and Jiazhe Chen 5, and Marc Stevens 6, and Xiaoyang Dong 2 1 Department of Computer Science and Technology, Tsinghua University,

More information

DESIGNING S-BOXES FOR CIPHERS RESISTANT TO DIFFERENTIAL CRYPTANALYSIS (Extended Abstract)

DESIGNING S-BOXES FOR CIPHERS RESISTANT TO DIFFERENTIAL CRYPTANALYSIS (Extended Abstract) DESIGNING S-BOXES FOR CIPHERS RESISTANT TO DIFFERENTIAL CRYPTANALYSIS (Extended Abstract) CARLISLE M. ADAMS Bell-Northern Research, Ltd., P.O. Box 3511 Station C, Ottawa, Ontario, Canada, KI Y 4117 STAFFORD

More information

Computation with No Memory, and Rearrangeable Multicast Networks

Computation with No Memory, and Rearrangeable Multicast Networks Discrete Mathematics and Theoretical Computer Science DMTCS vol. 16:1, 2014, 121 142 Computation with No Memory, and Rearrangeable Multicast Networks Serge Burckel 1 Emeric Gioan 2 Emmanuel Thomé 3 1 ERMIT,

More information

Arithmetic and Bitwise Operations on Binary Data

Arithmetic and Bitwise Operations on Binary Data Arithmetic and Bitwise Operations on Binary Data CSCI 2400: Computer Architecture ECE 3217: Computer Architecture and Organization Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides

More information

On the Use of Autocorrelation Coefficients in the Identification of Three-Level Decompositions

On the Use of Autocorrelation Coefficients in the Identification of Three-Level Decompositions On the Use of Autocorrelation Coefficients in the Identification of Three-Level Decompositions J. Rice Department of Math & Computer Science University of Lethbridge Lethbridge, Alberta, Canada rice@cs.uleth.ca

More information

Recap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam

Recap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam Multimedia Programming 2004 Lecture 2 Erwin M. Bakker Joachim Rijsdam Recap Learning C++ by example No groups: everybody should experience developing and programming in C++! Assignments will determine

More information

PARALLEL ANALYSIS OF THE RIJNDAEL BLOCK CIPHER

PARALLEL ANALYSIS OF THE RIJNDAEL BLOCK CIPHER PARALLEL ANALYSIS OF THE RIJNDAEL BLOCK CIPHER Philip Brisk, Adam Kaplan, Majid Sarrafzadeh Computer Science Department, University of California Los Angeles 3532C Boelter Hall, Los Angeles, CA 90095-1596

More information

The Single Cycle T-functions

The Single Cycle T-functions The Single Cycle T-functions Zhaopeng Dai 1,2 and Zhuojun Liu 1 1 Academy of Mathematics and Systems Science, Chinese Academy of Sciences, China, Beijing, 100190 2 Graduate University of the Chinese Academy

More information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics Numbers & Number Systems Introduction Numbers and Their Properties Multiples and Factors The Division Algorithm Prime and Composite Numbers Prime Factors

More information

Bits, Words, and Integers

Bits, Words, and Integers Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are

More information

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and #include The Use of printf() and scanf() The Use of printf()

More information

On Binary Generalized Topological Spaces

On Binary Generalized Topological Spaces General Letters in Mathematics Vol. 2, No. 3, June 2017, pp.111-116 e-issn 2519-9277, p-issn 2519-9269 Available online at http:// www.refaad.com On Binary Generalized Topological Spaces Jamal M. Mustafa

More information

Cryptography and Network Security

Cryptography and Network Security Cryptography and Network Security Spring 2012 http://users.abo.fi/ipetre/crypto/ Lecture 6: Advanced Encryption Standard (AES) Ion Petre Department of IT, Åbo Akademi University 1 Origin of AES 1999: NIST

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

More information

L3: Representations of functions

L3: Representations of functions L3: Representations of functions Representations of Boolean functions Boolean expression Two level sum of product form, factorized form Truth tables Karnaugh maps Cubes (MIN,MAX) notation positional cube

More information

CSCI 2212: Intermediate Programming / C Chapter 15

CSCI 2212: Intermediate Programming / C Chapter 15 ... /34 CSCI 222: Intermediate Programming / C Chapter 5 Alice E. Fischer October 9 and 2, 25 ... 2/34 Outline Integer Representations Binary Integers Integer Types Bit Operations Applying Bit Operations

More information

Programming in C++ 5. Integral data types

Programming in C++ 5. Integral data types Programming in C++ 5. Integral data types! Introduction! Type int! Integer multiplication & division! Increment & decrement operators! Associativity & precedence of operators! Some common operators! Long

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Analysis of the Use of Whirlpool s S-box, S1 and S2 SEED s S- box in AES Algorithm with SAC Test Novita Angraini, Bety Hayat Susanti, Magfirawaty

Analysis of the Use of Whirlpool s S-box, S1 and S2 SEED s S- box in AES Algorithm with SAC Test Novita Angraini, Bety Hayat Susanti, Magfirawaty Information Systems International Conference (ISICO), 2 4 December 2013 Analysis of the Use of Whirlpool s S-box, S1 and S2 SEED s S- box in AES Algorithm with SAC Test Novita Angraini, Bety Hayat Susanti,

More information

Bits and Bytes January 13, 2005

Bits and Bytes January 13, 2005 15-213 The Class That Gives CMU Its Zip! Topics Bits and Bytes January 13, 25 Why bits? Representing information as bits Binary / Hexadecimal Byte representations» Numbers» Characters and strings» Instructions

More information

On Algebraic Expressions of Generalized Fibonacci Graphs

On Algebraic Expressions of Generalized Fibonacci Graphs On Algebraic Expressions of Generalized Fibonacci Graphs MARK KORENBLIT and VADIM E LEVIT Department of Computer Science Holon Academic Institute of Technology 5 Golomb Str, PO Box 305, Holon 580 ISRAEL

More information

Research Article Improvements in Geometry-Based Secret Image Sharing Approach with Steganography

Research Article Improvements in Geometry-Based Secret Image Sharing Approach with Steganography Hindawi Publishing Corporation Mathematical Problems in Engineering Volume 2009, Article ID 187874, 11 pages doi:10.1155/2009/187874 Research Article Improvements in Geometry-Based Secret Image Sharing

More information

1 Definition of Reduction

1 Definition of Reduction 1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem

More information

Design of an Efficient Architecture for Advanced Encryption Standard Algorithm Using Systolic Structures

Design of an Efficient Architecture for Advanced Encryption Standard Algorithm Using Systolic Structures Design of an Efficient Architecture for Advanced Encryption Standard Algorithm Using Systolic Structures 1 Suresh Sharma, 2 T S B Sudarshan 1 Student, Computer Science & Engineering, IIT, Khragpur 2 Assistant

More information

CSE 20 DISCRETE MATH. Fall

CSE 20 DISCRETE MATH. Fall CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam

More information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees. Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

CSE 20 DISCRETE MATH. Winter

CSE 20 DISCRETE MATH. Winter CSE 20 DISCRETE MATH Winter 2017 http://cseweb.ucsd.edu/classes/wi17/cse20-ab/ Final exam The final exam is Saturday March 18 8am-11am. Lecture A will take the exam in GH 242 Lecture B will take the exam

More information

Ensuring information security through 123-bit recursive substitution of bits through prime-nonprime detection of sub-stream (RSBP)

Ensuring information security through 123-bit recursive substitution of bits through prime-nonprime detection of sub-stream (RSBP) Journal of Scientific & Industrial Research 584 Vol. 68, July 2009, pp. 584-591 J SCI IND RES VOL 68 JULY 2009 Ensuring information security through 123-bit recursive substitution of bits through prime-nonprime

More information

3. Java - Language Constructs I

3. Java - Language Constructs I Names and Identifiers A program (that is, a class) needs a name public class SudokuSolver {... 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations,

More information

DEPARTMENT OF MATHS, MJ COLLEGE

DEPARTMENT OF MATHS, MJ COLLEGE T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,

More information

AGENDA Binary Operations CS 3330 Samira Khan

AGENDA Binary Operations CS 3330 Samira Khan AGENDA Binary Operations CS 3330 Logistics Review from last Lecture Samira Khan University of Virginia Jan 31, 2017 Binary Operations Logical Operations Bitwise Operations Examples 2 Feedbacks Quizzes

More information

Cryptology complementary. Finite fields the practical side (1)

Cryptology complementary. Finite fields the practical side (1) Cryptology complementary Finite fields the practical side (1) Pierre Karpman pierre.karpman@univ-grenoble-alpes.fr https://www-ljk.imag.fr/membres/pierre.karpman/tea.html 2018 03 15 Finite Fields in practice

More information

Bitwise Data Manipulation. Bitwise operations More on integers

Bitwise Data Manipulation. Bitwise operations More on integers Bitwise Data Manipulation Bitwise operations More on integers bitwise operators ex Bitwise operators on fixed-width bit vectors. AND & OR XOR ^ NOT ~ 01101001 & 01010101 01000001 01101001 01010101 01101001

More information

Boolean Algebra & Digital Logic

Boolean Algebra & Digital Logic Boolean Algebra & Digital Logic Boolean algebra was developed by the Englishman George Boole, who published the basic principles in the 1854 treatise An Investigation of the Laws of Thought on Which to

More information

JAVA OPERATORS GENERAL

JAVA OPERATORS GENERAL JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

More information

About parallelization of an algorithm for the maximum clique problem 1

About parallelization of an algorithm for the maximum clique problem 1 Seventh International Workshop on Optimal Codes and Related Topics September 6-12, 2013, Albena, Bulgaria pp. 53-58 About parallelization of an algorithm for the maximum clique problem 1 Iliya Bouyukliev

More information

Binary Arithmetic CS 64: Computer Organization and Design Logic Lecture #2

Binary Arithmetic CS 64: Computer Organization and Design Logic Lecture #2 Binary Arithmetic CS 64: Computer Organization and Design Logic Lecture #2 Ziad Matni Dept. of Computer Science, UCSB Adding this Class The class is full I will not be adding more ppl L Even if others

More information

Rough Connected Topologized. Approximation Spaces

Rough Connected Topologized. Approximation Spaces International Journal o Mathematical Analysis Vol. 8 04 no. 53 69-68 HIARI Ltd www.m-hikari.com http://dx.doi.org/0.988/ijma.04.4038 Rough Connected Topologized Approximation Spaces M. J. Iqelan Department

More information

Keccak discussion. Soham Sadhu. January 9, 2012

Keccak discussion. Soham Sadhu. January 9, 2012 Keccak discussion Soham Sadhu January 9, 2012 Keccak (pronounced like Ketchak ) is a cryptographic hash function designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche. Keccak is

More information

Tiling with fences. 16:00 Wednesday 26th October 2016, Room 3303, MUIC. Michael A. Allen. Physics Department, Mahidol University, Bangkok

Tiling with fences. 16:00 Wednesday 26th October 2016, Room 3303, MUIC. Michael A. Allen. Physics Department, Mahidol University, Bangkok Tiling with fences 16:00 Wednesday 26th October 2016, Room 3303, MUIC Michael A. Allen Physics Department, Mahidol University, Bangkok We look at tiling an n-board (a linear array of n square cells of

More information

Digital Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Digital Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Digital Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)

More information

CSCI2467: Systems Programming Concepts

CSCI2467: Systems Programming Concepts CSCI2467: Systems Programming Concepts Slideset 2: Information as Data (CS:APP Chap. 2) Instructor: M. Toups Spring 2018 Course updates datalab out today! - due after Mardi gras... - do not wait until

More information

C Language Programming

C Language Programming Experiment 2 C Language Programming During the infancy years of microprocessor based systems, programs were developed using assemblers and fused into the EPROMs. There used to be no mechanism to find what

More information

PROPERLY EVEN HARMONIOUS LABELINGS OF DISJOINT UNIONS WITH EVEN SEQUENTIAL GRAPHS

PROPERLY EVEN HARMONIOUS LABELINGS OF DISJOINT UNIONS WITH EVEN SEQUENTIAL GRAPHS Volume Issue July 05 Discrete Applied Mathematics 80 (05) PROPERLY EVEN HARMONIOUS LABELINGS OF DISJOINT UNIONS WITH EVEN SEQUENTIAL GRAPHS AUTHORS INFO Joseph A. Gallian*, Danielle Stewart Department

More information

Computer Organization & Systems Exam I Example Questions

Computer Organization & Systems Exam I Example Questions Computer Organization & Systems Exam I Example Questions 1. Pointer Question. Write a function char *circle(char *str) that receives a character pointer (which points to an array that is in standard C

More information

SECTION II: LANGUAGE BASICS

SECTION II: LANGUAGE BASICS Chapter 5 SECTION II: LANGUAGE BASICS Operators Chapter 04: Basic Fundamentals demonstrated declaring and initializing variables. This chapter depicts how to do something with them, using operators. Operators

More information

Beginning C Programming for Engineers

Beginning C Programming for Engineers Beginning Programming for Engineers R. Lindsay Todd Lecture 6: Bit Operations R. Lindsay Todd () Beginning Programming for Engineers Beg 6 1 / 32 Outline Outline 1 Place Value Octal Hexadecimal Binary

More information

Lecture Notes on Ints

Lecture Notes on Ints Lecture Notes on Ints 15-122: Principles of Imperative Computation Frank Pfenning Lecture 2 August 26, 2010 1 Introduction Two fundamental types in almost any programming language are booleans and integers.

More information

Worst case examples of an exterior point algorithm for the assignment problem

Worst case examples of an exterior point algorithm for the assignment problem Discrete Optimization 5 (2008 605 614 wwwelseviercom/locate/disopt Worst case examples of an exterior point algorithm for the assignment problem Charalampos Papamanthou a, Konstantinos Paparrizos b, Nikolaos

More information

Mapping Algorithms to Hardware By Prawat Nagvajara

Mapping Algorithms to Hardware By Prawat Nagvajara Electrical and Computer Engineering Mapping Algorithms to Hardware By Prawat Nagvajara Synopsis This note covers theory, design and implementation of the bit-vector multiplication algorithm. It presents

More information

arxiv: v2 [math.co] 29 May 2013

arxiv: v2 [math.co] 29 May 2013 arxiv:1301.5100v2 [math.co] 29 May 2013 Bitwise operations related to a combinatorial problem on binary matrices Krasimir Yankov Yordzhev Abstract Some techniques for the use of bitwise operations are

More information

A NOVEL SECURED BOOLEAN BASED SECRET IMAGE SHARING SCHEME

A NOVEL SECURED BOOLEAN BASED SECRET IMAGE SHARING SCHEME VOL 13, NO 13, JULY 2018 ISSN 1819-6608 2006-2018 Asian Research Publishing Network (ARPN) All rights reserved wwwarpnjournalscom A NOVEL SECURED BOOLEAN BASED SECRET IMAGE SHARING SCHEME Javvaji V K Ratnam

More information

COURSE STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING HELD ON JULY TO BE EFFECTIVE FROM THE ACADEMIC YEAR

COURSE STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING HELD ON JULY TO BE EFFECTIVE FROM THE ACADEMIC YEAR COURSE STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING HELD ON JULY- 2000 TO BE EFFECTIVE FROM THE ACADEMIC YEAR 2000-2001 MCA SEMESTER -1 Scheme of evaluation Max. Marks Min. Marks to

More information

Fast Image Matching on Web Pages

Fast Image Matching on Web Pages Fast Image Matching on Web Pages HAZEM M. EL-BAKRY Faculty of Computer Science & Information Systems, Mansoura University, EGYPT E-mail: helbakry20@yahoo.com NIKOS MASTORAKIS Technical University of Sofia,

More information

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within

More information

Parallel Implementation of the NIST Statistical Test Suite

Parallel Implementation of the NIST Statistical Test Suite Parallel Implementation of the NIST Statistical Test Suite Alin Suciu, Iszabela Nagy, Kinga Marton, Ioana Pinca Computer Science Department Technical University of Cluj-Napoca Cluj-Napoca, Romania Alin.Suciu@cs.utcluj.ro,

More information

An Implementation of a 5-term GFSR Random Number Generator for Parallel Computations

An Implementation of a 5-term GFSR Random Number Generator for Parallel Computations The Eighth International Symposium on Operations Research and Its Applications (ISORA 9) Zhangjiajie, China, September 2 22, 29 Copyright 29 ORSC & APORC, pp. 448 452 An Implementation of a 5-term GFSR

More information

Math 443/543 Graph Theory Notes

Math 443/543 Graph Theory Notes Math 443/543 Graph Theory Notes David Glickenstein September 3, 2008 1 Introduction We will begin by considering several problems which may be solved using graphs, directed graphs (digraphs), and networks.

More information

ISSN: Page 320

ISSN: Page 320 A NEW METHOD FOR ENCRYPTION USING FUZZY SET THEORY Dr.S.S.Dhenakaran, M.Sc., M.Phil., Ph.D, Associate Professor Dept of Computer Science & Engg Alagappa University Karaikudi N.Kavinilavu Research Scholar

More information

Why Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation

Why Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation Lecture 2 Bits and Bytes Topics! Why bits?! Representing information as bits " Binary/Hexadecimal " Byte representations» numbers» characters and strings» Instructions! Bit-level manipulations " Boolean

More information

On the sum of graphic matroids Csongor György Csehi Supervisor: András Recski

On the sum of graphic matroids Csongor György Csehi Supervisor: András Recski On the sum of graphic matroids Csongor György Csehi Supervisor: András Recski BME 203.05.08. Abstract There is a conjecture that if the sum of graphic matroids is not graphic then it is nonbinary. Some

More information

GROUP DECISION MAKING FOR SELECTION OF K-BEST ALTERNATIVES

GROUP DECISION MAKING FOR SELECTION OF K-BEST ALTERNATIVES Доклади на Българската академия на науките Comptes rendus de l Académie bulgare des Sciences Tome 69, No 2, 2016 SCIENCES ET INGENIERIE Automatique et informatique GROUP DECISION MAKING FOR SELECTION OF

More information

Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded

Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded Cemil Dibek Tınaz Ekim Pinar Heggernes Abstract We determine the maximum number of edges that a claw-free

More information

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION 6.1 INTRODUCTION Fuzzy logic based computational techniques are becoming increasingly important in the medical image analysis arena. The significant

More information

Bits, Bytes and Integers

Bits, Bytes and Integers Bits, Bytes and Integers Computer Systems Organization (Spring 2016) CSCI-UA 201, Section 2 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran

More information

The Cartesian product of cycles C n1, C n2,, C ns, denoted C n1 C n2 C ns can be viewed as the Cayley graph of Abelian group Z n1 Z n2 Z ns

The Cartesian product of cycles C n1, C n2,, C ns, denoted C n1 C n2 C ns can be viewed as the Cayley graph of Abelian group Z n1 Z n2 Z ns Vertex-magic edge Z 2nm -labeling of C n C m Dalibor Froncek, University of Minnesota Duluth James McKeown, University of Miami John McKeown, University of Minnesota Duluth Michael McKeown, University

More information

Unlabeled equivalence for matroids representable over finite fields

Unlabeled equivalence for matroids representable over finite fields Unlabeled equivalence for matroids representable over finite fields November 16, 2012 S. R. Kingan Department of Mathematics Brooklyn College, City University of New York 2900 Bedford Avenue Brooklyn,

More information

BITS, BYTES, AND INTEGERS

BITS, BYTES, AND INTEGERS BITS, BYTES, AND INTEGERS CS 045 Computer Organization and Architecture Prof. Donald J. Patterson Adapted from Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition ORIGINS

More information

On the computational complexity of the domination game

On the computational complexity of the domination game On the computational complexity of the domination game Sandi Klavžar a,b,c Gašper Košmrlj d Simon Schmidt e e Faculty of Mathematics and Physics, University of Ljubljana, Slovenia b Faculty of Natural

More information

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 33 Data Representation, Part 1 CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Number Representation Hindu-Arabic numerals developed by Hindus starting in

More information

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Basic Operators Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

More information

Computing Science 114 Solutions to Midterm Examination Tuesday October 19, In Questions 1 20, Circle EXACTLY ONE choice as the best answer

Computing Science 114 Solutions to Midterm Examination Tuesday October 19, In Questions 1 20, Circle EXACTLY ONE choice as the best answer Computing Science 114 Solutions to Midterm Examination Tuesday October 19, 2004 INSTRUCTOR: I E LEONARD TIME: 50 MINUTES In Questions 1 20, Circle EXACTLY ONE choice as the best answer 1 [2 pts] What company

More information

Problem Solving & C M. Tech. (CS) 1st year, 2014

Problem Solving & C M. Tech. (CS) 1st year, 2014 Problem Solving & C M. Tech. (CS) 1st year, 2014 Arijit Bishnu arijit@isical.ac.in Indian Statistical Institute, India. July 24, 2014 Outline 1 C as an imperative language 2 sizeof Operator in C 3 Use

More information

ENHANCED AES ALGORITHM FOR STRONG ENCRYPTION

ENHANCED AES ALGORITHM FOR STRONG ENCRYPTION ENHANCED AES ALGORITHM FOR STRONG ENCRYPTION V. Sumathy & C. Navaneethan Assistant Professor, Department of CSE, Kingston Engineering College, Vellore, Tamil Nadu, India ABSTRACT In this paper we present

More information

A geometric non-existence proof of an extremal additive code

A geometric non-existence proof of an extremal additive code A geometric non-existence proof of an extremal additive code Jürgen Bierbrauer Department of Mathematical Sciences Michigan Technological University Stefano Marcugini and Fernanda Pambianco Dipartimento

More information

An Improved Upper Bound for the Sum-free Subset Constant

An Improved Upper Bound for the Sum-free Subset Constant 1 2 3 47 6 23 11 Journal of Integer Sequences, Vol. 13 (2010), Article 10.8.3 An Improved Upper Bound for the Sum-free Subset Constant Mark Lewko Department of Mathematics University of Texas at Austin

More information

Computer Architecture /

Computer Architecture / Computer Architecture 02-201 / 02-601 The Conceptual Architecture of a Computer PC CPU register 0 register 1 register 2 registers hold small amounts of data for processing by the CPU Reading / writing

More information

But first, encode deck of cards. Integer Representation. Two possible representations. Two better representations WELLESLEY CS 240 9/8/15

But first, encode deck of cards. Integer Representation. Two possible representations. Two better representations WELLESLEY CS 240 9/8/15 Integer Representation Representation of integers: unsigned and signed Sign extension Arithmetic and shifting Casting But first, encode deck of cards. cards in suits How do we encode suits, face cards?

More information