Zero Knowledge Proof

Zero-Knowledge proofs are fascinating and extremely useful constructs. Their fascinating nature is due to their seemingly contradictory definition; zero-knowledge proofs are both convincing and yet yield nothing beyond the validity of the assertion being proven. Their applicability in the domain of cryptography is vast; they are typically used to force malicious parties to behave according to a predetermined protocol. In addition to their direct applicability in Cryptography, zero-knowledge proofs serve as a good bench-mark for the study of various problems regarding cryptographic protocols (e.g., “secure composion of protocols” and the “use of of the adversary’s program within the proof of security”).

In this tutorial we will present the basic definitions and results regarding zero-knowledge as well as some recent developments regarding this notion.

The Basics

Loosely speaking, zero-knowledge proofs are proofs that yield nothing beyond the validity of the assertion. That is, a verifier obtaining such a proof only gains conviction in the validity of the assertion. This is formulated by saying that anything that is feasibly computable from a zero-knowledge proof is also feasibly computable from the (valid) assertion itself (by a so-called simulator). Variants on the basic definition include:

  • Consideration of auxiliary inputs.
  • Universal and black-box simulations.
  • Restricting attention to honest verifiers.
  • The level of similarity required of the simulation.

It is well-known that zero-knowledge proofs exist for any NP-set, provided that one-way functions exist. This result is a powerful tool in the design of cryptographic protocols, because it enables to force parties to behave according to a predetermined protocol (i.e., the protocol requires parties to provide zero-knowledge proofs of the correctness of their secret-based actions, without revealing these secrets).

Advanced Topics

We focus on two basic problems regarding zero-knowledge, which actually arise also with respect to the security of other cryptographic primitives. The first question refers to the preservation of security (i.e., zero-knowledge in our case) under various types of composition operations. We survey the known results regarding sequential, parallel and concurrent execution of (arbitrary and/or specific) zero-knowledge protocols. The main facts are:

  • Zero-knowledge (w.r.t auxiliary inputs) is closed under sequential composition.
  • In general, zero-knowledge is not closed under parallel composition. Yet, some zero-knowledge proofs (for NP) preserve their security when many copies are executed in parallel. Furthermore, some of these protocol use a constant number of rounds.
  • Some zero-knowledge proofs (for NP) preserve their security when many copies are executed concurrently, but such a result is not known for constant-round protocols.

The second basic question regarding zero-knowledge refers to the usage of the adversary’s program within the proof of security (i.e., demonstration of the zero-knowledge property). For 15 years, all known proofs of security used the adversary’s program as a black-box (i.e., a universal simulator was presented using the adversary’s program as an oracle). Furthermore, it was believed that there is no advantage in having access to the code of the adversary’s program. Consequently it was conjectured that negative results regarding black-box simulation represent an inherent limitation of zero-knowledge. This belief has been refuted recently by a zero-knowledge argument (for NP) that has important properties that are unachievable by black-box simulation.

Other topics treated in the full version of the tutorial (but not in its oral presentation) include proofs of knowledge, Non-Interactive Zero-Knowledge proofs, Statistical Zero-Knowledge, Knowledge Complexity, and the resettability of a party’s random-tape.


Some Useful Coding Reference

Imp wordpress issues:

Unicode Issue:
Permalink Issue:

Online Forums:

Tutorials and Resources on Styling Lists (exellent!)…sted_lists.html…mug/commug.html…icity_wars.html

Rollover Effects (basic) (images; no preloads)…-rollovers.html (images; no preloads)…p?showtopic=723…css_styles.asp…r-effect.shtml…overEffect.php…r-effects.html

CSS Resource Lists (forum) (loads of tutorials) (tutorials) (loads of articles; CSS and various web design)…urce_cat_id=11…Resources.html

Layouts…/onetruelayout/…youts/index.cfm…sson/boxes.html (float tutorial) (floats) (positioning)

Box Model

Drop Shadows…dows/17/18583/

Image Maps…map/index.html

Link Styles

Inspiration (Pure CSS Sites)

Other Cool Stuff (scrolling table)…e.text.wrap.htm (image wrap; very intense coding though) (browser compatibility issues)…_tricks_part_1/ (tips & tricks)…and_properties/ (CSS for print)…r_Nov3_2003.htm (CSS for print) (inheritance)

