scispace - formally typeset
Open AccessJournal ArticleDOI

Telling humans and computers apart automatically

Reads0
Chats0
TLDR
In this paper, lazy cryptographers do AI and show how lazy they can be, and how they do it well, and why they do so poorly, and they are lazy.
Abstract
How lazy cryptographers do AI.

read more

Content maybe subject to copyright    Report

Telling Humans and Computers Apart (Automatically)
or
How Lazy Cryptographers do AI
Luis von Ahn
Manuel Blum
John Langford
If you try to get a new email account at Yahoo, you’ll be asked to prove that you’re a human
and not a computer. Why? Because a single computer program can get thousands of free email
accounts per second. And that’s bad for Yahoo. But how do you prove to a computer that you’re
a human?
Proving that you’re a human to another human can be done using an idea from the 1950s: the
Turing Test [11]. A human judge asks you a bunch of questions and decides, depending on your
answers, whether he’s talking to a human or a computer.
Proving that you’re a human to a computer is another matter. It requires a test (or a set of
tests) that computers can grade, humans can pass, but paradoxically, computers can’t pass. In our
lingo, it requires a captcha.
Gotcha!
Intuitively, a captcha is a program that can generate and grade tests that:
Computer Science Dept., Carnegie Mellon University, Pittsburgh, PA 15213. {biglou,mblum,jcl}@cs.cmu.edu
1

A) Most humans can pass
But
B) Current computer programs can’t pass.
1
The acronym is a mouthful: captcha stands for “Completely Automated Public Turing Test to
Tell Computers and Humans Apart”. The p for Public means that the code and the data used by
a captcha should be publicly available. Thus a program that can generate and grade tests that
distinguish humans from computers, but whose code or data are private, is not a captcha.
Examples
Let’s look at few examples of captchas before moving on. When reading, think about why each
of these is indeed a captcha. The code for all the programs described in this section can be found
online at http://www.captcha.net.
Gimpy. gimpy works as follows: it picks seven words out of a dictionary, and renders a
distorted image containing the words (as shown in the figure below). gimpy then presents a
test to its user, which consists of the distorted image and the directions: “type three words
appearing in the image”. Given the types of deformations that gimpy uses, most humans can
read three words from the distorted image, while current computer programs can’t.
1
The words “Most” and “Current” can be precisely defined, but the intuitive meaning is good for the purposes of
this article.
2

Bongo. Another example of a captcha is the program we call bongo.
2
bongo asks the
user to solve a visual pattern recognition problem. In particular, it displays two series of
blocks, the Left and the Right. The blocks in the Left series differ from those in the
Right, and the user must find the characteristic that sets them apart. A possible Left and
Right series are shown below:
(These two series are different because everything in the Left is drawn with thick lines, while
everything in the Right is drawn with thin lines.) After seeing the two series of blocks, the
user is presented with a single block and is asked to determine whether this block belongs to
the Right series or to the Left. The user passes the test if he or she correctly determines
the side to which the block belongs to. Try it yourself: to which side does the isolated block
belong in the figure below (answer: Right)?
2
bongo is named after M.M. Bongard, who published a book of pattern recognition problems ([2]) in 1951.
3

Pix. Yet another example of a captcha is a program that has a large database of labeled
images (such databases can be found in [6, 5]). All of these images should be pictures of
concrete objects (a horse, a table, a house, a flower, etc). The program picks an object at
random, finds 6 images of that object from its database, presents them to the user and then
asks the question “what are these pictures of?” Current computer programs should not be
able to answer this question, so pix should be a captcha.
But actually, pix, as stated, is not a captcha: it is very easy to write a program that can
answer the question “what are these images of?” Remember that all the code and data of a
captcha should be publicly available; in particular, the image database that pix uses should
be public. Hence, writing a program that can answer the question “what are these pictures
of?” is easy: search the database for the images presented and find their label. One way for
pix to become a captcha is to randomly distort the images before presenting them to the
user, in such a way that searching the database for the images is hard for current computer
programs.
Eco. eco is a sound-based captcha. The program picks a word or a sequence of numbers
at random, renders the word or the numbers into a sound clip and distorts the sound clip. It
then presents the distorted sound clip to its user and asks them to enter the contents of the
sound clip. eco is based on the gap in ability between humans and computers in recognizing
spoken language. Nancy Chan of the City University in Hong Kong has also implemented a
sound-based system of this variety [3].
It’s still an open problem to create a text-based captcha (one which doesn’t use any images or
sound clips). Brighten Godfrey [7] has worked on the issues revolving around text-based captchas.
4

