Stream Ciphers process message bit by bit (as a stream) have a pseudo random streamkey combined (XOR) with plaintext bit by bit Similar to one-time pad, but pseudo-rand. key instead of random key randomness of streamkey completely destroys statistically properties in message Ci = Mi XOR StreamKeyi but must never reuse stream key otherwise can recover messages

Schreiber, Schwöbbermeyer [12] proposed flexible pattern finder (FPF) in a system Mavisto.[23] It exploits downward closure , applicable for frequency concepts F2 and F3. The downward closure property asserts that the frequency for sub-graphs decrease monotonically by increasing the size of sub-graphs; but it does not hold necessarily for frequency concept F1. FPF is based on a pattern tree (see figure) consisting of nodes that represents different graphs (or patterns), where the parent is a sub-graph of its children nodes; i.e., corresp. graph of each pattern tree’s node is expanded by adding a new edge of its parent node. At first, FPF enumerates and maintains info of all matches of a sub-graph at the root of the pattern tree. Then builds child nodes of previous node by adding 1 edge supported by a matching edge in target graph, tries to expand all of previous info about matches to the new sub-graph (child node).[In next step, it decides whether the frequency of the current pattern is lower than a predefined threshold or not. If it is lower and if downward closure holds, FPF can abandon that path and not traverse further in this part of the tree; as a result, unnecessary computation is avoided. This procedure is continued until there is no remaining path to traverse. It does not consider infrequent sub-graphs and tries to finish the enumeration process as soon as possible; therefore, it only spends time for promising nodes in the pattern tree and discards all other nodes. As an added bonus, the pattern tree notion permits FPF to be implemented and executed in a parallel manner since it is possible to traverse each path of the pattern tree independently. But, FPF is most useful for frequency concepts F2 and F3, because downward closure is not applicable to F1. Still the pattern tree is still practical for F1 if the algorithm runs in parallel. It has no limitation on motif size, which makes it more amenable to improvements. ESU (FANMOD) Sampling bias of Kashtan et al. [9] provided great impetus for designing better algs for NM discovery, Even after weighting scheme, this method imposed an undesired overhead on the running time as well a more complicated impl. It supports visual options and is time efficient. But it doesn’t allow searching for motifs of size 9. Wernicke [10] RAND-ESU is better than jfinder, based on the exact enumeration algorithm ESU, has been implemented as an app called FANMOD.[10] Rand-esu is a discovery alg applicable for both directed and undirected networks. It effectively exploits an unbiased node sampling, and prevents overcounting sub-graphs. RAND-ESU uses DIRECT for determining sub-graph significance instead of an ensemble of random networks as a Null-model. DIRECT estimates sub-graph # w/oexplicitly generating random networks.[10] Empirically, DIRECT is more efficient than random network ensemble for sub-graphs with a very low concentration. But classical Null-model is faster than DIRECT for highly concentrated sub-graphs.[3][10] ESU alg: We show how this exact algorithm can be modified efficiently to RAND-ESU that estimates sub-graphs concentrations. The algorithms ESU and RAND-ESU are fairly simple, and hence easy to implement. ESU first finds the set of all induced sub-graphs of size k, let Sk be this set. ESU can be implemented as a recursive function; the running of this function can be displayed as a tree-like structure of depth k, called the ESU-Tree (see figure). Each of the ESU-Tree nodes indicate the status of the recursive function that entails two consecutive sets SUB and EXT. SUB refers to nodes in the target network that are adjacent and establish a partial sub-graph of size |SUB|≤k. If |SUB|=k, alg has found induced complete sub-graph, Sk=SUB ∪Sk. If |SUB|v} graphs of size 3 in the target graph. call ExtendSubgraph({v}, VExtension, v) endfor Leaves: set S3 or all of size-3 induced sub-graphs of the target graph (a). ESUtree nodes incl 2 adjoining sets: adjacent ExtendSubgraph(VSubgraph, VExtension, v) nodes called SUB and EXT=all adjacent if |VSubG|=k output G[VSubG] return 1 SUB node and where their numerical While VExt≠∅ do Remove arbitrary vertex w from VExt labels > SUB nodes labels. EXT set is VExtension′←VExtension∪{u∈Nexcl(w,VSubgraph)|u>v} utilized by the alg to expand a SUB set call ExtendSubgraph(VSubgraph ∪ {w}, VExtension′, v) until it reaches a desired size placed at return lowest level of ESU-Tree (or its leaves).

Symmetric-Key Cryptology Also known as single-key, private-key, one-key and secret-key Method of encoding where both the sender and receiver of a message hold the same key which is needed to decode the message, and involving the use of block ciphers and stream ciphers. Encoding through Block Ciphers – Uses a fixed-length groups of bits, known as a block. Will take a plaintext as an input and using a secret key encode the text, and output ciphertext of the same bit size as the input Encoding through Stream Ciphers - plaintext digits are encrypted one at a time, with the transformation of successive digits varying during the encryption

Random number functions Table 7.3–1 Command Description rand Generates a single uniformly distributed random number between 0 and 1. rand(n) Generates an n n matrix containing uniformly distributed random numbers between 0 and 1. rand(m,n) Generates an m n matrix containing uniformly distributed random numbers between 0 and 1. s = rand(’state’) Returns a 35-element vector s containing the current state of the uniformly distributed generator. rand(’state’,s) Sets the state of the uniformly distributed generator to s. Resets the uniformly distributed generator to its initial state. rand(’state’,j) Resets the uniformly distributed generator to state j, for integer j. rand(’state’,sum(100*clock)) Resets the uniformly distributed generator to a different state each time it is executed. rand(’state’,0) 7-22

ONE-TIME PAD • One-time pad is a simple idea of encryption that provides perfect security. • Every bit of a one-time pad key is used only once to encrypt a bit of the message and later this bit is discarded. • The sender encrypts x by simply sending x ⊕ k. The receiver can recover the message x from y = x ⊕ k by XORing y once again with k • The ciphertext is distributed uniformly regardless of the plaintext message encrypted. • One-time pad is not a practical solution when we need to securely exchange information of a big size.

• Common security tools • AES-CTR mode 1 – Confidentiality & integrity scheme 2 – Hardware security management 3 – Security cost AES-GCM: Asolution counter based 4 – End to end checking • Fast Integrity Checking with AESGCM • Confidentiality & integrity in action mode with a low with latency integrity • Comparison previous work IV || @ 32 || IV96 || 96 || @32 TS TS32 32 128 bit 128 bit TS+ TS+ 1 1 128 bit IV || @ 32 || IV96 || 96 || @32 (TS+1) (TS+1)32 32 128 bit 128-bit 128-bit AES AES 128 bit 128-bit 128-bit AES AES 128 bit Plaintext Plaintext 1 1 128 bit 128 bit Plaintext Plaintext 2 2 128 bit ENCRYPTION & DECRYPTION CIRCUITRY 128 bit Ciphertext Ciphertext 1 1 Ciphertext Ciphertext 2 2 128 bit 128 bit Mult MultHH 128 bit 0064 || Len(C) 64 64 || Len(C)64 Mult MultHH 128 bit 128 bit 128 bit AUTHENTICATION CIRCUITRY Mult MultHH 128 bit Tag Tag 12