First Generation Computers


  • First generation computers are characterized by the use of vacuum tube logic.


  • The Atanasoff-Berry Computer (ABC) was the first electronic digital computer.
  • The ABC was built from 1937 to 1942 by by John V. Atanasoff and Clifford Berry at Iowa State University.
  • The ABC used binary arithmetic.


  • The Colossus computer was developed in secret by Great Brittain during World War II, and was operational in 1943.
  • Colossus was used to decode German messages.
  • The existence of Colossus was kept a secret until 1970, by which time it had been disassembled.
  • Due to the secrecy under which it was developed, almost no details of the construction or architecture of Colossus are known.


  • The Electronic Numerical Integrator and Computer (ENIAC) was developed for the U.S. Army to calculate ballistic tables.
  • ENIAC used 19,000 vacuum tubes and 1,500 mechanical relays.
  • ENIAC consumed almost 200 KW of power.
  • ENIAC performed decimal arithmetic, in contrast to the binary arithmetic performed by computers today.
  • ENIAC did not run from a stored program, but was programmed using patch cords.
  • ENIAC was completed in 1946, and was operated until 1955.
  • ENIAC cost almost $500,000.


  • The Universal Automatic Computer UNIVAC I design was begun in 1946, and the first working unit was finished in 1951.
  • The UNIVAC was the first computer designed for commercial sale.
  • The UNIVAC I had 5200 vacuum tubes, weighed 29,000 pounds, and consumed 125 kilowatts of electrical power.
  • The memory of the UNIVAC I was mercury acoustic delay lines.
  • Numbers were stored in excess-3 binary coded decimal form.

The IAS computer

IBM 701 Computer

  • The 701 was IBM’s first commercial computer.
  • The first IBM 701 system was installed in 1953.
  • The 701 was designed for scientific applications.
  • The 701 was comprised of 11 compact and connected units.
  • The 701 had a word size of 36 bits.
  • The 701 had 2048 words of electrostatic storage, and 16,192 words of magnetic drum storage.
  • The 701 had 4 magnetic tape units for secondary storage.

Brief Early Computer Timeline









Atanasoff-Berry Computer


vacuum tubes






Electronic Numerical Integrator And Computer


vacuum tubes

vacuum tubes



Electronic Discrete Variable Automatic Computer



The Baby

Manchester Small Scale Experimental Machine


vacuum tubes




Universal Automatic Computer


vacuum tubes

mercury delay lines



Electronic Delay Storage Automatic Computer


vacuum tubes

mercury delay lines



Institute for Advanced Studies


vacuum tubes

cathode ray tubes


IBM 701


vacuum tubes

mercury delay lines

New Internet Explorer 8 Beta- What’s New?

Bookmark and Share

Six months after Beta 1 hit the streets, Microsoft releases Internet Explorer 8 Beta 2 to brave testers. The new beta includes features that make it look like a viable choice of modern browser, like a smart address bar (sound familiar?), tab grouping, private browsing, find in-page, suggested sites related to the current page, and more. Let’s take a look at what’s coming out of Redmond in the browser arena.

IE8 Beta 2’s Most Useful Features
Smart Address Bar: IE 8 beta 2 includes a Smart Address Bar, that, like Firefox 3’s “AwesomeBar,” drops down suggestions as-you-type a web site URL gleaned from your favorites, feeds, and history. Unlike Firefox, IE 8 includes headers so you can see where each suggestion comes from.

Tab Grouping: Ever open a bunch of links from a single page in new tabs, and then lose track of which tabs came from what page? IE8’s got a nifty “tab grouping” feature that colors your tabs based on their source. Here’s what a few tab groups—one from Lifehacker, one from the MSN homepage—look like.

InPrivate Browsing: What with the Smart Address Bar pulling up every site you’ve visited recently in plain view in its History suggestions, there may be times when you visit a site and have the browser forget it ever happened. IE 8 beta 2’s “InPrivate” browsing mode adds an icon to the address bar, and forgets you were ever at a web page when it’s enabled.

Continue reading “New Internet Explorer 8 Beta- What’s New?”