Security Engineering. Ross Anderson

Чтение книги онлайн.

Читать онлайн книгу Security Engineering - Ross Anderson страница 88

Security Engineering - Ross  Anderson

Скачать книгу

is also known as backward security. A variant is autokeying where the principals update a key by hashing it with the messages they have exchanged since the last key change: upper K Subscript i plus 1 Baseline equals h left-parenthesis upper K Subscript i Baseline comma upper M Subscript i Baseline 1 Baseline comma upper M Subscript i Baseline 2 Baseline comma ellipsis right-parenthesis. If an attacker now compromises one of their systems and steals the key, then as soon as they exchange a message which he can't observe or guess, security will be recovered; again, the chain of compromise is broken. This property is known as forward security. It was first used in banking in EFT payment terminals in Australia [208, 210]. The use of asymmetric cryptography allows a slightly stronger form of forward security, namely that as soon as a compromised terminal exchanges a message with an uncompromised one which the opponent doesn't control, security can be recovered even if the message is in plain sight. I'll describe how this works next.

      The commonly used building blocks in asymmetric cryptography, public-key encryption and digital signature are based on number theory. I'll give a brief overview here, and look in more detail at some of the mechanisms in Part 2 when I discuss applications.

      The basic idea is to make the security of the cipher depend on the difficulty of solving a mathematical problem that's known to be hard, in the sense that a lot of people have tried to solve it and failed. The two problems used in almost all real systems are factorization and discrete logarithm.

      5.7.1 Cryptography based on factoring

      In RSA, the encryption key is a modulus upper N which is hard to factor (take upper N equals p q for two large randomly chosen primes p and q, say of 1024 bits each) plus a public exponent e that has no common factors with either p minus 1 or q minus 1. The private key is the factors p and q, which are kept secret. Where upper M is the message and upper C is the ciphertext, encryption is defined by

upper C identical-to upper M Superscript e Baseline left-parenthesis mod upper N right-parenthesis

      Decryption is the reverse operation:

upper M identical-to left-parenthesis mod upper N right-parenthesis

      Whoever knows the private key – the factors p and q of upper N – can easily calculate left-parenthesis mod upper N right-parenthesis. As phi left-parenthesis upper N right-parenthesis equals left-parenthesis p minus 1 right-parenthesis left-parenthesis q minus 1 right-parenthesis and e has no common factors with

Скачать книгу