Subscribe by Email


Showing posts with label Computation. Show all posts
Showing posts with label Computation. Show all posts

Sunday, March 10, 2013

What is meant by Quantum Cryptography?


The quantum mechanical effects when used for carrying out cryptography tasks are called the quantum cryptography. This technology is also used for breaking the cryptographic systems. And the quantum mechanical effects used include:
1. The quantum computation and
2. The quantum communication

Some very popular examples of uses of quantum cryptography are as follows:
1. For the secure exchange of the quantum key distribution or key
2. Use of quantum computers that used for breaking in to the systems using signature schemes such as ElGamal and RSA and public – key encryption.

The major advantage of quantum cryptography is that by using it, a number of cryptographic tasks are completed that are almost impossible to be completed through the classical communication i.e., the non – quantum effects.

Applications of Quantum Cryptography


1. Quantum key distribution:
- This is the most widely used application.
- It can be described as the use of quantum communication for establishing a key that is shared by two parties (usually referred to as ‘Alice’ and ‘bob’) without involvement of a third party (called Eve) knowing anything regarding the key, even if it eavesdrop on the communication between the two parties.
This happens as follows:
- The bits of the key are encoded by Alice as quantum data and are sent to Bob.
- Now if Eve eavesdrops, the message will be disturbed, making Alice and Bob know about it.
- Thus, we can say that this is a form of encrypted communication.
- Further, the QKD’s security is proven mathematically without restricting the eavesdropper’s abilities.
- In CKD (classical key distribution) this is not possible.
- This is commonly known as the ‘unconditional security’.
- However, the laws of quantum mechanics also apply and there is a need for Alice and Bob to authenticate each other. - It should not be possible for Eve to impersonate as Alice or Bob.
- This can lead to man – in – the – middle – attack.

2. Quantum commitment:
- This was another task that the researchers tried to achieve with the unconditional security offered by QKD.
- Quantum commitment is actually a scheme in which apart Alice can fix a certain value i.e., to commit where it cannot be changed by Alice anymore and it is ensured that Bob won’t learn anything about it, until and unless it is decided by Alice to be revealed to Bob.
- The most common use of these schemes is in the cryptographic protocols.
- Oblivious transfers can be performed by constructing an unconditionally secure protocol from a quantum channel and commitment.
- With such transfers any distributed computations can be implemented securely.

3. Bounded – and noisy – quantum – storage model (BQSM):
- This model provides a possible way for constructing quantum commitment and OTs that unconditionally secure.
- This model assumes that a known constant Q limits the amount of quantum data stored by an adversary.
- However, no limit is imposed up on the classical data.
Idea behind this model is:
- The number of quantum bits exchanged by the involving parties is more than Q.
- This amount of information cannot be stored even by a dishonest party since the memory limit of adversary if Q quantum bits.
- This will lead it to 2 options: either discard the data or measure it.
- So now the OTs can be implemented.


Sunday, October 10, 2010

What is Cyclomatic Complexity and how it is computed?

Cyclomatic complexity measures the amount of decision logic in a single software module. It provides a quantitative measure of the logical complexity of a program. It gives the number of recommended test for software. When used in the context of basis path testing method, the value computed for Cyclomatic complexity defines the number for independent paths in the basis set of a program and provides us an upper bound for the number of tests that must be conducted to ensure that all statements have been executed at least once.
An independent path is any path through the program that introduces at least one new set of processing statements or a new condition.

Control flow graphs describe the logic structure of software module. Each flow consists of nodes and edges. Nodes are computation statements or expresions.
Edges represent transfer of control between nodes.Each possible execution path of a software module has a corresponding path from the entry to the exit node of the module's control flow graph.

Computing Cyclomatic Complexity
Cyclomatic complexity has a foundation in graph theory and provides us with extremely useful software metric. Complexity is computed in one of the three ways:
- The number of regions of the flow graph corresponds to the cyclomatic complexity.
- Cyclomatic complexity, V(G), for a flow graph, G is defined as:
V(G)= E-N+2
where E is the number of flow graph edges and N is the number of flow graph nodes.
- Cyclomatic complexity, V(G) for a flow graph, G is also defined as:
V(G)= P+1
where P is the number of predicate nodes contained in the flow graph G.


Facebook activity