Assignment 2
Assignment 2
1. Case Study: Identify and discuss in brief a recent Case Study of any modern
information system, application or organization where any Asymmetric Key
Cryptography Algorithm (e.g. RSA, Diffie-Hellman Key Exchange, Elliptic
Curve Cryptography etc.) is used.
First is public key cryptography. Each coin is associated with its current owner's
public ECDSA key. When you send some bitcoins to someone, you create a
message (transaction), attaching the new owner's public key to this amount of
coins, and sign it with your private key. When this transaction is broadcast to
the bitcoin network, this lets everyone know that the new owner of these coins
is the owner of the new key. Your signature on the message verifies for
everyone that the message is authentic. The complete history of transactions
is kept by everyone, so anyone can verify who is the current owner of any group
of coins.
This complete record of transactions is kept in the block chain, which is a
sequence of records called blocks. All computers in the network have a copy of
the block chain, which they keep updated by passing along new blocks to each
other. Each block contains a group of transactions that have been sent since
the previous block. In order to preserve the integrity of the block chain, each
block in the chain confirms the integrity of the previous one, all the way back to
the first one, the genesis block. Record insertion is costly because each block
must meet certain requirements that make it difficult to generate a valid block.
This way, no party can overwrite previous records by just forking the chain.
To make generating bitcoins difficult the Hash cash cost-function is used. Hash
cash is the first secure efficiently verifiable cost-function or proof-of-work
function. The beauty of hash cash is that is non-interactive and has no secret
keys that must be managed by a central server or relying party; hash cash is
as a result fully distributed and infinitely scalable. (Hash cash uses symmetric
key cryptography, namely a one-way hash cash function - typically either SHA1
or SHA-256).
In bitcoin, integrity, block-chaining, and the hash cash cost-function all
use SHA256 as the underlying cryptographic hash function.
A cryptographic hash function essentially takes input data which can be of
practically any size, and transforms it, in an effectively impossible to reverse or
to predict way, into a relatively compact string (in the case of SHA-256 the hash
is 32 bytes). Making the slightest change to the input data changes its hash
unpredictably, so nobody can create a different block of data that gives the
same hash. Therefore, by being given a compact hash, you can confirm that it
matches only an input datum, and in bitcoin the input data being a block-chain
is significantly larger than the SHA-256 hash. This way, Bitcoin blocks don't
have to contain serial numbers, as blocks can be identified by their hash, which
serves the dual purpose of identification as well as integrity verification. An
identification string that also provides its own integrity is called a self-certifying
identifier.
The hash cash difficulty factor is achieved by requiring that the hash output has
a number of leading zeros. Technically, to allow more fine-grained control than
Hash cash number of leading 0-bits method, Bitcoin extends the hash cash
solution definition by treating the hash as a large big-endian integer and
checking that the integer is below a certain threshold. The hash cash cost-
function iterates by perturbing data in the block by a nonce value, until the data
in the block hashes to produce an integer below the threshold - which takes a
lot of processing power. This low hash value for the block serves as an easily-
verifiable proof of work - every node on the network can instantly verify that the
block meets the required criteria.
With this framework, we can achieve the essential functions of the Bitcoin
system. We have verifiable ownership of bitcoins, and a distributed database
of all transactions, which prevents double spending.
2. Case Study: Identify and discuss in brief a recent Case Study of any modern
information system, application or organization where any Symmetric Key
Cryptography Algorithm (e.g. DES, 3-DES, AES etc.) is used.
Because symmetric and asymmetric encryption algorithms each have their own
strengths, modern secure file transfer protocols normally use a combination of
the two. Asymmetric key ciphers a.k.a. public key encryption algorithms are
great for key distribution and hence are used to encrypt the session key used
for symmetric encryption.