Online Polls
captchas have a wide variety of applications on the web. Here’s an exmaple. Almost two years
ago, http://www.slashdot.com released an online poll asking for the best school in computer science
(a dangerous question to ask over the web!). As it is the case with most online polls, IP addresses
of voters were recorded in order to prevent single users from voting more than once. However,
students at Carnegie Mellon figured out a way to stuff the ballots using programs that voted for
CMU thousands of times. CMU’s score started growing rapidly. The next day, students at MIT
wrote their own program and the poll became a contest between voting “bots”. MIT finished with
21,156 votes, Carnegie Mellon with 21,032 and every other school with less than 1,000. And, in
fact, any other online poll suffers from this weakness against bots. But captchas offer a solution:
voters should show they are human before being allowed to vote.
Reductions to Hard AI Problems
But how do we prove that computer programs will never pass the tests generated by a captcha?
Unfortunately, we believe there is no way to prove such a strong statement: since humans can pass
the tests, proving that computer programs will never pass them would show that there exist things
that humans can do but computers can’t. We (the authors) believe that some day computers will
be as good as humans, and possibly better, in every cognitive respect.
The best we can do is to present evidence that, given the current state of technology, it is hard
to write a program that can pass the tests generated by a captcha. We can do this by proving the
following statement: Any program that passes the tests generated by a captcha can be used to solve
a hard unsolved Artificial Intelligence (AI) problem. This statement requires some explanation:
First, by “[a] program that passes the tests generated by a captcha”, we mean a program
5

Citations
More filters
Book ChapterDOI

CAPTCHA: using hard AI problems for security

TL;DR: This work introduces captcha, an automated test that humans can pass, but current computer programs can't pass; any program that has high success over a captcha can be used to solve an unsolved Artificial Intelligence (AI) problem; and provides several novel constructions of captchas, which imply a win-win situation.
Journal ArticleDOI

reCAPTCHA: Human-Based Character Recognition via Web Security Measures

TL;DR: This research explored whether human effort can be channeled into a useful purpose: helping to digitize old printed material by asking users to decipher scanned words from books that computerized optical character recognition failed to recognize.
Proceedings ArticleDOI

Recognizing objects in adversarial clutter: breaking a visual CAPTCHA

TL;DR: Efficient methods based on shape context matching are developed that can identify the word in an EZ-Gimpy image with a success rate of 92%, and the requisite 3 words in a Gimpy image 33% of the time.
Proceedings ArticleDOI

SybilLimit: A Near-Optimal Social Network Defense against Sybil Attacks

TL;DR: The novel SybilLimit protocol is presented, which leverages the same insight as SybilGuard but offers dramatically improved and near-optimal guarantees, and provides the first evidence that real-world social networks are indeed fast mixing.
Journal ArticleDOI

Efficient shape matching using shape contexts

TL;DR: It is demonstrated that shape contexts can be used to quickly prune a search for similar shapes, and shapemes are used, using vector quantization in the space of shape contexts to obtain prototypical shape pieces.
References
More filters
Book

Computing Machinery and Intelligence

TL;DR: If the meaning of the words “machine” and “think” are to be found by examining how they are commonly used it is difficult to escape the conclusion that the meaning and the answer to the question, “Can machines think?” is to be sought in a statistical survey such as a Gallup poll.
Proceedings ArticleDOI

Recognizing objects in adversarial clutter: breaking a visual CAPTCHA

TL;DR: Efficient methods based on shape context matching are developed that can identify the word in an EZ-Gimpy image with a success rate of 92%, and the requisite 3 words in a Gimpy image 33% of the time.
Proceedings ArticleDOI

Securing passwords against dictionary attacks

TL;DR: The key idea is to efficiently combine traditional password authentication with a challenge that is very easy to answer by human users, but is (almost) infeasible for automated programs attempting to run dictionary attacks.
Patent

Method for selectively restricting access to computer systems

TL;DR: In this paper, a computerized method selectively accepts access requests from a client computer connected to a server computer by a network is proposed, where the server computer receives an access request from the client computer and generates a predetermined number of random characters.
Journal ArticleDOI

Pessimal print: a reverse Turing test

TL;DR: This work proposes a variant of the Turing test using pessimal print: that is, low-quality images of machine-printed text synthesized pseudo-randomly over certain ranges of words, typefaces, and image degradations and shows experimentally that judicious choice of these ranges can ensure that the images are legible to human readers but illegible to several of the best present-day optical character recognition (OCR) machines.
Frequently Asked Questions (6)
Q1. What have the authors contributed in "Telling humans and computers apart (automatically) or how lazy cryptographers do ai" ?

The Turing Test this paper is an idea from the 1950s: a human judge asks a bunch of questions and decides, depending on his answers, whether he 's talking to a human or a computer. 

Part ofthe reason these companies can maintain their prices is because of advertisements: users see various products or brands being advertised while they shop. 

If a captcha requires private data in order to be secure, then this captcha isvulnerable to hacker attacks: once a hacker breaks into the system and finds this secret data, the captcha ceases to be secure forever. 

Notice that captchas are the ultimate tool for stealing cycles from intelligent people: malicious, intelligent programmers (writing programs that get thousands of free email accounts, etc.) can be put to work on hard unsolved AI problems. 

The porn companies can have bots that try to get free email accounts, and as soon as the bots encounter a captcha test, they simply send the test to the porn site. 

One way for pix to become a captcha is to randomly distort the images before presenting them to the user, in such a way that searching the database for the images is hard for current computer programs.•