jueves, 25 de octubre de 2012

Report 3

in this homework im going to talk about the stream cipher Sapphire.


¿What is a stream cipher?

A stream cipher is a type of symmetric encryption algorithm. Stream ciphers can be designed to be exceptionally fast, much faster than any block cipher

While block ciphers operate on large blocks of data, stream ciphers typically operate on smaller units of plaintext, usually bits. The encryption of any particular plaintext with a block cipher will result in the same ciphertext when the same key is used. With a stream cipher, the transformation of these smaller plaintext units will vary, depending on when they are encountered during the encryption process.

"THE SAPPHIRE"

Overview of the Sapphire II Stream Cipher:

The Sapphire II Stream Cipher is designed to have the following properties:

•  Useful for generation of cryptographic check values as well as protecting message privacy.

•  Accepts a variable length key for strength control.

•  Strong enough to justify at least a 64 bit key for balanced security. Further study is
recommended to see if this is, in fact, the case.

•  Small enough to be built into other applications with several keys active at once.The Sapphire II Stream Cipher Page 4

•  Key setup fast enough to support frequent key change operations but slow enough to discourage brute force attack on the key.

•  Fast enough to not significantly impact the speed of file read & write operations on most current platforms.
•  Portable among common computers and efficient in C, C++, and Pascal.

•  Operates on one 8-bit byte at a time.

•  Include both cipher text and plain text feedback (for both optimal data hiding and value in creation of cryptographic check values).

•  Acceptable performance as a pure pseudorandom number generator.

•  Allows some key re-use without severe security impacts.

Origins:
The Sapphire II Stream Cipher is a port of Swords C++ implementation of Michael Paul Johnson's 2 January 1995 public domain cipher

About:
The Sapphire II Stream Cipher is a reasonably fast, compact, portable algorithm that is useful for encryption, authentication, and pseudorandom number generation. This algorithm fills a niche that makes it uniquely qualified in a variety of respects to fill some common needs for security. The balancing act between speed, size, portability, security, versatility, and exportability make the Sapphire II Stream Cipher a good choice for many applications

how it Works:

Encryption:

Each encryption operation involves updating the index values, moving (up to) 5 bytes
around in the permutation vector, selecting an output byte, and adding the output byte bitwise modulo-2 (exclusive-or) to the plain text byte to produce the cipher text byte. The index values are incremented by different rules. The index called rotor just increases by one (modulo 256) each time. Ratchet increases by the value in the permutation vector pointed to by rotor. Avalanche increases by the value in the permutation vector pointed to by another byte in the permutation vector pointed to by the last cipher text byte. The last plain text and the last cipher text bytes are also kept as index variables.


Decryption:

Decryption is the almost same as encryption, except for the assignments to last_plain and last_cipher, which are swapped. The return value is the plain text byte instead of the cipher text byte.

attacks and vulnerabilities:

The Sapphire II Stream Cipher differs from the original Sapphire
Stream Cipher in that it has been made more robust against an adaptive chosen plain text attack.

1 comentario:

  1. Demasiado breve, sin ejemplo y ni referencias pusiste :( 4 pts y eso ya es generoso.

    ResponderEliminar