 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
View full slide show View full slide show 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
View full slide show 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
View full slide show Crossbar 7 1-bit 16-bit 16-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 16 1-bit 16-bit iterations 16-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 16-bit 1-bit 16-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 16-bit 1-bit 16-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit 2-bit Input Neurons
View full slide show 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.
View full slide show ŌĆó 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
View full slide show